diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseLogRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseLogRecordMapper.java index 8306178..af2d85a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseLogRecordMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseLogRecordMapper.java @@ -3,6 +3,7 @@ package com.ruoyi.wisdomarbitrate.mapper; import com.ruoyi.wisdomarbitrate.domain.CaseApplication; import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -13,4 +14,6 @@ public interface CaseLogRecordMapper { List selectCaseLogRecordList(CaseLogRecord caseLogRecord); int insertCaseLogRecord(CaseLogRecord caseLogRecord); + + void batchInsertRecord(@Param("list")List list); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java index ccb58e3..d879caf 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java @@ -55,7 +55,7 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService private ColumnValueLogMapper columnValueLogMapper; // 对比两个版本修改的字段,基本字段对比 private static final String[] columns = {"caseName","caseSubjectAmount","loanStartDate", "loanEndDate","contractNumber","claimInterestOwed","claimLiquidDamag", - "claimPrinciOwed","arbitratClaims","properPreser","requestRule"}; + "claimPrinciOwed","arbitratClaims","properPreser","requestRule","facts"}; // 人员字段对比 private static final String[] affiliateColumns = {"name", "identityNum","contactTelphone","contactAddress","workTelphone","workAddress","email", "nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent","residenAffili","compLegalPerson", 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 303b86f..83a13e0 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 @@ -926,6 +926,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { } caseApplication.setCreateBy(getUsername()); caseApplication.setVersion(1); + caseApplication.setId(IdWorkerUtil.getId()); // 新增立案信息 int rows = caseApplicationMapper.insertCaseApplication(caseApplication); if (rows == 0) { @@ -1010,10 +1011,11 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { // 新增案件日志表 caseApplication.setCaseAppliId(caseApplication.getId()); caseApplication.setUpdateSubmitStatus(UpdateSubmitStatus.UNCOMMITTED.getCode()); + caseApplication.setCaseLogId(IdWorkerUtil.getId()); int insertRow = caseApplicationLogMapper.insert(caseApplication); // 插入案件相关人员表日志 if (insertRow != 0 && CollectionUtil.isNotEmpty(caseAffiliates)) { - caseAffiliates.forEach(caseAffiliate -> caseAffiliate.setCaseAppliLogId(caseApplication.getId())); + caseAffiliates.forEach(caseAffiliate -> caseAffiliate.setCaseAppliLogId(caseApplication.getCaseLogId())); caseAffiliateLogMapper.batchCaseAffiliate(caseAffiliates); } @@ -1025,7 +1027,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { for (CaseAttach caseAttach : filterList) { // 查询附件表 CaseAttach attach = caseAttachMapper.queryAnnexById(caseAttach.getAnnexId()); - attach.setCaseAppliLogId(caseApplication.getId()); + attach.setCaseAppliLogId(caseApplication.getCaseLogId()); caseAttachLogMapper.save(attach); } } @@ -1033,7 +1035,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { } // 插入columnValueLog自定义字段日志表 if (CollectionUtil.isNotEmpty(columnValueList)) { - columnValueList.forEach(caseAffiliate -> caseAffiliate.setCaseAppliLogId(caseApplication.getId())); + columnValueList.forEach(caseAffiliate -> caseAffiliate.setCaseAppliLogId(caseApplication.getCaseLogId())); columnValueLogMapper.batchSave(columnValueList); } @@ -1168,10 +1170,11 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { ThreadPoolUtil.execute(() -> { try { caseApplication.setCaseAppliId(caseApplication.getId()); + caseApplication.setCaseLogId(IdWorkerUtil.getId()); int insertRow = caseApplicationLogMapper.insert(caseApplication); if (insertRow != 0) { if (CollectionUtil.isNotEmpty(caseAffiliates)) { - caseAffiliates.forEach(caseAffiliate -> caseAffiliate.setCaseAppliLogId(caseApplication.getId())); + caseAffiliates.forEach(caseAffiliate -> caseAffiliate.setCaseAppliLogId(caseApplication.getCaseLogId())); // 插入案件日志人员相关表 caseAffiliateLogMapper.batchCaseAffiliate(caseAffiliates); } @@ -1182,7 +1185,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { for (CaseAttach caseAttach : filterList) { // 查询附件表 CaseAttach attach = caseAttachMapper.queryAnnexById(caseAttach.getAnnexId()); - attach.setCaseAppliLogId(caseApplication.getId()); + attach.setCaseAppliLogId(caseApplication.getCaseLogId()); caseAttachLogMapper.save(attach); } } @@ -1190,7 +1193,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { } // 插入案件columnValueLog自定义字段表 if (CollectionUtil.isNotEmpty(caseApplication.getColumnValues())) { - caseApplication.getColumnValues().forEach(columnValue -> columnValue.setCaseAppliLogId(caseApplication.getId())); + caseApplication.getColumnValues().forEach(columnValue -> columnValue.setCaseAppliLogId(caseApplication.getCaseLogId())); columnValueLogMapper.batchSave(caseApplication.getColumnValues()); } @@ -1534,6 +1537,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseApplicationItera.setCaseStatus(CaseApplicationConstants.CASE_APPLICATION); caseApplicationItera.setCreateBy(getUsername()); caseApplicationItera.setImportFlag(1); + caseApplicationItera.setId(IdWorkerUtil.getId()); int rows = caseApplicationMapper.insertCaseApplication(caseApplicationItera); if (rows == 0) { continue; @@ -1553,7 +1557,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseApplicationItera.setCaseAppliId(caseApplicationItera.getId()); caseApplicationItera.setUpdateSubmitStatus(UpdateSubmitStatus.UNCOMMITTED.getCode()); caseApplicationItera.setVersion(1); - + caseApplicationItera.setCaseLogId(IdWorkerUtil.getId()); int insertRow = caseApplicationLogMapper.insert(caseApplicationItera); if (insertRow > 0) { caseAffiliates.forEach(caseAffiliate -> caseAffiliate.setCaseAppliLogId(caseApplicationItera.getId())); @@ -1845,9 +1849,13 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { rows = caseApplicationMapper.submitCaseApplication(caseApplication); } else if (agreeOrNotCheck.intValue() == 2) {//拒绝审核 - caseApplication.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION); + caseApplication.setCaseStatus(CaseApplicationConstants.HEAD_CHECK_ARBITRATION); + String notes=""; + if(caseApplication.getArbitrateRecord()!=null&&StrUtil.isNotEmpty(caseApplication.getArbitrateRecord().getDeptorReject())){ + notes="部门长驳回仲裁文书,驳回原因:"+caseApplication.getArbitrateRecord().getDeptorReject(); + } // 新增日志 - insertCaseLog(caseApplication.getId(), CaseApplicationConstants.VERPRIF_ARBITRATION, ""); + insertCaseLog(caseApplication.getId(), CaseApplicationConstants.HEAD_CHECK_ARBITRATION, notes); rows = caseApplicationMapper.submitCaseApplication(caseApplication); } @@ -1875,14 +1883,20 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { Integer agreeOrNotCheck = caseApplication.getAgreeOrNotCheck(); if (agreeOrNotCheck.intValue() == 1) { caseApplication.setCaseStatus(CaseApplicationConstants.CHECK_ARBITRATION); + + rows = caseApplicationMapper.submitCaseApplication(caseApplication); // 新增日志 insertCaseLog(caseApplication.getId(), CaseApplicationConstants.CHECK_ARBITRATION, ""); - rows = caseApplicationMapper.submitCaseApplication(caseApplication); } else if (agreeOrNotCheck.intValue() == 2) {//拒绝审核 caseApplication.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION); - // 新增日志 - insertCaseLog(caseApplication.getId(), CaseApplicationConstants.VERPRIF_ARBITRATION, ""); + rows = caseApplicationMapper.submitCaseApplication(caseApplication); + String notes=""; + if(caseApplication.getArbitrateRecord()!=null&&StrUtil.isNotEmpty(caseApplication.getArbitrateRecord().getArbitrateReject())){ + notes="仲裁员驳回仲裁文书,驳回原因:"+caseApplication.getArbitrateRecord().getArbitrateReject(); + } + // 新增日志 + insertCaseLog(caseApplication.getId(), CaseApplicationConstants.VERPRIF_ARBITRATION, notes); } return success(); } @@ -1895,6 +1909,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { //提交立案审查 int rows = 0; for (Long id : ids) { + String notes=""; CaseApplication caseApplication = new CaseApplication(); caseApplication.setId(id); caseApplication.setAgreeOrNotCheck(agreeOrNotCheck); @@ -1902,6 +1917,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseApplication.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT); rows += caseApplicationMapper.submitCaseApplication(caseApplication); } else if (agreeOrNotCheck == 2) {//拒绝审核 + notes="驳回立案申请,驳回原因:"+caseCheckReject; caseApplication.setCaseStatus(CaseApplicationConstants.CASE_APPLICATION); rows += caseApplicationMapper.submitCaseApplication(caseApplication); ArbitrateRecord arbitrateRecordsel = new ArbitrateRecord(); @@ -1912,13 +1928,15 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecordnew); }else { arbitrateRecordsel.setCaseCheckReject(caseCheckReject); + + arbitrateRecordMapper.insertArbitrateRecord(arbitrateRecordsel); } } // 新增日志 - insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT, ""); + insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT, notes); } @@ -2853,15 +2871,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { @Transactional @Override public AjaxResult uploadCaseZipFile(MultipartFile file, Long templateId) { - CaseApplication caseApplication=null; AjaxResult ajaxResult = caseZipImportImpl.zipImport( file, templateId); - if(ajaxResult.isSuccess()&&caseApplication!=null) { - // 新增案件基本信息表 - this.insertcaseApplication(caseApplication); - return success("导入成功"); - }else { - return ajaxResult; - } + return ajaxResult; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseLogRecordServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseLogRecordServiceImpl.java index 3305363..78ff7f5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseLogRecordServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseLogRecordServiceImpl.java @@ -34,6 +34,9 @@ public class CaseLogRecordServiceImpl implements ICaseLogRecordService { if(StrUtil.isNotEmpty(record.getContent())){ contentBuilder.append(record.getContent()); } + if(StrUtil.isNotEmpty(record.getNotes())){ + contentBuilder.append(",").append(record.getNotes()); + } record.setContent(contentBuilder.toString()); }); diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseZipImportImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseZipImportImpl.java index 36d3701..1bfa25b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseZipImportImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseZipImportImpl.java @@ -9,6 +9,7 @@ import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.enums.UpdateSubmitStatus; import com.ruoyi.common.utils.*; import com.ruoyi.common.config.RuoYiConfig; @@ -18,14 +19,13 @@ import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.thread.MultipleThreadListParam; import com.ruoyi.common.utils.thread.MultipleThreadWorkUtil; +import com.ruoyi.common.utils.thread.ThreadPoolUtil; import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.mapper.*; -import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate; -import com.ruoyi.wisdomarbitrate.domain.CaseApplication; -import com.ruoyi.wisdomarbitrate.domain.CaseAttach; -import com.ruoyi.wisdomarbitrate.domain.FatchRule; +import com.ruoyi.wisdomarbitrate.domain.*; import com.ruoyi.wisdomarbitrate.domain.vo.ColumnValue; import com.ruoyi.wisdomarbitrate.mapper.*; +import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils; import com.ruoyi.wisdomarbitrate.utils.OCRUtils; import com.ruoyi.wisdomarbitrate.utils.UnZipFileUtils; import org.apache.pdfbox.pdmodel.PDDocument; @@ -149,6 +149,10 @@ public class CaseZipImportImpl { if (fatchMap.size() <= 0) { return error("从压缩包中未抓取到内容,请检查抓取字段配置"); } + // 尊敬的{1},您的代理的案件已接入仲裁系统,复制访问https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 进入小程序进行认证注册。如非本人操作,请忽略本短信 + SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); + request.setTemplateId("1956159"); + // 新增的案件 List caseApplications = new ArrayList<>(); // 从抓取规则表取字段和字典表取基本字段,字典表的字段名塞到基本表,is_default=1自定义字段塞到columnValue @@ -181,6 +185,10 @@ public class CaseZipImportImpl { List sysDepts = new ArrayList<>(); // 案件附件 List caseAttachs = new ArrayList<>(); + //发送短信列表 + List smsSendRecordList = new ArrayList<>(); + // 短信记录 + List smsRequestList = new ArrayList<>(); /** * 用户表已存在的用户 */ @@ -192,7 +200,7 @@ public class CaseZipImportImpl { //查询出当天的案件编号的最大值 String currentDay = DateUtils.dateTime(); String caseNum = "zc" + currentDay; - maxCaseNum = caseApplicationMapper.selectCaseNumLike(caseNum, caseNum.length()); + maxCaseNum = caseApplicationMapper.selectCaseNumLike(caseNum, caseNum.length()); // 需要新增的用户 List addUsers = new ArrayList<>(); for (Long caseId : fileMap.keySet()) { @@ -218,15 +226,15 @@ public class CaseZipImportImpl { if (StrUtil.isEmpty(caseApplication.getBatchNumber())) { maxBatchNumber = caseApplicationMapper.selectBatchNumberLike(); if (maxBatchNumber == null) { - maxBatchNumber=1; + maxBatchNumber = 1; caseApplication.setBatchNumber(maxBatchNumber.toString()); } else { - maxBatchNumber=maxBatchNumber+1; - caseApplication.setBatchNumber( maxBatchNumber.toString()); + maxBatchNumber = maxBatchNumber + 1; + caseApplication.setBatchNumber(maxBatchNumber.toString()); } } // 设置编号 - String maxCaseNumStr=generateCaseNum(); + String maxCaseNumStr = generateCaseNum(); caseApplication.setCaseNum(maxCaseNumStr); caseApplication.setCreateBy(getUsername()); caseApplication.setVersion(1); @@ -248,7 +256,7 @@ public class CaseZipImportImpl { } caseApplication.setColumnValues(columnValueList); // 组装内置字段 - buildDefaultColumn(caseApplication, dictDataList, fatchMap, caseAffiliates, deptMap, sysDepts, userMap, addUsers, userRoleList); + buildDefaultColumn(caseApplication, dictDataList, fatchMap, caseAffiliates, deptMap, sysDepts, userMap, addUsers, userRoleList, smsSendRecordList, smsRequestList); for (File caseFile : fileMap.get(caseId)) { String fileUrl = caseFile.getAbsolutePath(); if (StrUtil.isEmpty(fileUrl)) { @@ -277,55 +285,95 @@ public class CaseZipImportImpl { } // 案件压缩包导入 caseApplication.setImportFlag(2); + // 组装短信 } // 多线程执行 - List execList=new ArrayList<>(); + List execList = new ArrayList<>(); if (CollectionUtil.isNotEmpty(addUsers)) { - Function,Integer> function=userMapper::batchSave; - execList.add(new MultipleThreadListParam(function,addUsers)); + Function, Integer> function = userMapper::batchSave; + execList.add(new MultipleThreadListParam(function, addUsers)); } if (CollectionUtil.isNotEmpty(userRoleList)) { - Function,Integer> function=userRoleMapper::batchUserRole; - execList.add(new MultipleThreadListParam(function,userRoleList)); + Function, Integer> function = userRoleMapper::batchUserRole; + execList.add(new MultipleThreadListParam(function, userRoleList)); } if (CollectionUtil.isNotEmpty(sysDepts)) { - Function,Integer> function=sysDeptMapper::batchSave; - execList.add(new MultipleThreadListParam(function,sysDepts)); + Function, Integer> function = sysDeptMapper::batchSave; + execList.add(new MultipleThreadListParam(function, sysDepts)); } if (CollectionUtil.isNotEmpty(caseApplications)) { - Function,Integer> function=caseApplicationMapper::batchSave; - execList.add(new MultipleThreadListParam(function,caseApplications)); - Function,Integer> functionLog=caseApplicationLogMapper::batchSave; - execList.add(new MultipleThreadListParam(functionLog,caseApplications)); + Function, Integer> function = caseApplicationMapper::batchSave; + execList.add(new MultipleThreadListParam(function, caseApplications)); + Function, Integer> functionLog = caseApplicationLogMapper::batchSave; + execList.add(new MultipleThreadListParam(functionLog, caseApplications)); } if (CollectionUtil.isNotEmpty(caseAffiliates)) { - Function,Integer> function=caseAffiliateMapper::batchCaseAffiliate; - execList.add(new MultipleThreadListParam(function,caseAffiliates)); - Function,Integer> functionLog=caseAffiliateLogMapper::batchCaseAffiliate; - execList.add(new MultipleThreadListParam(functionLog,caseAffiliates)); + Function, Integer> function = caseAffiliateMapper::batchCaseAffiliate; + execList.add(new MultipleThreadListParam(function, caseAffiliates)); + Function, Integer> functionLog = caseAffiliateLogMapper::batchCaseAffiliate; + execList.add(new MultipleThreadListParam(functionLog, caseAffiliates)); } if (CollectionUtil.isNotEmpty(caseAttachs)) { - Function,Integer> function=caseAttachMapper::batchSave; - execList.add(new MultipleThreadListParam(function,caseAttachs)); - Function,Integer> functionLog=caseAttachLogMapper::batchSave; - execList.add(new MultipleThreadListParam(functionLog,caseAttachs)); + Function, Integer> function = caseAttachMapper::batchSave; + execList.add(new MultipleThreadListParam(function, caseAttachs)); + Function, Integer> functionLog = caseAttachLogMapper::batchSave; + execList.add(new MultipleThreadListParam(functionLog, caseAttachs)); } if (CollectionUtil.isNotEmpty(columnValueList)) { - Function,Integer> function=columnValueMapper::batchSave; - execList.add(new MultipleThreadListParam(function,columnValueList)); - Function,Integer> functionLog=columnValueLogMapper::batchSave; - execList.add(new MultipleThreadListParam(functionLog,columnValueList)); + Function, Integer> function = columnValueMapper::batchSave; + execList.add(new MultipleThreadListParam(function, columnValueList)); + Function, Integer> functionLog = columnValueLogMapper::batchSave; + execList.add(new MultipleThreadListParam(functionLog, columnValueList)); } - if(CollectionUtil.isNotEmpty(execList)){ + if (CollectionUtil.isNotEmpty(execList)) { MultipleThreadWorkUtil.execListFun(execList.toArray(new MultipleThreadListParam[execList.size()])); } + if (CollectionUtil.isNotEmpty(caseApplications)) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + List logRecords = new ArrayList<>(); + + caseApplications.forEach(caseApplication -> { + CaseLogRecord operLog = new CaseLogRecord(); + // 获取当前的用户 + + if (loginUser != null) { + SysUser user = loginUser.getUser(); + operLog.setCreateBy(user.getUserName()); + operLog.setCreateNickName(user.getNickName()); + operLog.setUpdateBy(user.getUserName()); + } else { + operLog.setCreateBy("admin"); + operLog.setCreateNickName("管理员"); + operLog.setUpdateBy("admin"); + } + operLog.setCaseAppliId(caseApplication.getId()); + operLog.setCaseNode(CaseApplicationConstants.CASE_APPLICATION); + logRecords.add(operLog); + } + ); + // todo 发送短信 +// ThreadPoolUtil.execute(() -> { +// CaseLogUtils.batchInsertCaseLog(logRecords); +// // 发送短信 +// if (CollectionUtil.isNotEmpty(smsRequestList)) { +// for (SmsUtils.SendSmsRequest sendSmsRequest : smsRequestList) { +// Boolean aBoolean = SmsUtils.sendSms(request); +// } +// } +// +// } +// +// ); + } + // 案件日志 return success("导入成功"); } + /** * 获取自动编码 * @@ -339,15 +387,16 @@ public class CaseZipImportImpl { if (null == maxCaseNum) { - maxCaseNum=1; + maxCaseNum = 1; caseNum = caseNum + "001"; } else { - maxCaseNum=maxCaseNum+1; + maxCaseNum = maxCaseNum + 1; caseNum = caseNum + String.format("%03d", maxCaseNum); } return caseNum; } + public void inputChangeToFile(InputStream instream, File file) { try { OutputStream outStr = new FileOutputStream(file); @@ -527,7 +576,8 @@ public class CaseZipImportImpl { */ private void buildDefaultColumn(CaseApplication caseApplication, List dictDataList, Map fatchMap, List caseAffiliates, Map deptMap, List sysDepts, - Map userMap, List addUsers, List userRoleList) { + Map userMap, List addUsers, List userRoleList, + List smsSendRecords, List smsRequestList) { // 组装内置字段 if (CollectionUtil.isEmpty(dictDataList)) { return; @@ -544,14 +594,14 @@ public class CaseZipImportImpl { if (StrUtil.isNotEmpty(dictData.getDictLabel())) { if (dictData.getDictLabel().contains("被申请人")) { // 组装被申请人内置自段 - buildDebtorColumn(dictData, fatchMap, debtorAffiliate,caseApplication.getId()); + buildDebtorColumn(dictData, fatchMap, debtorAffiliate, caseApplication.getId()); } else if (dictData.getDictLabel().contains("申请人") || dictData.getDictLabel().contains("统一社会信用代码") || dictData.getDictLabel().contains("法定代表人") || dictData.getDictLabel().contains("委托代理人")) { // 组装申请人内置自段 - buildAffilcateColumn(dictData, fatchMap, affiliate, deptMap, sysDepts, userMap, addUsers, userRoleList,caseApplication.getId()); + buildAffilcateColumn(dictData, fatchMap, affiliate, deptMap, sysDepts, userMap, addUsers, userRoleList, caseApplication.getId(), smsSendRecords, smsRequestList); } else if (dictData.getDictLabel().contains("合同编号")) { // 合同编号 - String contractNumber = fatchMap.get("合同编号"+ Constants.PDFSTR + caseApplication.getId()); + String contractNumber = fatchMap.get("合同编号" + Constants.PDFSTR + caseApplication.getId()); if (StrUtil.isNotEmpty(contractNumber)) { // 提取字母和数字 String regx = "[^a-zA-Z0-9]"; @@ -559,11 +609,11 @@ public class CaseZipImportImpl { caseApplication.setContractNumber(replaceAll.toUpperCase()); } } else { - ObjectFieldUtils.setValue(caseApplication, dictData.getDictValue(), fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseApplication.getId())); + ObjectFieldUtils.setValue(caseApplication, dictData.getDictValue(), fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseApplication.getId())); } } else { - ObjectFieldUtils.setValue(caseApplication, dictData.getDictValue(), fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseApplication.getId())); + ObjectFieldUtils.setValue(caseApplication, dictData.getDictValue(), fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseApplication.getId())); } @@ -587,14 +637,15 @@ public class CaseZipImportImpl { */ private void buildAffilcateColumn(SysDictData dictData, Map fatchMap, CaseAffiliate affiliate, Map deptMap, List sysDepts, - Map userMap, List addUsers, List userRoleList,Long caseId) { + Map userMap, List addUsers, List userRoleList, Long caseId, + List smsSendRecords, List smsRequestList) { affiliate.setIdentityType(1); // 申请人 switch (dictData.getDictLabel()) { case "申请人姓名": - affiliate.setName((fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId))); + affiliate.setName((fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId))); if (StrUtil.isNotEmpty(affiliate.getName())) { // 组装申请机构 // 将组织机构id设为申请人名称 @@ -622,29 +673,30 @@ public class CaseZipImportImpl { } break; case "统一社会信用代码": - affiliate.setIdentityNum((fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId))); + affiliate.setIdentityNum((fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId))); break; case "法定代表人": - affiliate.setCompLegalPerson(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)); + affiliate.setCompLegalPerson(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)); break; case "法定代表人职位": - affiliate.setCompLegalperPost((fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId))); + affiliate.setCompLegalperPost((fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId))); break; case "申请人住所": - affiliate.setResidenAffili((fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId))); + affiliate.setResidenAffili((fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId))); break; case "申请人联系地址": - affiliate.setContactAddress(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)); + affiliate.setContactAddress(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)); break; case "委托代理人姓名": - affiliate.setNameAgent(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)); + affiliate.setNameAgent(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)); break; case "委托代理人联系电话": - affiliate.setContactTelphoneAgent(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)); + affiliate.setContactTelphoneAgent(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)); if (StrUtil.isNotEmpty(affiliate.getContactTelphoneAgent())) { + SysUser agentUser = null; // 用户已存在 if (userMap.containsKey(affiliate.getContactTelphoneAgent())) { - SysUser agentUser = userMap.get(affiliate.getContactTelphoneAgent()); + agentUser = userMap.get(affiliate.getContactTelphoneAgent()); if (null != agentUser.getDeptId() && String.valueOf(agentUser.getDeptId()).equals(affiliate.getApplicationOrganId())) { // 同步用户表和案件关联人表的手机号和名称 affiliate.setContactTelphoneAgent(agentUser.getPhonenumber()); @@ -670,7 +722,7 @@ public class CaseZipImportImpl { } } else { // 用户不存在,新增 - SysUser agentUser = new SysUser(); + agentUser = new SysUser(); agentUser.setUserId(Long.valueOf(IdWorkerUtil.getId())); agentUser.setIdCard(affiliate.getIdentityNumAgent()); agentUser.setNickName(affiliate.getNameAgent()); @@ -683,10 +735,29 @@ public class CaseZipImportImpl { insertAgentUserRole(agentUser, roleId, userRoleList); } + if (addUsers != null) { + SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); + request.setTemplateId("1956159"); + request.setPhone(agentUser.getPhonenumber()); + request.setTemplateParamSet(new String[]{agentUser.getNickName()}); + SmsSendRecord smsSendRecord = new SmsSendRecord(); + smsSendRecord.setCaseId(caseId); + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setId(caseId); + smsSendRecord.setCaseNum(caseApplication.getCaseNum()); + smsSendRecord.setPhone(request.getPhone()); + smsSendRecord.setSendTime(new Date()); + String content = "尊敬的" + agentUser.getNickName() + ",您的代理的案件已接入仲裁系统,复制访问https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 进入小程序进行认证注册。如非本人操作,请忽略本短信"; + smsSendRecord.setSendContent(content); + smsSendRecord.setCreateBy(getUsername()); + smsSendRecords.add(smsSendRecord); + smsRequestList.add(request); + } + } break; case "委托代理人电子邮件": - affiliate.setAgentEmail(StrUtil.isNotEmpty(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)) ? fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId).replace("\n", "").replaceAll("\\s", "") : null); + affiliate.setAgentEmail(StrUtil.isNotEmpty(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)) ? fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId).replace("\n", "").replaceAll("\\s", "") : null); break; default: @@ -716,17 +787,17 @@ public class CaseZipImportImpl { * @param fatchMap 抓取内容 * @param debtorAffiliate 被申请人 */ - private void buildDebtorColumn(SysDictData dictData, Map fatchMap, CaseAffiliate debtorAffiliate,Long caseId) { + private void buildDebtorColumn(SysDictData dictData, Map fatchMap, CaseAffiliate debtorAffiliate, Long caseId) { debtorAffiliate.setIdentityType(2); // 被申请人 switch (dictData.getDictLabel()) { case "被申请人姓名": - debtorAffiliate.setName(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)); + debtorAffiliate.setName(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)); break; case "被申请人身份证号": - String identityNum = fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId); - debtorAffiliate.setIdentityNum(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)); + String identityNum = fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId); + debtorAffiliate.setIdentityNum(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)); // 出生年月日,从身份证抓取 if (StrUtil.isNotEmpty(identityNum)) { identityNum = identityNum.replace("\n", ""); @@ -748,13 +819,13 @@ public class CaseZipImportImpl { break; case "被申请人住所": - debtorAffiliate.setResidenAffili(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)); + debtorAffiliate.setResidenAffili(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)); break; case "被申请人联系电话": - debtorAffiliate.setContactTelphone(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)); + debtorAffiliate.setContactTelphone(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)); break; case "被申请人电子邮件": - debtorAffiliate.setEmail(StrUtil.isNotEmpty(fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId)) ? fatchMap.get(dictData.getDictLabel()+ Constants.PDFSTR + caseId).replace("\n", "").replaceAll("\\s", "") : null); + debtorAffiliate.setEmail(StrUtil.isNotEmpty(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId)) ? fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId).replace("\n", "").replaceAll("\\s", "") : null); break; default: @@ -807,5 +878,4 @@ public class CaseZipImportImpl { } - } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/CaseLogUtils.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/CaseLogUtils.java index 97dcac4..bcc6bff 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/CaseLogUtils.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/CaseLogUtils.java @@ -10,6 +10,7 @@ import com.ruoyi.wisdomarbitrate.mapper.CaseLogRecordMapper; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.util.List; /** * 案件记录日志文件 @@ -46,6 +47,14 @@ public class CaseLogUtils operLog.setNotes(notes); caseLogRecordMapper.insertCaseLogRecord(operLog); } + /** + * 批量新增案件日志 + * @param list + */ + public static void batchInsertCaseLog(List list ){ + + caseLogRecordMapper.batchInsertRecord(list); + } } diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationLogMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationLogMapper.xml index 2807bad..d3a0308 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationLogMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationLogMapper.xml @@ -60,6 +60,7 @@ insert into case_application_log( + id , case_appli_id , case_name , case_num, @@ -89,6 +90,7 @@ mediation_agreement, create_time )values( + #{id} , #{caseAppliId}, #{caseName}, #{caseNum}, diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml index 73144cc..6654cb2 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml @@ -901,6 +901,7 @@ insert into case_application( + id , case_name , case_num, case_subject_amount, @@ -934,6 +935,7 @@ batch_number, create_time )values( + #{id} , #{caseName}, #{caseNum}, #{caseSubjectAmount}, diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseLogRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseLogRecordMapper.xml index e35015f..817be20 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseLogRecordMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseLogRecordMapper.xml @@ -20,17 +20,26 @@ #{caseAppliId},#{caseNode},sysdate(),#{notes},#{createBy},#{createNickName},sysdate(),#{updateBy},sysdate() ) + + insert into case_log_record(case_appli_id, case_node,case_node_time,notes,create_by,create_nick_name,create_time,update_by,update_time ) values + + ( + #{item.caseAppliId},#{item.caseNode},sysdate(),#{item.notes},#{item.createBy},#{item.createNickName},sysdate(),#{item.updateBy},sysdate() + ) + +