diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java index 95f6872..585df88 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java @@ -12,6 +12,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.EsignDemoException; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.WxAppletNotifyUtils; import com.ruoyi.util.FileUtil; import com.ruoyi.wisdomarbitrate.StringIdsReq; @@ -60,6 +61,16 @@ public class CaseApplicationController extends BaseController { return getDataTable(list); } + /** + * 查询批量管理案件列表 + */ + @GetMapping("/listBatch") + public TableDataInfo listBatch(CaseApplication caseApplication) { + startPage(); + List list = caseApplicationService.selectCaseApplicationListBatchByRole(caseApplication); + return getDataTable(list); + } + /** * 根据角色查询待办数量 * @return @@ -120,6 +131,19 @@ public class CaseApplicationController extends BaseController { return toAjax(caseApplicationService.submitCaseApplication(batchCaseApplication.getIds())); } + /** + * 批量提交立案申请 + */ + @Log(title = "批量提交立案申请", businessType = BusinessType.UPDATE) + @PostMapping("/submitCaseApplicationBatch") + public AjaxResult submitCaseApplicationBatch(@RequestBody BatchCaseApplication batchCaseApplication) { + if(StringUtils.isEmpty(batchCaseApplication.getBatchNumber())){ + return error("参数校验失败"); + } + return toAjax(caseApplicationService.submitCaseApplicationBatch(batchCaseApplication.getBatchNumber())); + } + + /** @@ -354,7 +378,7 @@ public class CaseApplicationController extends BaseController { - + /** * 发送房间号短信 diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java index 0a81451..72abf5a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java @@ -22,4 +22,10 @@ public class BatchCaseApplication { private Integer opinion; /** 驳回原因 */ private String caseCheckReject; + /** + * 批号 + */ + private String batchNumber; + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java index b0f0e94..3145ff4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java @@ -133,4 +133,8 @@ public interface CaseApplicationMapper { int batchSave(@Param("list")List caseApplications); int selectCasenum(@Param("userId") String userId); + + List selectAdminCaseApplicationListBatch(CaseApplication caseApplication); + + List listCaseApplicationByBatchNumber(CaseApplication caseApplication); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java index b9fa706..d0b1c3f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java @@ -136,4 +136,7 @@ public interface ICaseApplicationService { CaseAttach downloadCaseZipFile(CaseApplication caseApplication); + List selectCaseApplicationListBatchByRole(CaseApplication caseApplication); + + int submitCaseApplicationBatch(String batchNumber); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java index 841a87e..cf7c56a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java @@ -2540,7 +2540,169 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { return caseAttach; } + @Override + public List selectCaseApplicationListBatchByRole(CaseApplication caseApplication) { + return caseApplicationMapper.selectAdminCaseApplicationListBatch(caseApplication); + } + @Override + @Transactional + public int submitCaseApplicationBatch(String batchNumber) { + int rows = 0; + CaseApplication caseApplicationsel = new CaseApplication(); + caseApplicationsel.setBatchNumber(batchNumber); + caseApplicationsel.setCaseStatus(CaseApplicationConstants.CASE_APPLICATION); + List caseApplications = caseApplicationMapper.listCaseApplicationByBatchNumber(caseApplicationsel); + List ids = caseApplications.stream().map(CaseApplication::getId).collect(Collectors.toList()); + if(caseApplications!=null&&caseApplications.size()>0){ + Map applicationMap = caseApplications.stream().collect(Collectors.toMap(CaseApplication::getId, Function.identity(), (n1, n2) -> n2)); + List caseAffiliates = caseAffiliateMapper.selectCaseAffiliateByCaseIds(ids); + // 转换为Map>形式 + Map> caseAffiliateMap = caseAffiliates.stream().collect(Collectors.groupingBy(CaseAffiliate::getCaseAppliId)); + for (Long id : ids) { + // 查询案件信息,做必填校验,校验不通过,提示,不能提交 + StringBuilder errorMsg = new StringBuilder(); + // 必填校验 + CaseApplication caseApplication = applicationMap.get(id); + String caseNum = caseApplication.getCaseNum(); + // 基本字段校验 + if(caseApplication!=null) { + for (String baseColumn : baseColumns) { + if(StrUtil.isEmpty( ObjectFieldUtils.getValue(caseApplication, baseColumn))){ + errorMsg.append(getColumnstr(baseColumn)).append("不能为空,"); +// throw new ServiceException("必填字段未填写,请完善案件信息!"); + } + } + // 校验人员 + if(CollectionUtil.isNotEmpty(caseAffiliates)){ + List affiliateList = caseAffiliateMap.get(id); + if(CollectionUtil.isNotEmpty(affiliateList)){ + for (CaseAffiliate caseAffiliate : affiliateList) { + if(caseAffiliate.getIdentityType()==1){ + // 校验申请人 + for (String applicAffiliateColumn : applicAffiliateColumns) { + if(StrUtil.isEmpty( ObjectFieldUtils.getValue(caseAffiliate, applicAffiliateColumn))){ + errorMsg.append(getColumnstr(applicAffiliateColumn)).append("不能为空,"); +// throw new ServiceException("必填字段未填写,请完善案件信息!"); + } + } + }else { + // 校验被申请人 + for (String applicAffiliateColumn : dectborAffiliateColumns) { + if(StrUtil.isEmpty( ObjectFieldUtils.getValue(caseAffiliate, applicAffiliateColumn))){ + errorMsg.append(getColumnstr(applicAffiliateColumn)).append("不能为空,"); +// throw new ServiceException("必填字段未填写,请完善案件信息!"); + } + } + } + } + } + } + } + if(StringUtils.isNotEmpty(errorMsg.toString())){ + throw new ServiceException("案件编号" + caseNum + errorMsg.toString()+"请完善案件信息!"); + } + + CaseApplication application = new CaseApplication(); + application.setId(id); + //提交立案申请 + application.setCaseStatus(CaseApplicationConstants.CASE_CHECK); + rows += caseApplicationMapper.submitCaseApplication(application); + // 新增日志 + insertCaseLog(application.getId(), CaseApplicationConstants.CASE_CHECK, ""); + } + + }else{ + throw new ServiceException("这个批号没有批量提交的案件"); + } + + return rows; + } + + private String getColumnstr(String columnname) { + String columnstr = ""; + switch (columnname) { + case "caseName": + columnstr = "案件名称"; + break; + case "caseSubjectAmount": + columnstr = "案件标的"; + break; + case "loanStartDate": + columnstr = "借款开始日期"; + break; + case "loanEndDate": + columnstr = "借款结束日期"; + break; + case "contractNumber": + columnstr = "合同编号"; + break; + case "claimInterestOwed": + columnstr = "申请人主张欠利息"; + break; + case "claimLiquidDamag": + columnstr = "申请人主张违约金"; + break; + case "claimPrinciOwed": + columnstr = "申请人主张欠本金"; + break; + case "arbitratClaims": + columnstr = "申请人仲裁请求及事实和理由"; + break; + case "name": + columnstr = "姓名"; + break; + case "identityNum": + columnstr = "身份证号"; + break; + case "contactTelphone": + columnstr = "联系电话"; + break; + case "contactAddress": + columnstr = "联系地址"; + break; + case "workTelphone": + columnstr = "单位电话"; + break; + case "workAddress": + columnstr = "单位地址"; + break; + case "residenAffili": + columnstr = "住所"; + break; + case "compLegalPerson": + columnstr = "法定代表人"; + break; + case "compLegalperPost": + columnstr = "法定代表人职位"; + break; + case "email": + columnstr = "邮箱"; + break; + case "nameAgent": + columnstr = "代理人姓名"; + break; + case "identityNumAgent": + columnstr = "代理人身份证号"; + break; + case "contactTelphoneAgent": + columnstr = "代理人联系电话"; + break; + case "contactAddressAgent": + columnstr = "代理人联系地址"; + break; + case "responSex": + columnstr = "被申请人性别"; + break; + case "responBirth": + columnstr = "被申请人出生年月日"; + break; + default: + columnstr = ""; + } + + return columnstr; + } @Override @@ -2594,9 +2756,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { //发送短信通知 1947342 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); - request.setTemplateId("1947342"); + request.setTemplateId("2033619"); // 发送开庭日期通知短信 - sendHearDateMessage(caseApplication, request, "1947342"); + sendHearDateMessage(caseApplication, request, "2033619"); // 新增日志 insertCaseLog(caseApplication.getId(), CaseApplicationConstants.MODIFY_HEARDATE, ""); @@ -2614,9 +2776,12 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication); String caseNum = caseApplicationselect.getCaseNum(); - //Date hearDate = caseApplicationselect.getHearDate(); + Date hearDate = caseApplicationselect.getHearDate(); + String hearDatestr = ""; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String hearDatestr = null; + if(hearDate!=null) { + hearDatestr = dateFormat.format(hearDate); + } String arbitratorId = caseApplicationselect.getArbitratorId(); // List arbitratorList = new ArrayList<>(); if (StringUtils.isNotEmpty(arbitratorId)) { @@ -2633,7 +2798,13 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { request.setPhone(user.getPhonenumber()); // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 String name = user.getNickName(); - request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + if (templateId.equals("2033619")) { + request.setTemplateParamSet(new String[]{name, caseNum}); + } + if (templateId.equals("1975139")) { + request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + } + Boolean aBoolean = SmsUtils.sendSms(request); //保存短信发送记录 SmsSendRecord smsSendRecord = new SmsSendRecord(); @@ -2642,8 +2813,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { smsSendRecord.setPhone(request.getPhone()); smsSendRecord.setSendTime(new Date()); String content = ""; - if (templateId.equals("1947342")) { - content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已确定为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。"; + if (templateId.equals("2033619")) { + content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,已组庭,请知晓,如非本人操作,请忽略本短信。"; } if (templateId.equals("1975139")) { content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已改为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。"; @@ -2677,7 +2848,12 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { request.setPhone(caseAffiliateselect.getContactTelphone()); // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 String name = caseAffiliateselect.getName(); - request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + if (templateId.equals("2033619")) { + request.setTemplateParamSet(new String[]{name, caseNum}); + } + if (templateId.equals("1975139")) { + request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + } Boolean aBoolean = SmsUtils.sendSms(request); //保存短信发送记录 SmsSendRecord smsSendRecord = new SmsSendRecord(); @@ -2685,7 +2861,13 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { smsSendRecord.setCaseNum(caseApplicationselect.getCaseNum()); smsSendRecord.setPhone(request.getPhone()); smsSendRecord.setSendTime(new Date()); - String content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已确定为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。"; + String content = ""; + if (templateId.equals("2033619")) { + content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,已组庭,请知晓,如非本人操作,请忽略本短信。"; + } + if (templateId.equals("1975139")) { + content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已改为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。"; + } smsSendRecord.setSendContent(content); smsSendRecord.setCreateBy(getUsername()); if (aBoolean) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java index 6d12eca..c84f938 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java @@ -152,12 +152,13 @@ public class CasePaymentServiceImpl implements ICasePaymentService { } smsRecordMapper.saveSmsSendRecord(smsSendRecord); } else { //被申请人 - Boolean aBoolean = SmsUtils.sendSms(request); + request.setPhone(affiliate.getContactTelphone()); request.setTemplateId("1952840"); // 1952840 尊敬的{1}用户,您的{2}案件{3}已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信 String name = affiliate.getName(); request.setTemplateParamSet(new String[]{name, caseName, caseNum}); + Boolean aBoolean = SmsUtils.sendSms(request); //保存短信发送记录 SmsSendRecord smsSendRecord = new SmsSendRecord(); smsSendRecord.setCaseId(caseApplication.getId()); diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml index 76756c6..e759328 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml @@ -53,6 +53,8 @@ + + @@ -851,6 +853,32 @@ order by c.case_num desc + + + + + +