diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/UpdateSubmitStatus.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/UpdateSubmitStatus.java index 2a720b3..41a0ccb 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/UpdateSubmitStatus.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/UpdateSubmitStatus.java @@ -9,9 +9,10 @@ public enum UpdateSubmitStatus { UNCOMMITTED(0, "未提交"), COMMITTED(1, "已提交"), - AGREE(2, "同意已修改的案件"), - REFUSE(3, "拒绝已修改的案件"), - REVOKE(4, "撤销"), + REVOKE(2, "撤销"), + AGREE(3, "同意已修改的案件"), + REFUSE(4, "拒绝已修改的案件"), + AGREE_REVOKE(5, "同意撤销修改"), REFUSE_REVOKE(6, "拒绝撤销修改"), ; diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/UpdateSubmitVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/UpdateSubmitVO.java index 14898e0..5c64d69 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/UpdateSubmitVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/UpdateSubmitVO.java @@ -22,13 +22,17 @@ public class UpdateSubmitVO { */ private Integer version; /** - * 修改案件的提交状态,0-未提交,1-已提交,2-同意已修改的案件,3-拒绝已修改的案件,4-撤销,5-同意撤销,6-拒绝撤销 + * 修改案件的提交状态,0-未提交,1-已提交,2-撤销,3-同意已修改的案件,4-拒绝已修改的案件,5-同意撤销,6-拒绝撤销 */ private Integer updateSubmitStatus; /** * 是否同意,0-否,1-是 */ private Integer isAgree; + /** + * 拒絕原因 + */ + private String reason; } 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 b48eddb..f713061 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 @@ -61,10 +61,21 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService caseApplicationLogMapper.updateStatus(vo); return AjaxResult.success(); } - + @Transactional @Override public AjaxResult revoke(UpdateSubmitVO vo) { - vo.setUpdateSubmitStatus(UpdateSubmitStatus.REVOKE.getCode()); + // 根据案件id和版本号查询改案件 + CaseApplication caseApplication = caseApplicationLogMapper.selectByCaseIdAndVersion(vo.getCaseId(), vo.getVersion()); + if(caseApplication == null){ + return AjaxResult.error("案件不存在"); + } + // 如果秘书没有审核,将撤销状态改为同意撤销,否则改为撤销 + if(caseApplication.getUpdateSubmitStatus()!=null && caseApplication.getUpdateSubmitStatus()>UpdateSubmitStatus.REVOKE.getCode()){ + agreeRevoke(vo); + + }else { + vo.setUpdateSubmitStatus(UpdateSubmitStatus.REVOKE.getCode()); + } // 修改日志表提交状态 caseApplicationLogMapper.updateStatus(vo); return AjaxResult.success(); @@ -108,48 +119,56 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService // 拒绝,将日志表改版本的状态改为拒绝 vo.setUpdateSubmitStatus(UpdateSubmitStatus.REFUSE.getCode()); caseApplicationLogMapper.updateStatus(vo); + // todo 给申请人发送短信 // 修改案件表的版本号 // caseApplicationMapper.updateVersionById(vo.getCaseId(),vo.getVersion()); } return AjaxResult.success(); + } else if (Objects.equals(vo.getUpdateSubmitStatus(), UpdateSubmitStatus.REVOKE.getCode())) { + // 如果版本号为1,则直接返回 + if(vo.getVersion() <= 1){ + return AjaxResult.success(); + } + // 审核修改撤销状态 + if (Objects.equals(vo.getIsAgree(), YesOrNoEnum.YES.getCode())) { + agreeRevoke(vo); + // 同意撤销,查询日志记录表上个版本数据,将数据更新到主表,并将日志表改版本的状态改为同意撤销 + + } else { + // 拒绝撤销,将日志表改版本的状态改为拒绝撤销 + vo.setUpdateSubmitStatus(UpdateSubmitStatus.REFUSE_REVOKE.getCode()); + caseApplicationLogMapper.updateStatus(vo); + // 修改案件表的版本号 + // caseApplicationMapper.updateVersionById(vo.getCaseId(),vo.getVersion()); + } + return AjaxResult.success(); } - // todo 需确定 -// else if (Objects.equals(vo.getUpdateSubmitStatus(), UpdateSubmitStatus.REVOKE.getCode())) { -// // 如果版本号为1,则直接返回 -// if(vo.getVersion() <= 1){ -// return AjaxResult.success(); -// } -// // 审核修改撤销状态 -// if (Objects.equals(vo.getIsAgree(), YesOrNoEnum.YES.getCode())) { -// // 同意撤销,查询日志记录表上个版本数据,将数据更新到主表,并将日志表改版本的状态改为同意撤销 -// // 查询日志记录表上个版本未被拒绝数据 -// CaseApplication caseApplicationLog = caseApplicationLogMapper.selectByCaseIdAndVersion(vo.getCaseId(), vo.getVersion()-1); -// if (caseApplicationLog == null) { -// return AjaxResult.error("未找到该案件"); -// } -// // 将日志表改版本的状态改为拒绝 -// vo.setUpdateSubmitStatus(UpdateSubmitStatus.AGREE_REVOKE.getCode()); -// caseApplicationLogMapper.updateStatus(vo); -// // 根据caseLogId查询相关人员表 -// CaseAffiliate caseAffiliate = new CaseAffiliate(); -// caseAffiliate.setCaseAppliLogId(caseApplicationLog.getCaseLogId()); -// List affiliateLogList = caseAffiliateLogMapper.selectCaseAffiliate(caseAffiliate); -// caseApplicationLog.setId(caseApplicationLog.getCaseAppliId()); -// // 更新案件主表 -// caseApplicationMapper.updataCaseApplication(caseApplicationLog); -// -// // 更新相关人员主表 -// caseAffiliateMapper.updataCaseAffiliateByCaseId(caseApplicationLog.getCaseAppliId(), affiliateLogList); -// } else { -// // 拒绝撤销,将日志表改版本的状态改为拒绝撤销 -// vo.setUpdateSubmitStatus(UpdateSubmitStatus.REFUSE_REVOKE.getCode()); -// caseApplicationLogMapper.updateStatus(vo); -// // 修改案件表的版本号 -// // caseApplicationMapper.updateVersionById(vo.getCaseId(),vo.getVersion()); -// } -// return AjaxResult.success(); -// } return AjaxResult.success(); } + + /** + * 同意撤销 + * @param vo + */ + private void agreeRevoke(UpdateSubmitVO vo) { + // 查询日志记录表上个版本未被拒绝数据 + CaseApplication caseApplicationLog = caseApplicationLogMapper.selectByCaseIdAndVersion(vo.getCaseId(), vo.getVersion()-1); + if (caseApplicationLog == null) { + return; + } + // 将日志表改版本的状态改为拒绝 + vo.setUpdateSubmitStatus(UpdateSubmitStatus.AGREE_REVOKE.getCode()); + caseApplicationLogMapper.updateStatus(vo); + // 根据caseLogId查询相关人员表 + CaseAffiliate caseAffiliate = new CaseAffiliate(); + caseAffiliate.setCaseAppliLogId(caseApplicationLog.getCaseLogId()); + List affiliateLogList = caseAffiliateLogMapper.selectCaseAffiliate(caseAffiliate); + caseApplicationLog.setId(caseApplicationLog.getCaseAppliId()); + // 更新案件主表 + caseApplicationMapper.updataCaseApplication(caseApplicationLog); + + // 更新相关人员主表 + caseAffiliateMapper.updataCaseAffiliateByCaseId(caseApplicationLog.getCaseAppliId(), affiliateLogList); + } } 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 1457f90..368aeca 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 @@ -1007,7 +1007,16 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2, RoundingMode.HALF_UP); caseApplication.setFeePayable(feePayable); caseApplication.setUpdateBy(getUsername()); - // int rows = caseApplicationMapper.updataCaseApplication(caseApplication); + // 立案申请状态直接修改主表信息 + if(caseApplication.getCaseStatus()!=null && caseApplication.getCaseStatus().equals(CaseApplicationConstants.CASE_APPLICATION)) { + + caseApplicationMapper.updataCaseApplication(caseApplication); + // 修改记录表状态为同意提交修改的内容 + caseApplication.setUpdateSubmitStatus(UpdateSubmitStatus.AGREE.getCode()); + }else { + // 修改记录表状态为已提交修改的内容 + caseApplication.setUpdateSubmitStatus(UpdateSubmitStatus.COMMITTED.getCode()); + } // if(rows==0){ // return rows; // } @@ -1052,8 +1061,11 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { } } + // 立案申请状态直接修改主表信息 + if(caseApplication.getCaseStatus()!=null && caseApplication.getCaseStatus().equals(CaseApplicationConstants.CASE_APPLICATION)) { - // caseAffiliateMapper.updataCaseAffiliate(caseAffiliate); + caseAffiliateMapper.updataCaseAffiliate(caseAffiliate); + } } } @@ -1253,7 +1265,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { } caseApplicationselect.setCaseAttachList(caseAttachList); CaseAffiliate caseAffiliateLog = new CaseAffiliate(); - caseAffiliateLog.setCaseAppliLogId(caseApplication.getCaseLogId()); + caseAffiliateLog.setCaseAppliLogId(caseApplicationselect.getCaseLogId()); List caseAffiliatListeselect = caseAffiliateLogMapper.selectCaseAffiliate(caseAffiliateLog); if (caseAffiliatListeselect != null) { // 查询组织机构 @@ -2749,6 +2761,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { /** * 生成房间号 */ + @Transactional @Override public String createRoomId(Long caseId) { String roomId = generateRoomId(); @@ -2756,6 +2769,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { ReservedConference conference = new ReservedConference(caseId, roomId, null, null,0); reservedConferenceMapper.insert(conference); + // 绑定案件与房间号 + caseApplicationMapper.bindCaseId(caseId, roomId); return roomId; } diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml index aa4520a..56a86b6 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml @@ -187,7 +187,7 @@ and l.version=(SELECT max( version ) version FROM - case_application_log where case_appli_id = c.id) + case_application_log where case_appli_id = c.id and update_submit_status not in(4,5)) AND ca.application_organ_id = #{applicationOrganId} @@ -293,14 +293,14 @@ FROM case_application c JOIN case_affiliate ca ON ca.case_appli_id = c.id AND ca.identity_type = 1 - JOIN case_application_log l on l.case_appli_id=c.id and l.update_submit_status not in(1,4) and l.version + JOIN case_application_log l on l.case_appli_id=c.id and l.update_submit_status not in(1, 2) and l.version = ( SELECT max( version ) version FROM case_application_log WHERE case_appli_id = c.id - and update_submit_status not IN ( 1, 4 )) + and update_submit_status not IN ( 1, 2 )) WHERE ca.identity_type=1 and c.case_status in (1,5,11,15,16,17,31) @@ -406,7 +406,7 @@ JOIN case_affiliate_log ca ON ca.case_appli_log_id = l.id AND ca.identity_type = 1 WHERE - l.update_submit_status IN ( 1, 4 ) and ca.identity_type=1 + l.update_submit_status IN ( 1, 2 ) and ca.identity_type=1 and ca.application_organ_id in @@ -435,7 +435,7 @@ FROM case_application_log WHERE - update_submit_status IN ( 1, 4 ) and c.id = l.case_appli_id) + update_submit_status IN ( 1, 2 ) and c.id = l.case_appli_id) ) t1 @@ -713,7 +713,7 @@ and l.version=(SELECT max( version ) version FROM - case_application_log where case_appli_id = c.id) + case_application_log where case_appli_id = c.id and update_submit_status not in(4,5)) AND ca.application_organ_id = #{applicationOrganId} @@ -1032,7 +1032,7 @@ FROM case_application_log WHERE case_appli_id = t.id - update_submit_status IN ( 1, 4 )) + update_submit_status IN ( 1, 2 )) order by c.create_time desc,c.case_num desc