diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/WrkAuditService.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/WrkAuditService.java index 3ea2c17..323b212 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/WrkAuditService.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/WrkAuditService.java @@ -59,38 +59,13 @@ public class WrkAuditService extends ServiceImpl imple if (1 == currAuditStatus) { AssertUtil.invalidate(3 != auditStatus && 5 != auditStatus, "待初审时, 审核状态应当为初审通过或者初审驳回"); } - WrkAudit wrkAudit = new WrkAudit(); - wrkAudit.setThirdId(contractId); - wrkAudit.setThirdType(1); - wrkAudit.setAuditStatus(audit.getAuditStatus()); - wrkAudit.setAuditName(SecurityUtils.getUsername()); - wrkAudit.setAuditUserId(SecurityUtils.getUserId()); - wrkAudit.setRemark(audit.getRemark()); - wrkAudit.setAuditTime(LocalDateTime.now()); - - // 同时需要更新 合同内的审核状态 - save(wrkAudit); - // 此处需要判断 审核状态 - /** - * 未提交 0 - * 待初审 1 - * 待复审 2 - * 初审通过 3 - * 复审通过 4 - * 初审驳回 5 - * 复审驳回 6 - * 已撤销 7 - */ -// if (Objects.equals(wrkAudit.getThirdType(), 0)) { -// // 项目审核 -//// projectService.updateState(byId.getThirdId(), auditStatus); -// } else { - // 合同审核 - contractService.updateAuditStatus(wrkAudit.getThirdId(), auditStatus); + // 合同撤销 + saveAudit(contractId, 1, audit.getAuditStatus(), audit.getRemark()); + // 审核之后同步修改 项目状态 wrkProjectService.updateAuditStatus(projectId, auditStatus); -// } } + /** * 获取 合同以及合同对应的 审核列表 */ @@ -112,7 +87,45 @@ public class WrkAuditService extends ServiceImpl imple return this.list(auditSql); } + @Transactional public void revoke(Long contractId) { + WrkProjectContract contract = contractService.getById(contractId); + AssertUtil.invalidate(ObjectUtil.isEmpty(contract), "无法撤销, 当前合同不存在"); + Integer auditStatus = contract.getAuditStatus(); + AssertUtil.invalidate(3 == auditStatus, "无法撤销, 当前审核已通过"); + // 合同撤销 + saveAudit(contractId, 1, 7, ""); + } + + public void saveAudit(Long thirdId, Integer thirdType, Integer auditStatus, String remark){ + WrkAudit wrkAudit = new WrkAudit(); + wrkAudit.setThirdId(thirdId); + wrkAudit.setThirdType(thirdType); + wrkAudit.setAuditStatus(auditStatus); + wrkAudit.setAuditName(SecurityUtils.getUsername()); + wrkAudit.setAuditUserId(SecurityUtils.getUserId()); + wrkAudit.setRemark(remark); + wrkAudit.setAuditTime(LocalDateTime.now()); + // 同时需要更新 合同内的审核状态 + save(wrkAudit); + // 此处需要判断 审核状态 + /** + * 未提交 0 + * 待初审 1 + * 待复审 2 + * 初审通过 3 + * 复审通过 4 + * 初审驳回 5 + * 复审驳回 6 + * 已撤销 7 + */ +// if (Objects.equals(wrkAudit.getThirdType(), 0)) { +// // 项目审核 +//// projectService.updateState(byId.getThirdId(), auditStatus); +// } else { + // 合同审核 + contractService.updateAuditStatus(wrkAudit.getThirdId(), auditStatus); +// } } } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/WrkProjectService.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/WrkProjectService.java index 0e1eb8a..626c533 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/WrkProjectService.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/WrkProjectService.java @@ -181,7 +181,10 @@ public class WrkProjectService extends ServiceImpl WrkProjectContract projectContract = contractService.getOne(contractSql); AssertUtil.invalidate(null == projectContract, "合同不存在"); Integer auditStatus = projectContract.getAuditStatus(); - AssertUtil.invalidate(0 != auditStatus && 7 != auditStatus, "当前合同已提交审核, 无法修改"); + AssertUtil.invalidate(0 != auditStatus + && 7 != auditStatus + && 5 != auditStatus + , "当前合同已提交审核, 无法修改"); projectContract = new WrkProjectContract(); // 项目合同