diff --git a/src/main/java/com/jsl/oa/dao/ReviewDAO.java b/src/main/java/com/jsl/oa/dao/ReviewDAO.java index 8b1d8d7..f3f46b3 100644 --- a/src/main/java/com/jsl/oa/dao/ReviewDAO.java +++ b/src/main/java/com/jsl/oa/dao/ReviewDAO.java @@ -94,6 +94,18 @@ public class ReviewDAO { return ""; } + public void deleteReviewByProjectId(Long pid) { + reviewMapper.getAllReviewByProjectId(pid); + } + + public void deleteReviewByProjectChildId(Long cid) { + reviewMapper.getAllReviewByProjectId(cid); + } + + public void deleteReviewByProjectModuleId(Long mid) { + reviewMapper.getAllReviewByProjectId(mid); + } + } diff --git a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java index f8468ac..3f98fd0 100644 --- a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java @@ -51,4 +51,12 @@ public interface ReviewMapper { @Select("SELECT * FROM organize_oa.oa_review WHERE sender_id = #{uid} AND " + "is_delete = 0 AND review_result = #{result}") List selectReviewByUserAndResult(Long uid, Short result); + + void deleteReview(Long id); + + List getAllReviewByProjectId(Long pid); + + List getAllReviewByProjectChildId(Long cid); + + List getAllReviewByProjectModuleId(Long mid); } diff --git a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java index d249854..8012af0 100644 --- a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java @@ -3,6 +3,7 @@ package com.jsl.oa.services.impl; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.jsl.oa.dao.ProjectDAO; +import com.jsl.oa.dao.ReviewDAO; import com.jsl.oa.dao.RoleDAO; import com.jsl.oa.dao.UserDAO; import com.jsl.oa.mapper.ModuleMapper; @@ -30,6 +31,7 @@ import static java.lang.System.*; @RequiredArgsConstructor public class ModuleServiceImpl implements ModuleService { private final ProjectDAO projectDAO; + private final ReviewDAO reviewDAO; private final ModuleMapper moduleMapper; private final UserDAO userDAO; private final RoleDAO roleDAO; @@ -120,8 +122,12 @@ public class ModuleServiceImpl implements ModuleService { for (ProjectModuleDO workDO : projectWorkDOS) { deleteMoudule(workDO.getId()); + + //同时删除对应审核信息 + reviewDAO.deleteReviewByProjectModuleId(id); } + moduleMapper.deleteMoudule(id); } diff --git a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java index acdc889..96ca637 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -9,6 +9,7 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; import com.jsl.oa.annotations.NeedPermission; import com.jsl.oa.dao.ProjectDAO; +import com.jsl.oa.dao.ReviewDAO; import com.jsl.oa.dao.RoleDAO; import com.jsl.oa.dao.UserDAO; import com.jsl.oa.mapper.ProjectMapper; @@ -58,6 +59,7 @@ public class ProjectServiceImpl implements ProjectService { private final UserMapper userMapper; private final ProjectMapper projectMapper; + private final ReviewDAO reviewDAO; private final ProjectDAO projectDAO; private final UserDAO userDAO; private final ObjectMapper objectMapper; @@ -210,6 +212,8 @@ public class ProjectServiceImpl implements ProjectService { return ResultUtil.error(ErrorCode.NOT_PERMISSION); } else { projectMapper.deleteProjectChild(id1); + //同时删除对应审核信息 + reviewDAO.deleteReviewByProjectChildId(id1); } } return ResultUtil.success(); @@ -622,7 +626,11 @@ public class ProjectServiceImpl implements ProjectService { if (!projectDAO.projectDelete(id1)) { return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); } + //同时删除所有对应审核信息 + reviewDAO.deleteReviewByProjectId(id1); } + + return ResultUtil.success(); } } diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index f9f656f..1ba72de 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -6,10 +6,7 @@ import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ReviewDAO; import com.jsl.oa.mapper.ProjectMapper; import com.jsl.oa.mapper.UserMapper; -import com.jsl.oa.model.dodata.ProjectChildDO; -import com.jsl.oa.model.dodata.ProjectDO; -import com.jsl.oa.model.dodata.ProjectModuleDO; -import com.jsl.oa.model.dodata.ReviewDO; +import com.jsl.oa.model.dodata.*; import com.jsl.oa.model.vodata.ReviewAddVO; import com.jsl.oa.model.vodata.ReviewDataVO; import com.jsl.oa.model.vodata.ReviewUpdateResultVO; @@ -386,20 +383,42 @@ public class ReviewServiceImpl implements ReviewService { Processing.copyProperties(reviewDO, reviewVO); // 赋值其他非空属性 reviewVO.setCategory(Processing.turnReviewCategory(reviewDO.getCategory())) - .setSenderName(userMapper.getUserById(Long.valueOf(reviewDO.getSenderId())).getNickname()) - .setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName()) - .setProjectChildName(projectMapper.getProjectChildById( - Math.toIntExact(reviewDO.getProjectChildId())).getName()) - .setResult(Processing.turnReviewResult(reviewDO.getReviewResult())) + .setSenderName(userMapper.getUserById(Long.valueOf(reviewDO.getSenderId())).getNickname()); + +// 获取审核的项目,设置项目名称 + ProjectDO project = projectDAO.getProjectById(reviewDO.getProjectId()); + if (project == null) { + reviewVO.setProjectName("无此项目"); + } else { + reviewVO.setProjectName(project.getName()); + } +// 获取审核的子系统,设置子系统名称 + ProjectChildDO projectChildDO = + projectMapper.getProjectChildById(Math.toIntExact(reviewDO.getProjectChildId())); + if (projectChildDO != null) { + reviewVO.setProjectChildName(projectChildDO.getName()); + } else { + reviewVO.setProjectChildName(projectChildDO.getName()); + } +// 设置结果、发送者id,接受者id + reviewVO.setResult(Processing.turnReviewResult(reviewDO.getReviewResult())) .setSenderId(Long.valueOf(reviewDO.getSenderId())) .setRecipientId(reviewDO.getRecipientId()); // 赋值可为空属性并进行判断 - if (reviewDO.getRecipientId() != null) { - reviewVO.setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname()); + UserDO recipientUserDO = userMapper.getUserById(reviewDO.getRecipientId()); + if (reviewDO.getRecipientId() != null || recipientUserDO != null) { + reviewVO.setRecipientName(recipientUserDO.getNickname()); } +// 获取该审核消息对应的模块信息 if (reviewDO.getProjectModuleId() != null) { - reviewVO.setProjectModuleName( - reviewDAO.getNameByModule(Math.toIntExact(reviewDO.getProjectModuleId()))); + ProjectModuleDO projectModuleDO = + projectMapper.getModuleById(Math.toIntExact(reviewDO.getProjectModuleId())); +// 如果模块存在,设置名称 + if (projectModuleDO != null) { + reviewVO.setProjectModuleName(projectModuleDO.getName()); + } else { + reviewVO.setProjectModuleName("模块不存在"); + } } else { reviewVO.setProjectModuleName("无"); } diff --git a/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml index 23a6f09..599da71 100644 --- a/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml @@ -139,6 +139,26 @@ where id = #{id} + + delete organize_oa.oa_review + where id = ${id} + + + + + + + +