|
|
@@ -168,6 +168,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
168
|
168
|
throw new ServiceException("该用户未指定角色");
|
|
169
|
169
|
}
|
|
170
|
170
|
req.setUserName(SecurityUtils.getUsername());
|
|
|
171
|
+
|
|
171
|
172
|
// 根据角色查询关联的案件状态
|
|
172
|
173
|
Example example = new Example(MsCaseFlowRoleRelated.class);
|
|
173
|
174
|
example.createCriteria().andIn("roleid", roles.stream().map(SysRole::getRoleId).collect(Collectors.toList()));
|
|
|
@@ -207,6 +208,10 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
207
|
208
|
req.setRespondentIdentityNum(sysUser.getIdCard());
|
|
208
|
209
|
break;
|
|
209
|
210
|
}
|
|
|
211
|
+ if(StrUtil.equals(role.getRoleName(),"调解员")) {
|
|
|
212
|
+ req.setMediatorId(String.valueOf(sysUser.getUserId()));
|
|
|
213
|
+ break;
|
|
|
214
|
+ }
|
|
210
|
215
|
}
|
|
211
|
216
|
}
|
|
212
|
217
|
if(req.getMediationMethod()!=null){
|
|
|
@@ -333,7 +338,13 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
333
|
338
|
req.setBatchNumber(caseApplication.getBatchNumber());
|
|
334
|
339
|
}
|
|
335
|
340
|
// 生成调解申请书
|
|
336
|
|
- req.setTemplateType(TemplateTypeEnum.MEDIATION_APPLICATION.getCode());
|
|
|
341
|
+ if(affiliate.getOrganizeFlag()==0){
|
|
|
342
|
+ // 自然人
|
|
|
343
|
+ req.setTemplateType(TemplateTypeEnum.PERSON_MEDIATION_APPLICATION.getCode());
|
|
|
344
|
+ }else {
|
|
|
345
|
+ // 机构
|
|
|
346
|
+ req.setTemplateType(TemplateTypeEnum.MEDIATION_APPLICATION.getCode());
|
|
|
347
|
+ }
|
|
337
|
348
|
req.setTemplateId(String.valueOf(templateId));
|
|
338
|
349
|
|
|
339
|
350
|
caseApplicationService.generateApplication(req);
|
|
|
@@ -892,25 +903,10 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
892
|
903
|
application.setUpdateTime(new Date());
|
|
893
|
904
|
application.setBatchNumber(null);
|
|
894
|
905
|
msCaseApplicationMapper.updateByPrimaryKeySelective(application);
|
|
895
|
|
- // MsCaseFlow caseFlow = caseApplicationService.nextFlow(application.getId(), req.getCaseFlowId(),req.getLockStatus());
|
|
896
|
|
- // 给申请人被申请人发送短信
|
|
|
906
|
+ MsCaseFlow caseFlow = caseApplicationService.nextFlow(application.getId(), req.getCaseFlowId(),req.getLockStatus());
|
|
|
907
|
+ // 给被申请人发送短信
|
|
897
|
908
|
if (affiliateMap.containsKey(application.getId())) {
|
|
898
|
909
|
MsCaseAffiliate affiliate = affiliateMap.get(application.getId());
|
|
899
|
|
-
|
|
900
|
|
-// if (StrUtil.isNotEmpty(affiliate.getContactTelphoneAgent())||StrUtil.isNotEmpty(affiliate.getApplicationPhone())) {
|
|
901
|
|
-// String sendContent = "尊敬的" + affiliate.getNameAgent() + "用户,您的" + application.getCaseNum() + "案件,已成功受理,请知晓,如非本人操作,请忽略本短信";
|
|
902
|
|
-// // 给申请人发送案件受理短信 尊敬的{1}用户,您的{2}仲裁案件,已成功受理,请知晓,如非本人操作,请忽略本短信
|
|
903
|
|
-// Boolean smsFlag = SmsUtils.sendSms(application.getId(), "2073601", affiliate.getContactTelphoneAgent(), new String[]{affiliate.getNameAgent(), application.getCaseNum()});
|
|
904
|
|
-// // CaseLogUtils.insertCaseLog(application.getId(), caseFlow.getNodeId(), caseFlow.getNodeName(), "向申请人发送短信," + sendContent);
|
|
905
|
|
-// SmsSendRecord smsSendRecord = new SmsSendRecord(application.getId(), application.getCaseNum(), affiliate.getContactTelphoneAgent(), new Date(), sendContent);
|
|
906
|
|
-// if (smsFlag) {
|
|
907
|
|
-// // 发送成功
|
|
908
|
|
-// smsSendRecord.setSendStatus(YesOrNoEnum.YES.getCode());
|
|
909
|
|
-// } else {
|
|
910
|
|
-// smsSendRecord.setSendStatus(YesOrNoEnum.NO.getCode());
|
|
911
|
|
-// }
|
|
912
|
|
-// smsRecordMapper.saveSmsSendRecord(smsSendRecord);
|
|
913
|
|
-// }
|
|
914
|
910
|
// 被申请人发送短信
|
|
915
|
911
|
if (StrUtil.isNotEmpty(affiliate.getRespondentPhone())) {
|
|
916
|
912
|
String sendContent = "尊敬的用户,您的" + application.getCaseNum() + "的案件已成功提交,请登录调解系统进行缴费处理。请知晓,如非本人操作,请忽略本短信";
|
|
|
@@ -1072,7 +1068,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1072
|
1068
|
}
|
|
1073
|
1069
|
// Integer miniProgressFlag = vo.getMiniProgressFlag() == null ? MediatorTypeEnum.PC.getCode() : vo.getMiniProgressFlag();
|
|
1074
|
1070
|
// 预约,申请人预约为Null,否则为被申请人预约
|
|
1075
|
|
- Integer miniProgressFlag=null;
|
|
|
1071
|
+ Integer miniProgressFlag=YesOrNoEnum.NO.getCode();
|
|
1076
|
1072
|
List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
|
|
1077
|
1073
|
if(CollectionUtil.isNotEmpty(roles)){
|
|
1078
|
1074
|
for (SysRole role : roles) {
|
|
|
@@ -1081,7 +1077,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1081
|
1077
|
}
|
|
1082
|
1078
|
}
|
|
1083
|
1079
|
}
|
|
1084
|
|
-
|
|
|
1080
|
+ vo.setMiniProgressFlag(miniProgressFlag);
|
|
1085
|
1081
|
// 先删除已选择的调解员,在新增
|
|
1086
|
1082
|
Example mediatorExample = new Example(MsCaseMediator.class);
|
|
1087
|
1083
|
Example.Criteria mediatorCriteria = mediatorExample.createCriteria();
|
|
|
@@ -1103,7 +1099,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1103
|
1099
|
}
|
|
1104
|
1100
|
|
|
1105
|
1101
|
// 申请人预约
|
|
1106
|
|
- if (vo.getMiniProgressFlag() == null) {
|
|
|
1102
|
+ if (vo.getMiniProgressFlag() == null || vo.getMiniProgressFlag().equals( YesOrNoEnum.NO.getCode())) {
|
|
1107
|
1103
|
// 新增日志
|
|
1108
|
1104
|
CaseLogUtils.insertCaseLog(vo.getId(), currentFlow.getNodeId(), currentFlow.getCaseStatusName(), "申请人选择调解员");
|
|
1109
|
1105
|
|
|
|
@@ -1142,11 +1138,10 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1142
|
1138
|
Map<Long, SysUser> userMap = mediatorUsers.stream().collect(Collectors.toMap(SysUser::getUserId, Function.identity()));
|
|
1143
|
1139
|
Example example = new Example(MsCaseMediator.class);
|
|
1144
|
1140
|
Example.Criteria criteria = example.createCriteria();
|
|
1145
|
|
- if(vo.getMiniProgressFlag() == null) {
|
|
|
1141
|
+ if(vo.getMiniProgressFlag() == null || vo.getMiniProgressFlag().equals( YesOrNoEnum.NO.getCode())) {
|
|
1146
|
1142
|
// 申请人预约,需要查询被申请人是否预约,identity_type不为空
|
|
1147
|
1143
|
criteria.andEqualTo("type", MediatorTypeEnum.MI_NI_PROGRESS.getCode());
|
|
1148
|
1144
|
}else {
|
|
1149
|
|
- // todo PC端被申请人选择调解员时,未存到预约表,导致节点状态未改变
|
|
1150
|
1145
|
// 被申请人预约,需要查询申请人是否预约,identity_type为空
|
|
1151
|
1146
|
criteria.andEqualTo("type", MediatorTypeEnum.PC.getCode());
|
|
1152
|
1147
|
}
|
|
|
@@ -1202,12 +1197,12 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1202
|
1197
|
application.setLockStatus(null);
|
|
1203
|
1198
|
msCaseApplicationMapper.updateByPrimaryKeySelective(application);
|
|
1204
|
1199
|
// 新增日志
|
|
1205
|
|
- if(vo.getMiniProgressFlag() == null) {
|
|
1206
|
|
- CaseLogUtils.insertCaseLog(vo.getId(), nextFlow.getNodeId(), nextFlow.getCaseStatusName(), "申请人选择调解员");
|
|
1207
|
|
- }else {
|
|
1208
|
|
- CaseLogUtils.insertCaseLog(vo.getId(), nextFlow.getNodeId(), nextFlow.getCaseStatusName(), "被申请人选择调解员");
|
|
1209
|
|
-
|
|
1210
|
|
- }
|
|
|
1200
|
+// if(vo.getMiniProgressFlag() == null || vo.getMiniProgressFlag().equals( YesOrNoEnum.NO.getCode())) {
|
|
|
1201
|
+// CaseLogUtils.insertCaseLog(vo.getId(), nextFlow.getNodeId(), nextFlow.getCaseStatusName(), "申请人选择调解员");
|
|
|
1202
|
+// }else {
|
|
|
1203
|
+// CaseLogUtils.insertCaseLog(vo.getId(), nextFlow.getNodeId(), nextFlow.getCaseStatusName(), "被申请人选择调解员");
|
|
|
1204
|
+//
|
|
|
1205
|
+// }
|
|
1211
|
1206
|
|
|
1212
|
1207
|
}
|
|
1213
|
1208
|
}
|
|
|
@@ -1259,12 +1254,63 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1259
|
1254
|
application.setCaseFlowId(nextFlow.getNodeId());
|
|
1260
|
1255
|
application.setCaseStatusName(nextFlow.getCaseStatusName());
|
|
1261
|
1256
|
msCaseApplicationMapper.updateByPrimaryKeySelective(application);
|
|
1262
|
|
- // todo 发送短信
|
|
|
1257
|
+ // 根据案件id查询案件
|
|
|
1258
|
+ MsCaseApplication caseApplication = msCaseApplicationMapper.selectByPrimaryKey(application.getId());
|
|
|
1259
|
+ MsCaseAffiliate affiliate = msCaseAffiliateMapper.selectByPrimaryKey(application.getId());
|
|
|
1260
|
+ if(caseApplication==null || affiliate==null){
|
|
|
1261
|
+ throw new ServiceException("未找到该案件");
|
|
|
1262
|
+ }
|
|
|
1263
|
+ // 申请人电话
|
|
|
1264
|
+ String phone="";
|
|
|
1265
|
+ if(affiliate.getOrganizeFlag().equals(0)){
|
|
|
1266
|
+ // 自然人
|
|
|
1267
|
+ if(StrUtil.isNotEmpty(affiliate.getContactTelphoneAgent())){
|
|
|
1268
|
+ phone=affiliate.getContactTelphoneAgent();
|
|
|
1269
|
+ }else {
|
|
|
1270
|
+ phone=affiliate.getApplicationPhone();
|
|
|
1271
|
+ }
|
|
|
1272
|
+
|
|
|
1273
|
+ }else {
|
|
|
1274
|
+ phone=affiliate.getContactTelphoneAgent();
|
|
|
1275
|
+ }
|
|
|
1276
|
+
|
|
|
1277
|
+ // 申请人发送开庭日期短信
|
|
|
1278
|
+ sendHearDateSms(application,phone);
|
|
|
1279
|
+ // 被申发送开庭日期短信
|
|
|
1280
|
+ sendHearDateSms(application,affiliate.getRespondentPhone());
|
|
|
1281
|
+ // 调解员发送短信
|
|
|
1282
|
+ // 根据调解员id查询用户
|
|
|
1283
|
+ if(application.getMediatorId()!=null) {
|
|
|
1284
|
+ SysUser sysUser = sysUserMapper.selectUserById(application.getMediatorId());
|
|
|
1285
|
+ sendHearDateSms(application, sysUser.getPhonenumber());
|
|
|
1286
|
+ }
|
|
1263
|
1287
|
// 新增日志
|
|
1264
|
1288
|
CaseLogUtils.insertCaseLog(application.getId(), nextFlow.getNodeId(), nextFlow.getCaseStatusName(), "");
|
|
1265
|
1289
|
|
|
1266
|
1290
|
}
|
|
1267
|
1291
|
|
|
|
1292
|
+ /**
|
|
|
1293
|
+ * 发送开庭日期短信
|
|
|
1294
|
+ * @param application
|
|
|
1295
|
+ * @param phone
|
|
|
1296
|
+ */
|
|
|
1297
|
+ private void sendHearDateSms(MsCaseApplication application, String phone) {
|
|
|
1298
|
+ if(StrUtil.isEmpty(phone)){
|
|
|
1299
|
+ return;
|
|
|
1300
|
+ }
|
|
|
1301
|
+ // 2075447 尊敬的用户,您的{1}案件,线上调解日期已确定为{2},请知晓,如非本人操作,请忽略本短信。
|
|
|
1302
|
+ Boolean smsFlag = SmsUtils.sendSms(application.getId(), "2075447", phone, new String[]{application.getCaseNum(),application.getHearDate()});
|
|
|
1303
|
+ String sendContent = "尊敬的用户,您的" + application.getCaseNum() + "的案件,线上调解日期已确定为"+application.getHearDate()+",请知晓,如非本人操作,请忽略本短信。";
|
|
|
1304
|
+ // 新增短信记录
|
|
|
1305
|
+ SmsSendRecord smsSendRecord = new SmsSendRecord(application.getId(), application.getCaseNum(), phone, new Date(), sendContent);
|
|
|
1306
|
+ if(smsFlag){
|
|
|
1307
|
+ smsSendRecord.setSendStatus(YesOrNoEnum.YES.getCode());
|
|
|
1308
|
+ }else {
|
|
|
1309
|
+ smsSendRecord.setSendStatus(YesOrNoEnum.NO.getCode());
|
|
|
1310
|
+ }
|
|
|
1311
|
+ smsRecordMapper.saveSmsSendRecord(smsSendRecord);
|
|
|
1312
|
+ }
|
|
|
1313
|
+
|
|
1268
|
1314
|
/**
|
|
1269
|
1315
|
* 案件不予受理
|
|
1270
|
1316
|
* @param caseId
|
|
|
@@ -1389,19 +1435,19 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1389
|
1435
|
MsCaseAffiliate caseAffiliate = msCaseAffiliateMapper.selectByPrimaryKey(req.getId());
|
|
1390
|
1436
|
if (application.getMediationMethod().equals("1")) {
|
|
1391
|
1437
|
// 线上调解
|
|
|
1438
|
+ List<MsCaseAttach> attachList = req.getAttachList();
|
|
|
1439
|
+ if(CollectionUtil.isNotEmpty(attachList)) {
|
|
|
1440
|
+ // 先删除已经存在的调解书
|
|
|
1441
|
+ msCaseAttachMapper.deleteCaseAttachByCasedIdAndType(req.getId(), AnnexTypeEnum.MEDIATE_BOOK.getCode());
|
|
|
1442
|
+ for (MsCaseAttach attach : attachList) {
|
|
|
1443
|
+ attach.setCaseAppliId(req.getId());
|
|
|
1444
|
+ }
|
|
|
1445
|
+ msCaseAttachMapper.batchSave(attachList);
|
|
|
1446
|
+ }
|
|
1392
|
1447
|
Integer mediaResult = req.getMediaResult();
|
|
1393
|
|
-
|
|
1394
|
1448
|
if(mediaResult!=null){
|
|
1395
|
1449
|
if(mediaResult.intValue()==1){
|
|
1396
|
1450
|
//达成调解
|
|
1397
|
|
- if (application.getTemplateId() == null) {
|
|
1398
|
|
- return AjaxResult.error("未找到模板");
|
|
1399
|
|
- }
|
|
1400
|
|
- String templateId = String.valueOf(application.getTemplateId());
|
|
1401
|
|
- req.setTemplateId(templateId);
|
|
1402
|
|
- req.setTemplateType(TemplateTypeEnum.MEDIATE_BOOK.getCode());
|
|
1403
|
|
- AjaxResult result = generateApplication(req);
|
|
1404
|
|
- if (result != null && result.isSuccess()) {
|
|
1405
|
1451
|
List<MsCaseAttach> caseAttachList = msCaseAttachMapper.queryAnnexPathByCaseId(req.getId());
|
|
1406
|
1452
|
if (caseAttachList != null && caseAttachList.size() > 0) {
|
|
1407
|
1453
|
for (MsCaseAttach caseAttach : caseAttachList) {
|
|
|
@@ -1690,7 +1736,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1690
|
1736
|
}
|
|
1691
|
1737
|
}
|
|
1692
|
1738
|
}
|
|
1693
|
|
- }
|
|
|
1739
|
+
|
|
1694
|
1740
|
return AjaxResult.success();
|
|
1695
|
1741
|
}else if(mediaResult.intValue()==2){
|
|
1696
|
1742
|
//未达成调解
|
|
|
@@ -1764,15 +1810,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1764
|
1810
|
.body(paramsbody)
|
|
1765
|
1811
|
.execute();
|
|
1766
|
1812
|
}else if(mediaResult.intValue()==5){
|
|
1767
|
|
- //达成和解
|
|
1768
|
|
- if (application.getTemplateId() == null) {
|
|
1769
|
|
- return AjaxResult.error("未找到模板");
|
|
1770
|
|
- }
|
|
1771
|
|
- String templateId = String.valueOf(application.getTemplateId());
|
|
1772
|
|
- req.setTemplateId(templateId);
|
|
1773
|
|
- req.setTemplateType(TemplateTypeEnum.MEDIATION_AGREEMENT.getCode());
|
|
1774
|
|
- AjaxResult result = generateApplication(req);
|
|
1775
|
|
- if (result != null && result.isSuccess()) {
|
|
|
1813
|
+ // 达成和解
|
|
1776
|
1814
|
List<MsCaseAttach> caseAttachList = msCaseAttachMapper.queryAnnexPathByCaseId(req.getId());
|
|
1777
|
1815
|
if (caseAttachList != null && caseAttachList.size() > 0) {
|
|
1778
|
1816
|
for (MsCaseAttach caseAttach : caseAttachList) {
|
|
|
@@ -1984,7 +2022,6 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1984
|
2022
|
}
|
|
1985
|
2023
|
}
|
|
1986
|
2024
|
}
|
|
1987
|
|
- }
|
|
1988
|
2025
|
}
|
|
1989
|
2026
|
|
|
1990
|
2027
|
}
|
|
|
@@ -1994,6 +2031,8 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
1994
|
2031
|
if(CollectionUtil.isEmpty(attachList)){
|
|
1995
|
2032
|
return AjaxResult.error("请上传调解资料");
|
|
1996
|
2033
|
}
|
|
|
2034
|
+ // 先删除已经存在的调解书
|
|
|
2035
|
+ msCaseAttachMapper.deleteCaseAttachByCasedIdAndType(req.getId(),AnnexTypeEnum.MEDIATE_BOOK.getCode());
|
|
1997
|
2036
|
for (MsCaseAttach attach : attachList) {
|
|
1998
|
2037
|
attach.setCaseAppliId(req.getId());
|
|
1999
|
2038
|
}
|
|
|
@@ -2016,6 +2055,38 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|
2016
|
2055
|
return AjaxResult.error();
|
|
2017
|
2056
|
}
|
|
2018
|
2057
|
|
|
|
2058
|
+ /**
|
|
|
2059
|
+ * 确定会议结果
|
|
|
2060
|
+ * @param req
|
|
|
2061
|
+ * @return
|
|
|
2062
|
+ */
|
|
|
2063
|
+ @Override
|
|
|
2064
|
+ public AjaxResult confirmMeetingResult(MsCaseApplicationReq req) {
|
|
|
2065
|
+ // 查询案件是否存在
|
|
|
2066
|
+ MsCaseApplication application = msCaseApplicationMapper.selectByPrimaryKey(req.getId());
|
|
|
2067
|
+ if (application == null) {
|
|
|
2068
|
+ return AjaxResult.error("未找到案件");
|
|
|
2069
|
+ }
|
|
|
2070
|
+ if (application.getTemplateId() == null) {
|
|
|
2071
|
+ return AjaxResult.error("未找到模板");
|
|
|
2072
|
+ }
|
|
|
2073
|
+ String templateId = String.valueOf(application.getTemplateId());
|
|
|
2074
|
+ req.setTemplateId(templateId);
|
|
|
2075
|
+ // 调解结果
|
|
|
2076
|
+ Integer mediaResult = req.getMediaResult();
|
|
|
2077
|
+ if(mediaResult==1){
|
|
|
2078
|
+ // 达成调解,生成调解协议
|
|
|
2079
|
+ req.setTemplateType(TemplateTypeEnum.MEDIATE_BOOK.getCode());
|
|
|
2080
|
+
|
|
|
2081
|
+ }else if(mediaResult==5){
|
|
|
2082
|
+ // 达成和解,生成和解协议
|
|
|
2083
|
+ req.setTemplateType(TemplateTypeEnum.MEDIATION_AGREEMENT.getCode());
|
|
|
2084
|
+
|
|
|
2085
|
+ }
|
|
|
2086
|
+ AjaxResult result = generateApplication(req);
|
|
|
2087
|
+ return AjaxResult.success();
|
|
|
2088
|
+ }
|
|
|
2089
|
+
|
|
2019
|
2090
|
/**
|
|
2020
|
2091
|
* 修改庭审笔录
|
|
2021
|
2092
|
* @param attach
|