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 431b502..b517d58 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 @@ -33,6 +33,13 @@ public interface CaseApplicationMapper { CaseApplication selectCaseApplication(CaseApplication caseApplication); + /** + * 根据案件id查询案件信息 + * @param ids + * @return + */ + List listCaseApplicationByIds(@Param("ids")List ids); + CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication); /** @@ -76,4 +83,5 @@ public interface CaseApplicationMapper { * @return */ int batchDeletecaseApplication(@Param("ids") List ids); + } 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 ed6837f..dc1dec9 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 @@ -105,7 +105,6 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { LoginUser loginUser = getLoginUser(); SysUser user = loginUser.getUser(); Long userId = user.getUserId(); - // 查询登录人身份证号 SysUser sysUser = sysUserMapper.selectUserById(userId); List roles = sysUser.getRoles(); @@ -552,7 +551,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { @Override @Transactional public int insertcaseApplication(CaseApplication caseApplication) { - // 新增立案信息 + caseApplication.setCaseStatus(CaseApplicationConstants.CASE_APPLICATION); //根据仲裁费用计费规则计算应缴费用 //暂时设置计费比率为0.01 @@ -563,10 +562,11 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { String caseNum = generateCaseNum(); caseApplication.setCaseNum(caseNum); caseApplication.setCreateBy(getUsername()); - + // 新增立案信息 int rows = caseApplicationMapper.insertCaseApplication(caseApplication); List caseAffiliates = caseApplication.getCaseAffiliates(); Map deptMap =new HashMap<>(); + // 判断申请机构 if (caseAffiliates != null && caseAffiliates.size() > 0) { // 查询所有的组织机构,组装成map List deptList = sysDeptMapper.selectDeptList(new SysDept()); @@ -574,7 +574,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { deptList = new ArrayList<>(); } deptMap = deptList.stream().collect(Collectors.toMap(SysDept::getDeptName, SysDept::getDeptId,(oldV,newV)->newV)); - + // 查询申请人角色id + Long roleId = roleMapper.selectRoleIdByName("申请人"); for (CaseAffiliate caseAffiliate : caseAffiliates) { caseAffiliate.setCaseAppliId(caseApplication.getId()); if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) { @@ -600,13 +601,13 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { } // 组装申请代理人信息 - String agentInfoFlag = buildAgentInfo(caseAffiliate); + String agentInfoFlag = buildAgentInfo(caseAffiliate,roleId); if(StrUtil.isNotEmpty(agentInfoFlag)){ throw new ServiceException(agentInfoFlag); } } } - + // 新增案件关联人 caseAffiliateMapper.batchCaseAffiliate(caseAffiliates); } @@ -614,6 +615,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { if (caseAttachList != null && caseAttachList.size() > 0) { for (CaseAttach caseAttach : caseAttachList) { caseAttach.setCaseAppliId(caseApplication.getId()); + // 修改案件附件 caseAttachMapper.updateCaseAttach(caseAttach); } } @@ -666,6 +668,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { deptList = new ArrayList<>(); } Map deptMap = deptList.stream().collect(Collectors.toMap(SysDept::getDeptName, SysDept::getDeptId,(oldV,newV)->newV)); + // 查询申请人角色id + Long roleId = roleMapper.selectRoleIdByName("申请人"); for (CaseAffiliate caseAffiliate : caseAffiliates){ caseAffiliate.setCaseAppliId(caseApplication.getId()); if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) { @@ -691,7 +695,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseAffiliate.setApplicationOrganId(String.valueOf(dept.getDeptId())); } - String agentInfoFlag = buildAgentInfo(caseAffiliate); + String agentInfoFlag = buildAgentInfo(caseAffiliate,roleId); if(StrUtil.isNotEmpty(agentInfoFlag)){ throw new ServiceException(agentInfoFlag); } @@ -718,10 +722,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { * 组装申请代理人信息 * @param caseAffiliate */ - private String buildAgentInfo(CaseAffiliate caseAffiliate) { + private String buildAgentInfo(CaseAffiliate caseAffiliate,Long roleId) { if (caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getNameAgent())) { - // 查询申请人角色id - Long roleId = roleMapper.selectRoleIdByName("申请人"); + // 组装申请机构代理人信息,用户表新增并且和部门关联 // 根据代理人身份证去用户表查询,有修改,么有新增 SysUser agentUser = sysUserMapper.selectUserByIdCard(caseAffiliate.getIdentityNumAgent()); @@ -764,28 +767,40 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseAffiliate.setContactTelphoneAgent(agentUser.getPhonenumber()); caseAffiliate.setNameAgent(agentUser.getNickName()); caseAffiliate.setApplicantAgentUserId(String.valueOf(agentUser.getUserId())); + List longList=new ArrayList<>(); // 新增角色为申请人 if(CollectionUtil.isNotEmpty(agentUser.getRoles())) { - List longList = agentUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()); + longList = agentUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()); if(!longList.contains(roleId)) { - ArrayList sysUserRoles = new ArrayList<>(); - SysUserRole sysUserRole = new SysUserRole(); - sysUserRole.setUserId(agentUser.getUserId()); - sysUserRole.setRoleId(roleId); - sysUserRoles.add(sysUserRole); - if (CollectionUtil.isNotEmpty(sysUserRoles)) { - userRoleMapper.batchUserRole(sysUserRoles); - } + insertAgentUserRole(agentUser,roleId); } + }else { + + insertAgentUserRole(agentUser,roleId); } } - } return null; } + /** + * 新增角色为申请人 + * @param agentUser + * @param roleId + */ + private void insertAgentUserRole(SysUser agentUser, Long roleId) { + ArrayList sysUserRoles = new ArrayList<>(); + SysUserRole sysUserRole = new SysUserRole(); + sysUserRole.setUserId(agentUser.getUserId()); + sysUserRole.setRoleId(roleId); + sysUserRoles.add(sysUserRole); + if (CollectionUtil.isNotEmpty(sysUserRoles)) { + userRoleMapper.batchUserRole(sysUserRoles); + } + } + @Override @Transactional public int submitCaseApplication( List ids) { @@ -882,7 +897,6 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { StringBuilder failureMsg = new StringBuilder(); StringBuilder successMsg = new StringBuilder(); int successNum = 0; - int failureNum = 0; if(caseApplicationList!=null&&caseApplicationList.size()>0){ // 1,查询所有的组织机构,组装成map List deptList = sysDeptMapper.selectDeptList(new SysDept()); @@ -890,6 +904,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { if(CollectionUtil.isNotEmpty(deptList)) { deptMap = deptList.stream().collect(Collectors.toMap(SysDept::getDeptName, SysDept::getDeptId,(oldV,newV)->newV)); } + // 查询申请人角色id + Long roleId = roleMapper.selectRoleIdByName("申请人"); List caseApplicationListinsert = new ArrayList<>(); for (int i = 0; i < caseApplicationList.size(); i++){ CaseApplication caseApplication = caseApplicationList.get(i); @@ -907,7 +923,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { //赋值CaseApplication的案件关联人信息 List caseAffiliatesnew = new ArrayList<>(); // 组装案件关联人信息 - assignmentCaseAffiliates(caseApplication, caseAffiliatesnew, deptMap); + assignmentCaseAffiliates(caseApplication, caseAffiliatesnew, deptMap,roleId); // int caseApplicationCount = selectCaseApplicationCount(caseApplication); // if(caseApplicationCount>0){ @@ -928,7 +944,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { failureMsg.append("
").append("第").append(i+2).append("行:").append(caseApplication.getErrorMsg().toString()); } } - if(caseApplicationListinsert!=null&&caseApplicationListinsert.size()>0){ + if(caseApplicationListinsert.size()>0){ // List caseApplicationListinsertDiffer = caseApplicationListinsert.stream().collect( // collectingAndThen( // toCollection(() -> new TreeSet<>(Comparator.comparing(CaseApplication::getCaseNum))), @@ -946,7 +962,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { List caseAffiliatesnew = new ArrayList<>(); CaseApplication caseApplicationNew = new CaseApplication(); copyCaseApplication(caseApplicationinsertDiffer,caseApplicationNew); - if(caseApplicationListinsert!=null&&caseApplicationListinsert.size()>0){ + if(caseApplicationListinsert.size()>0){ for (int j = 0; j < caseApplicationListinsert.size(); j++){ CaseApplication caseApplicationinsert = caseApplicationListinsert.get(j); @@ -976,7 +992,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { } successNum++; - successMsg.append("
" + successNum + "、立案编号 " + caseApplicationItera.getCaseNum() + " 导入成功"); + successMsg.append("
").append(successNum).append("、立案编号 ").append(caseApplicationItera.getCaseNum()).append(" 导入成功"); } // } @@ -988,7 +1004,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { }else { throw new ServiceException("导入立案申请数据不能为空!"); } - return successMsg.append(failureMsg.toString()).toString(); + return successMsg.append(failureMsg).toString(); } @@ -1857,7 +1873,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { - private void assignmentCaseAffiliates(CaseApplication caseApplication, List caseAffiliatesnew, Map deptMap) { + private void assignmentCaseAffiliates(CaseApplication caseApplication, List caseAffiliatesnew, + Map deptMap,Long roleId) { // 申请人信息 CaseAffiliate caseAffiliate = new CaseAffiliate(); @@ -1869,7 +1886,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { if(StrUtil.isNotEmpty(caseApplication.getName())){ setApplicantOrganization(caseAffiliate, caseApplication, deptMap); } - String s = buildAgentInfo(caseAffiliate); + String s = buildAgentInfo(caseAffiliate,roleId); if(StrUtil.isNotEmpty(s)){ StringBuilder errorMsg = caseApplication.getErrorMsg(); if(StrUtil.isEmpty(errorMsg)){ diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseArbitrateServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseArbitrateServiceImpl.java index be1cf7b..13a4d71 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseArbitrateServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseArbitrateServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.wisdomarbitrate.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.ruoyi.common.constant.CaseApplicationConstants; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.WordUtil; @@ -20,6 +21,8 @@ import java.nio.file.StandardCopyOption; import java.time.LocalDate; import java.time.ZoneId; import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; @Service public class CaseArbitrateServiceImpl implements ICaseArbitrateService { @@ -37,87 +40,114 @@ public class CaseArbitrateServiceImpl implements ICaseArbitrateService { @Override @Transactional public AjaxResult examineArbitrateMethod(List ids, Integer opinion) { + // 批量查询案件信息组装成map + List caseApplicationList = caseApplicationMapper.listCaseApplicationByIds(ids); + if (CollectionUtil.isEmpty(caseApplicationList)) { + return AjaxResult.success(); + } + Map caseApplicationMap = caseApplicationList.stream().collect(Collectors.toMap(CaseApplication::getId, Function.identity(), (n1, n2) -> n2)); + + //发送短信通知 + SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); + for (Long id : ids) { CaseApplication caseApplication = new CaseApplication(); caseApplication.setId(id); //查询案件详细信息 - CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication); - if (caseApplication1 == null) { - return AjaxResult.success(); + CaseApplication caseApplicationById = caseApplicationMap.get(id); + if (caseApplicationById == null) { + continue; } - int arbitratMethod = caseApplication1.getArbitratMethod(); - String caseNum = caseApplication1.getCaseNum(); - if (opinion == 0) { //拒绝 - if (arbitratMethod == 2) { - caseApplication1.setArbitratMethod(1); // 更改仲裁方式 - //修改案件状态为待开庭审理 + // 获取该案件仲裁方式 + Integer arbitratMethod = caseApplicationById.getArbitratMethod(); + if(arbitratMethod!=null) { + String caseNum = caseApplicationById.getCaseNum(); + // 日志节点的状态 + int caseLogStatus; + if (opinion == 0) { //拒绝 + if (arbitratMethod == 2) { + caseApplicationById.setArbitratMethod(1); // 更改仲裁方式 + //修改案件状态为待开庭审理 // caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_OPENCOURT_HEAR); - //修改案件状态为待修改开庭时间 - caseApplication1.setCaseStatus(CaseApplicationConstants.MODIFY_HEARDATE); - // 新增日志 - CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_OPENCOURT_HEAR, ""); + //修改案件状态为待修改开庭时间 + caseApplicationById.setCaseStatus(CaseApplicationConstants.MODIFY_HEARDATE); + // 新增日志 + caseLogStatus = CaseApplicationConstants.MODIFY_HEARDATE; + } else { + caseApplicationById.setArbitratMethod(2); + //修改案件状态为待书面审理 + caseApplicationById.setCaseStatus(CaseApplicationConstants.PENDING_WRIITEN_HEAR); + caseLogStatus = CaseApplicationConstants.PENDING_WRIITEN_HEAR; + + } } else { - caseApplication1.setArbitratMethod(2); - //修改案件状态为待书面审理 - caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_WRIITEN_HEAR); - // 新增日志 - CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_WRIITEN_HEAR, ""); + if (arbitratMethod == 2) { + //修改案件状态为待书面审理 + caseApplicationById.setCaseStatus(CaseApplicationConstants.PENDING_WRIITEN_HEAR); + caseLogStatus = CaseApplicationConstants.PENDING_WRIITEN_HEAR; - } - } else { - if (arbitratMethod == 2) { - //修改案件状态为待书面审理 - caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_WRIITEN_HEAR); - // 新增日志 - CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_WRIITEN_HEAR, ""); - - } else { - //修改案件状态为待开庭审理 + } else { + //修改案件状态为待开庭审理 // caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_OPENCOURT_HEAR); - //修改案件状态为待修改开庭时间 - caseApplication1.setCaseStatus(CaseApplicationConstants.MODIFY_HEARDATE); - // 新增日志 - CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_OPENCOURT_HEAR, ""); + //修改案件状态为待修改开庭时间 + caseApplicationById.setCaseStatus(CaseApplicationConstants.MODIFY_HEARDATE); + caseLogStatus = CaseApplicationConstants.MODIFY_HEARDATE; + - } - } - int i = caseApplicationMapper.submitCaseApplication(caseApplication1); - if (i > 0) { - String arbitratMethodStr = caseApplication1.getArbitratMethod() == 1 ? "开庭审理" : "书面审理"; - //发送短信通知 - SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); - request.setTemplateId("1931000"); - CaseAffiliate caseAffiliate = new CaseAffiliate(); - caseAffiliate.setCaseAppliId(caseApplication1.getId()); - List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate); //获取案件关联人信息 - if (caseAffiliates != null && caseAffiliates.size() > 0) { - for (CaseAffiliate affiliate : caseAffiliates) { - //获取身份类型 - int identityType = affiliate.getIdentityType(); - if (identityType == 1) { //申请人 - request.setPhone(affiliate.getContactTelphone()); - // 这个值,要看你的模板中是否预留了占位符,如果没有则不需要设置 - // 1931000 普通短信 确定仲裁方式通知 尊敬的{1}用户,您的{2}仲裁案件,仲裁方式已确定为{3},请知晓,如非本人操作,请忽略本短信。 - String name = affiliate.getName(); - request.setTemplateParamSet(new String[]{name, caseNum, arbitratMethodStr}); - SmsUtils.sendSms(request); - } else { //被申请人 - request.setPhone(affiliate.getContactTelphone()); - // 模板id1928006 普通短信 案件应诉通知 尊敬的{1}用户,您的{2}案件{3}已成功受理,请点击https://phmapp.xayunmei.com选择是否应诉。 - String name = affiliate.getName(); - request.setTemplateParamSet(new String[]{name, caseNum, arbitratMethodStr}); - SmsUtils.sendSms(request); - } } } - + // 更改案件状态 + int i = caseApplicationMapper.submitCaseApplication(caseApplicationById); + if (i > 0) { + // 新增日志 + CaseLogUtils.insertCaseLog(caseApplication.getId(), caseLogStatus, ""); + // 发送短信 + sendArbitratMethodMes(caseApplicationById, request, caseNum); + } } } return AjaxResult.success(); } + /** + * 发送短信 + * @param caseApplicationById + * @param request + * @param caseNum + */ + private void sendArbitratMethodMes(CaseApplication caseApplicationById, SmsUtils.SendSmsRequest request, String caseNum) { + String arbitratMethodStr = caseApplicationById.getArbitratMethod() == 1 ? "开庭审理" : "书面审理"; + + CaseAffiliate caseAffiliate = new CaseAffiliate(); + caseAffiliate.setCaseAppliId(caseApplicationById.getId()); + List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate); //获取案件关联人信息 + if (CollectionUtil.isEmpty(caseAffiliates)) { + return; + } + for (CaseAffiliate affiliate : caseAffiliates) { + //获取身份类型 + int identityType = affiliate.getIdentityType(); + if (identityType == 1) { //申请人 + request.setTemplateId("1931000"); + request.setPhone(affiliate.getContactTelphone()); + // 这个值,要看你的模板中是否预留了占位符,如果没有则不需要设置 + // 1931000 普通短信 确定仲裁方式通知 尊敬的{1}用户,您的{2}仲裁案件,仲裁方式已确定为{3},请知晓,如非本人操作,请忽略本短信。 + String name = affiliate.getName(); + request.setTemplateParamSet(new String[]{name, caseNum, arbitratMethodStr}); + SmsUtils.sendSms(request); + } else { //被申请人 + request.setTemplateId("1928006"); + request.setPhone(affiliate.getContactTelphone()); + // 模板id1928006 普通短信 案件应诉通知 尊敬的{1}用户,您的{2}案件{3}已成功受理,请点击https://phmapp.xayunmei.com选择是否应诉。 + String name = affiliate.getName(); + request.setTemplateParamSet(new String[]{name, caseNum, arbitratMethodStr}); + SmsUtils.sendSms(request); + } + } + } + @Override @Transactional public AjaxResult writtenHear(ArbitrateRecord arbitrateRecord) { diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml index 911f3e0..fb2f1d0 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml @@ -488,7 +488,37 @@ + + diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseEvidenceMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseEvidenceMapper.xml index 3d925a6..aa13da3 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseEvidenceMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseEvidenceMapper.xml @@ -9,7 +9,7 @@