Compare commits

..

No commits in common. "3b9a7cfe5e335a446a2cdf3334df3627901c9047" and "381de9d54b205a20cb0b0b73d5d2a2c42bd8b5a4" have entirely different histories.

7 changed files with 6 additions and 165 deletions

View File

@ -1,23 +0,0 @@
USE organize_oa;
create table oa_project_child
(
id bigint unsigned auto_increment comment '项目id'
primary key,
project_id bigint unsigned not null comment '主要项目id',
name varchar(100) not null comment '项目名称',
principal_id bigint unsigned not null comment '项目负责人',
description json null comment '项目描述(技术选择,描述)',
cycle int unsigned not null comment '项目周期',
work_load int unsigned default '1' not null comment '工作量(人天)',
files json null comment '子项目文件',
complete_time date null comment '完成时间',
created_at timestamp default CURRENT_TIMESTAMP not null comment '创建时间',
updated_at timestamp null comment '更新时间',
is_delete tinyint(1) default 0 not null comment '项目是否删除',
constraint oa_project_child_oa_user_id_fk
foreign key (principal_id) references oa_user (id)
on update cascade
)
comment '项目表';

View File

@ -1,21 +0,0 @@
USE organize_oa;
create table oa_project_modules
(
id bigint unsigned auto_increment comment '模块id'
primary key,
project_child_id bigint unsigned not null comment '子项目id',
name varchar(100) not null comment '模块名称',
principal_id bigint unsigned not null comment '模块负责人',
description json null comment '项目描述(技术选择,描述)',
work_load int unsigned default '1' not null comment '工作量(人天)',
complete_time datetime null comment '完成时间',
created_at timestamp default CURRENT_TIMESTAMP not null comment '创建时间',
updated_at timestamp null comment '更新时间',
is_delete tinyint(1) default 0 not null comment '项目是否删除',
constraint oa_project_modules_oa_user_id_fk
foreign key (principal_id) references oa_user (id)
on update cascade
)
comment '模块表';

View File

@ -1,23 +0,0 @@
package com.jsl.oa.common.constant;
/**
* <h1>Review常量类</h1>
* <hr/>
* 用于存放审核信息的审批状态常量
*
* @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;
}

View File

@ -5,6 +5,7 @@ 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;
@ -25,29 +26,16 @@ public class ReviewController {
private final ReviewService reviewService;
/**
* @Description: 获取审核记录列表
* @Description: 获取我的审核列表
* @Date: 2024/4/11
* @Param request:
**/
@GetMapping("/review/getReviewRecords")
public BaseResponse getUserReviewRecords(HttpServletRequest request) {
log.info("请求接口[GET]: /review/getMyReview");
return reviewService.getUserReview(request);
}
/**
* @Description: 获取我的审核数据
* @Date: 2024/4/12
* @Param request:
**/
@GetMapping("/review/getMyReview")
public BaseResponse getMyReview(HttpServletRequest request) {
public BaseResponse getUserReview(@RequestParam Long projectId, HttpServletRequest request) {
log.info("请求接口[GET]: /review/getMyReview");
return reviewService.getUserPendingApprovalReview(request);
return reviewService.getUserReview(projectId, request);
}
}

View File

@ -12,19 +12,10 @@ public interface ReviewMapper {
+ "AND is_delete = 0")
List<ReviewDO> selectAllReviewFromProject(Long projectId);
@Select("SELECT * FROM organize_oa.oa_review WHERE project_id = #{projectId}"
+ "AND is_delete = 0 AND review_result = #{result}")
List<ReviewDO> selectApprovedResultReviewFromProject(Long projectId, Integer result);
@Select("SELECT * FROM organize_oa.oa_review WHERE "
+ "project_subsystem_id = #{subsystemId} AND is_delete = 0")
List<ReviewDO> selectReviewFromSubsystem(Long subsystemId);
@Select("SELECT * FROM organize_oa.oa_review WHERE "
+ "project_subsystem_id = #{subsystemId} "
+ "AND is_delete = 0 AND review_result = #{result}")
List<ReviewDO> selectApprovedResultReviewsFromSubsystem(Long subsystemId, Integer result);
@Select("SELECT * FROM organize_oa.oa_review WHERE "
+ "project_submodule_id = #{subsystemId} AND is_delete = 0")
List<ReviewDO> selectReviewFromSubmodule(Long submoduleId);

View File

@ -7,8 +7,6 @@ import javax.servlet.http.HttpServletRequest;
public interface ReviewService {
BaseResponse getUserPendingApprovalReview(HttpServletRequest request);
BaseResponse getUserReview(HttpServletRequest request);
BaseResponse getUserReview(Long projectId, HttpServletRequest request);
}

View File

@ -1,7 +1,6 @@
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;
@ -21,8 +20,6 @@ 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
@ -39,65 +36,7 @@ public class ReviewServiceImpl implements ReviewService {
@Override
public BaseResponse getUserPendingApprovalReview(HttpServletRequest request) {
log.info("\t> 执行 Service 层 ReviewService.getUserPendingApprovalReview 方法");
//获取用户
Long userId = Processing.getAuthHeaderToUserId(request);
//存储审核数据的数组
List<ReviewVO> reviewData = new ArrayList<>();
//先获取用户为项目负责人的项目列表
projectDAO.getProjectByPrincipalUser(userId);
//先从用户为 项目负责人 的项目中获取对应 审核信息
for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) {
//查询每个项目下所有的审核信息
List<ReviewDO> reviewDOS = reviewMapper.
selectApprovedResultReviewFromProject(projectDO.getId(),
ReviewConstants.PENDING);
//封装VO类
reviewData.addAll(encapsulateArrayClass(reviewDOS));
}
//在从用户为 子系统负责人 的项目中获取对应 审核信息
for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubsystemByUserId(userId)) {
//查询每个项目下状态为2的审核信息
List<ReviewDO> reviewDOS = reviewMapper.
selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(),
ReviewConstants.PENDING);
//封装VO类
reviewData.addAll(encapsulateArrayClass(reviewDOS));
}
//在从用户为 子模块负责人 的项目中获取对应 审核信息
for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubmoduleByUserId(userId)) {
//查询每个项目下所有的审核信息
List<ReviewDO> reviewDOS = reviewMapper.
selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(),
ReviewConstants.PENDING);
//封装VO类
reviewData.addAll(encapsulateArrayClass(reviewDOS));
}
//按照申请时间降序排序
Collections.sort(reviewData, new Comparator<ReviewVO>() {
@Override
public int compare(ReviewVO review1, ReviewVO review2) {
return review2.getApplicationTime().compareTo(review1.getApplicationTime());
}
});
return ResultUtil.success(reviewData);
}
@Override
public BaseResponse getUserReview(HttpServletRequest request) {
public BaseResponse getUserReview(Long projectId, HttpServletRequest request) {
log.info("\t> 执行 Service 层 ReviewService.getUserReview 方法");
//获取用户
@ -137,14 +76,6 @@ public class ReviewServiceImpl implements ReviewService {
reviewData.addAll(encapsulateArrayClass(reviewDOS));
}
//按照申请时间降序排序
Collections.sort(reviewData, new Comparator<ReviewVO>() {
@Override
public int compare(ReviewVO review1, ReviewVO review2) {
return review2.getApplicationTime().compareTo(review1.getApplicationTime());
}
});
return ResultUtil.success(reviewData);
}