diff --git a/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java b/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java
new file mode 100644
index 0000000..42ffd47
--- /dev/null
+++ b/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java
@@ -0,0 +1,23 @@
+package com.jsl.oa.common.constant;
+
+
+/**
+ *
Review常量类
+ *
+ * 用于存放审核信息的审批状态常量
+ *
+ * @version v1.1.0
+ * @since v1.1.0
+ * @author zrx_hhh
+ */
+public class ReviewConstants {
+
+ public static final int NOT_APPROVED = 0;
+
+ public static final int APPROVED = 1;
+
+ public static final int PENDING = 2;
+
+}
+
+
diff --git a/src/main/java/com/jsl/oa/controllers/ReviewController.java b/src/main/java/com/jsl/oa/controllers/ReviewController.java
index dff99f8..197462d 100644
--- a/src/main/java/com/jsl/oa/controllers/ReviewController.java
+++ b/src/main/java/com/jsl/oa/controllers/ReviewController.java
@@ -5,7 +5,6 @@ import com.jsl.oa.utils.BaseResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
@@ -26,16 +25,29 @@ public class ReviewController {
private final ReviewService reviewService;
/**
- * @Description: 获取我的审核列表
+ * @Description: 获取审核记录列表
* @Date: 2024/4/11
* @Param request:
**/
- @GetMapping("/review/getMyReview")
- public BaseResponse getUserReview(@RequestParam Long projectId, HttpServletRequest request) {
+ @GetMapping("/review/getReviewRecords")
+ public BaseResponse getUserReviewRecords(HttpServletRequest request) {
log.info("请求接口[GET]: /review/getMyReview");
- return reviewService.getUserReview(projectId, request);
+ return reviewService.getUserReview(request);
}
+
+ /**
+ * @Description: 获取我的审核数据
+ * @Date: 2024/4/12
+ * @Param request:
+ **/
+ @GetMapping("/review/getMyReview")
+ public BaseResponse getMyReview(HttpServletRequest request) {
+ log.info("请求接口[GET]: /review/getMyReview");
+ return reviewService.getUserPendingApprovalReview(request);
+ }
+
+
}
diff --git a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java
index ea2613e..604c048 100644
--- a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java
+++ b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java
@@ -12,10 +12,19 @@ public interface ReviewMapper {
+ "AND is_delete = 0")
List selectAllReviewFromProject(Long projectId);
+ @Select("SELECT * FROM organize_oa.oa_review WHERE project_id = #{projectId}"
+ + "AND is_delete = 0 AND review_result = #{result}")
+ List selectApprovedResultReviewFromProject(Long projectId, Integer result);
+
@Select("SELECT * FROM organize_oa.oa_review WHERE "
+ "project_subsystem_id = #{subsystemId} AND is_delete = 0")
List selectReviewFromSubsystem(Long subsystemId);
+ @Select("SELECT * FROM organize_oa.oa_review WHERE "
+ + "project_subsystem_id = #{subsystemId} "
+ + "AND is_delete = 0 AND review_result = #{result}")
+ List selectApprovedResultReviewsFromSubsystem(Long subsystemId, Integer result);
+
@Select("SELECT * FROM organize_oa.oa_review WHERE "
+ "project_submodule_id = #{subsystemId} AND is_delete = 0")
List selectReviewFromSubmodule(Long submoduleId);
diff --git a/src/main/java/com/jsl/oa/services/ReviewService.java b/src/main/java/com/jsl/oa/services/ReviewService.java
index af5b9a2..acd3c04 100644
--- a/src/main/java/com/jsl/oa/services/ReviewService.java
+++ b/src/main/java/com/jsl/oa/services/ReviewService.java
@@ -7,6 +7,8 @@ import javax.servlet.http.HttpServletRequest;
public interface ReviewService {
- BaseResponse getUserReview(Long projectId, HttpServletRequest request);
+ BaseResponse getUserPendingApprovalReview(HttpServletRequest request);
+
+ BaseResponse getUserReview(HttpServletRequest request);
}
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 2157ff6..9ddcd42 100644
--- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java
+++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java
@@ -1,6 +1,7 @@
package com.jsl.oa.services.impl;
+import com.jsl.oa.common.constant.ReviewConstants;
import com.jsl.oa.dao.ProjectDAO;
import com.jsl.oa.dao.ReviewDAO;
import com.jsl.oa.dao.UserDAO;
@@ -20,6 +21,8 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
@Slf4j
@@ -36,7 +39,65 @@ public class ReviewServiceImpl implements ReviewService {
@Override
- public BaseResponse getUserReview(Long projectId, HttpServletRequest request) {
+ public BaseResponse getUserPendingApprovalReview(HttpServletRequest request) {
+ log.info("\t> 执行 Service 层 ReviewService.getUserPendingApprovalReview 方法");
+
+ //获取用户
+ Long userId = Processing.getAuthHeaderToUserId(request);
+
+ //存储审核数据的数组
+ List reviewData = new ArrayList<>();
+
+ //先获取用户为项目负责人的项目列表
+ projectDAO.getProjectByPrincipalUser(userId);
+
+ //先从用户为 项目负责人 的项目中获取对应 审核信息
+ for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) {
+ //查询每个项目下所有的审核信息
+ List reviewDOS = reviewMapper.
+ selectApprovedResultReviewFromProject(projectDO.getId(),
+ ReviewConstants.PENDING);
+ //封装VO类
+ reviewData.addAll(encapsulateArrayClass(reviewDOS));
+ }
+
+ //在从用户为 子系统负责人 的项目中获取对应 审核信息
+ for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubsystemByUserId(userId)) {
+ //查询每个项目下状态为2的审核信息
+ List reviewDOS = reviewMapper.
+ selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(),
+ ReviewConstants.PENDING);
+ //封装VO类
+ reviewData.addAll(encapsulateArrayClass(reviewDOS));
+ }
+
+
+ //在从用户为 子模块负责人 的项目中获取对应 审核信息
+ for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubmoduleByUserId(userId)) {
+ //查询每个项目下所有的审核信息
+ List reviewDOS = reviewMapper.
+ selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(),
+ ReviewConstants.PENDING);
+ //封装VO类
+ reviewData.addAll(encapsulateArrayClass(reviewDOS));
+ }
+
+
+ //按照申请时间降序排序
+ Collections.sort(reviewData, new Comparator() {
+ @Override
+ public int compare(ReviewVO review1, ReviewVO review2) {
+ return review2.getApplicationTime().compareTo(review1.getApplicationTime());
+ }
+ });
+
+ return ResultUtil.success(reviewData);
+ }
+
+
+
+ @Override
+ public BaseResponse getUserReview(HttpServletRequest request) {
log.info("\t> 执行 Service 层 ReviewService.getUserReview 方法");
//获取用户
@@ -76,6 +137,14 @@ public class ReviewServiceImpl implements ReviewService {
reviewData.addAll(encapsulateArrayClass(reviewDOS));
}
+ //按照申请时间降序排序
+ Collections.sort(reviewData, new Comparator() {
+ @Override
+ public int compare(ReviewVO review1, ReviewVO review2) {
+ return review2.getApplicationTime().compareTo(review1.getApplicationTime());
+ }
+ });
+
return ResultUtil.success(reviewData);
}