Compare commits

...

6 Commits

Author SHA1 Message Date
xiangZr-hhh
8ab59b5a1d patch:补丁
All checks were successful
代码检查 / 代码检查 (pull_request) Successful in 23s
修正部分数据表字段,修正对应接口
2024-04-16 16:07:06 +08:00
xiangZr-hhh
bc545bbd76 Merge branch 'develop' of https://git-fy.cn/WxxyDeveloper/JSL_OrganizeInternalOA into feature-zrx
# Conflicts:
#	src/main/java/com/jsl/oa/mapper/ProjectMapper.java
#	src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java
2024-04-16 14:31:33 +08:00
3d7f457ef3 Merge: 初步合并,后续还需要继续进行修改内容
Reviewed-on: #14
Reviewed-by: 筱锋xiao_lfeng <gm@x-lf.cn>
2024-04-14 14:55:42 +08:00
aa9efbcc8b
patch: 补丁
All checks were successful
代码检查 / 代码检查 (pull_request) Successful in 18s
2024-04-14 14:54:46 +08:00
05ccc3fdd8
patch: 部分内容进行补丁
All checks were successful
代码检查 / 代码检查 (pull_request) Successful in 23s
- 拼写错误
- 未引入部分删除
2024-04-14 14:52:33 +08:00
176yunxuan
55cd033a7e fix:初步重构
All checks were successful
代码检查 / 代码检查 (pull_request) Successful in 30s
2024-04-13 20:42:42 +08:00
27 changed files with 361 additions and 404 deletions

View File

@ -74,5 +74,19 @@ public class MessageController {
return messageService.messageGet(begin, end, page, pageSize, uid);
}
}
@GetMapping("/message/get/id")
public BaseResponse messageGetById(
@RequestParam Long id,
HttpServletRequest request) {
log.info("请求接口[GET]:/message/get/id");
String token = request.getHeader("Authorization").replace("Bearer ", "");
Long uid = JwtUtil.getUserId(token);
if (uid == null) {
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
} else {
return messageService.messageGetById(id, uid);
}
}
}

View File

@ -1,4 +1,5 @@
package com.jsl.oa.controllers;
import com.jsl.oa.model.vodata.ProjectEditVO;
import com.jsl.oa.model.vodata.ProjectInfoVO;
import com.jsl.oa.model.vodata.ProjectWorkVO;
@ -14,6 +15,7 @@ import org.jetbrains.annotations.NotNull;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@ -48,17 +50,10 @@ public class ProjectController {
return projectService.getHeader(id);
}
/**
* @param id 获取项目 id
* @return {@link BaseResponse}
*/
@GetMapping("/project/get/id")
public BaseResponse projectGetById(@RequestParam Integer id) {
return projectService.getById(id);
}
/**
* @param id 获取项目 id
* @param id 要查询的 id
* @return {@link BaseResponse}
*/
@GetMapping("/project/getwork/id")
@ -66,19 +61,28 @@ public class ProjectController {
return projectService.getWorkById(id);
}
/**
* @param id 要查询项目的 id
* @return {@link BaseResponse}
*/
@GetMapping("/project/get/id")
public BaseResponse projectGetById(@RequestParam Integer id) {
return projectService.getById(id);
}
/**
* 游客获取项目
*
* @return {@link BaseResponse}
*/
@GetMapping("/project/get/custom")
public BaseResponse projectGetCustom(@RequestParam(required = false) Integer id,
public BaseResponse projectGetCustom(
@RequestParam(required = false) List<String> tags,
@RequestParam(required = false) List<Integer> isFinish,
@RequestParam(required = false) List<String> isFinish,
@RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false, defaultValue = "10") Integer pageSize) {
log.info("请求接口[GET]: /project/all/get");
return projectService.tget(id, tags, isFinish, page, pageSize);
log.info("请求接口[GET]: /project/get/custom");
return projectService.tGet(tags, isFinish, page, pageSize);
}
/**
@ -87,31 +91,31 @@ public class ProjectController {
* @return {@link BaseResponse}
*/
@GetMapping("/project/get")
public BaseResponse projectGet(@RequestParam(required = false) Integer listAll,
public BaseResponse projectGet(
@RequestParam(required = false) List<String> tags,
@RequestParam(required = false) List<Integer> isFinish,
@RequestParam(required = false) List<String> isFinish,
@RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false, defaultValue = "10") Integer pageSize,
HttpServletRequest request) {
log.info("请求接口[GET]: /project/get");
return projectService.get(listAll, request, tags, isFinish, page, pageSize);
return projectService.get(request, tags, isFinish, page, pageSize);
}
/**
* 我管理的查询
* 我管理的页面的项目查询
*
* @return {@link BaseResponse}
*/
@GetMapping("/project/work/get")
public BaseResponse projectWorkGet(@RequestParam(required = false) Integer listAll,
@GetMapping("/project/child/get")
public BaseResponse projectWorkGet(
@RequestParam(required = false) List<String> tags,
@RequestParam(required = false) List<Integer> isFinish,
@RequestParam(required = false) List<String> isFinish,
@RequestParam(required = false) Integer is,
@RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false, defaultValue = "10") Integer pageSize,
HttpServletRequest request) {
log.info("请求接口[GET]: /project/work/get");
return projectService.workget(listAll, request, tags, isFinish, is, page, pageSize);
return projectService.workGet(request, tags, isFinish, is, page, pageSize);
}
/**
@ -187,10 +191,19 @@ public class ProjectController {
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.projecWorktAdd(request, projectWorkVO);
return projectService.projectWorkAdd(request, projectWorkVO);
}
/**
* 项目添加
*
* @param request 请求
* @param projectInfoVO 项目信息
* @param bindingResult 参数校验
* @return {@link BaseResponse}
*/
@PostMapping("/project/add")
public BaseResponse projectAdd(HttpServletRequest request,
@RequestBody @Validated ProjectInfoVO projectInfoVO,

View File

@ -36,9 +36,12 @@ public class ReviewController {
* @Param request:
**/
@GetMapping("/review/getReviewRecords")
public BaseResponse getUserReviewRecords(HttpServletRequest request) {
public BaseResponse getUserReviewRecords(
@RequestParam Integer page,
@RequestParam Integer pageSize,
HttpServletRequest request) {
log.info("请求接口[GET]: /review/getMyReview");
return reviewService.getUserReview(request);
return reviewService.getUserReview(page, pageSize, request);
}
@ -48,9 +51,11 @@ public class ReviewController {
* @Param request:
**/
@GetMapping("/review/getMyReview")
public BaseResponse getMyReview(HttpServletRequest request) {
public BaseResponse getMyReview(@RequestParam Integer page,
@RequestParam Integer pageSize,
HttpServletRequest request) {
log.info("请求接口[GET]: /review/getMyReview");
return reviewService.getUserPendingApprovalReview(request);
return reviewService.getUserPendingApprovalReview(page, pageSize, request);
}
@ -73,7 +78,6 @@ public class ReviewController {
}
@PutMapping("/review/updateReview")
public BaseResponse updateReview(@RequestBody @Validated ReviewUpdateResultVO reviewUpdateResultVOVO,
@NotNull BindingResult bindingResult,
@ -88,8 +92,6 @@ public class ReviewController {
}
}

View File

@ -1,8 +1,9 @@
package com.jsl.oa.dao;
import com.google.gson.Gson;
import com.jsl.oa.mapper.ProjectMapper;
import com.jsl.oa.model.dodata.ProjectChildDO;
import com.jsl.oa.model.dodata.ProjectDO;
import com.jsl.oa.model.dodata.ProjectWorkDO;
import com.jsl.oa.model.dodata.ProjectModuleDO;
import com.jsl.oa.model.dodata.info.ProjectShowDO;
import com.jsl.oa.model.vodata.ProjectEditVO;
import com.jsl.oa.model.vodata.ProjectInfoVO;
@ -35,7 +36,7 @@ public class ProjectDAO {
}
public void projectWorkAdd(ProjectWorkVO projectWorkVO) {
log.info("\t> 执行 DAO 层 ProjectDAO.projecWorktAdd 方法");
log.info("\t> 执行 DAO 层 ProjectDAO.projectWorkAdd 方法");
log.info("\t\t> 从 MySQL 获取数据");
projectMapper.projectWorkAdd(projectWorkVO);
}
@ -115,7 +116,7 @@ public class ProjectDAO {
return projectMapper.getProjectById(id);
}
public List<ProjectDO> get(Long userId, Integer listAll, List<String> tags, List<Integer> isFinish) {
public List<ProjectDO> get(Long userId, List<String> tags, List<String> isFinish) {
log.info("\t> 执行 DAO 层 ProjectDAO.get 方法");
log.info("\t\t> 从 MySQL 获取数据");
if (tags != null && !tags.isEmpty()) {
@ -128,16 +129,12 @@ public class ProjectDAO {
return projectMapper.getByIsfinish(userId, isFinish);
}
if (listAll == 0) {
return projectMapper.get(userId);
} else {
return projectMapper.get1(userId);
}
}
public List<ProjectDO> workget(Long userId, Integer listAll,
List<String> tags, List<Integer> isFinish, Integer is) {
log.info("\t> 执行 DAO 层 ProjectDAO.workget 方法");
public List<ProjectDO> workget(Long userId, List<String> tags, List<String> isFinish, Integer is) {
log.info("\t> 执行 DAO 层 ProjectDAO.workGet 方法");
log.info("\t\t> 从 MySQL 获取数据");
if (tags != null && !tags.isEmpty()) {
return projectMapper.workgetByTags(userId, tags, is, isFinish);
@ -146,12 +143,8 @@ public class ProjectDAO {
if (isFinish != null && !isFinish.isEmpty()) {
return projectMapper.workgetByIsfinish(userId, isFinish, is);
}
if (listAll == 0) {
return projectMapper.workget(userId, is);
} else {
return projectMapper.workget1(userId, is);
}
}
public ProjectDO getByName(String name) {
@ -181,7 +174,7 @@ public class ProjectDAO {
}
public List<ProjectDO> tget(Integer id, List<Integer> isFinish, List<String> tags) {
public List<ProjectDO> tget(List<String> isFinish, List<String> tags) {
log.info("DAO层tget");
if (tags != null && !tags.isEmpty()) {
@ -191,30 +184,29 @@ public class ProjectDAO {
if (isFinish != null && !isFinish.isEmpty()) {
return projectMapper.tgetByIsfinish(isFinish);
}
return projectMapper.tget(id);
return projectMapper.getAllProject();
}
public ProjectWorkDO getProjectWorkerById(Long id) {
public ProjectModuleDO getProjectWorkerById(Long id) {
return projectMapper.getProjectWorkById(id);
}
public List<ProjectDO> getProjectByPrincipalUser(Long uid) {
log.info("\t> 执行 DAO 层 ProjectDAO.getProjectFromUser 方法");
log.info("\t\t> 从 MySQL 获取数据");
return projectMapper.getProjectByPrincipalUser(uid);
return projectMapper.getAllProjectByUserId(uid);
}
public List<ProjectWorkDO> getAllSubsystemByUserId(Long uid) {
log.info("\t> 执行 DAO 层 ProjectDAO.getAllSubsystemByUserId 方法");
public List<ProjectChildDO> getAllProjectChildByUId(Long uid) {
log.info("\t> 执行 DAO 层 ProjectDAO.getAllProjectChildByUId 方法");
log.info("\t\t> 从 MySQL 获取数据");
return projectMapper.getAllSubsystemByUserId(uid);
return projectMapper.getAllChildProjectByUserId(uid);
}
public List<ProjectWorkDO> getAllSubmoduleByUserId(Long uid) {
log.info("\t> 执行 DAO 层 ProjectDAO.getAllSubmoduleByUserId 方法");
public List<ProjectModuleDO> getAllModuleByUId(Long uid) {
log.info("\t> 执行 DAO 层 ProjectDAO.getAllModuleByUId 方法");
log.info("\t\t> 从 MySQL 获取数据");
return projectMapper.getAllSubmoduleByUserId(uid);
return projectMapper.getAllModuleByUserId(uid);
}
}

View File

@ -62,6 +62,15 @@ public class ReviewDAO {
return reviewMapper.selectReviewFromSubmodule(submoduleId);
}
public List<ReviewDO> selectApprovedResultReviewsFromSubModule(Long id,
short result) {
log.info("\t> 执行 DAO 层 ReviewDAO.selectApprovedResultReviewsFromSubModule 方法");
log.info("\t\t> 从 MySQL 获取数据");
return reviewMapper.selectApprovedResultReviewFromModule(id,
result);
}
public void addReview(ReviewDO reviewDO) {
log.info("\t> 执行 DAO 层 ReviewDAO.addReview 方法");
log.info("\t\t> 从 MySQL 插入数据");
@ -81,13 +90,13 @@ public class ReviewDAO {
}
public String getNameBySubproject(Long subId) {
public String getNameByModule(Integer subId) {
log.info("\t> 执行 DAO 层 ReviewDAO.getNameBySubproject 方法");
if (subId != null) {
log.info("\t\t> 从 MySQL 获取数据");
return projectMapper.getProjectWorkById(subId).getName();
return projectMapper.getModuleById(subId).getName();
}
if (subId == null) {

View File

@ -1,6 +1,6 @@
package com.jsl.oa.mapper;
import com.jsl.oa.model.dodata.ProjectWorkDO;
import com.jsl.oa.model.dodata.ProjectModuleDO;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@ -12,9 +12,9 @@ public interface ModuleMapper {
List<ProjectWorkDO> getByProjectId(Integer projectId, Long userId, int is);
List<ProjectModuleDO> getByProjectId(Integer projectId, Long userId, int is);
List<ProjectWorkDO> getBySysId(Integer sysId, Long userId, int is);
List<ProjectModuleDO> getBySysId(Integer sysId, Long userId, int is);
@Select("select principal_id from organize_oa.oa_project where id=#{projectId}")
Long getPidByProjectid(Integer projectId);
@ -26,7 +26,7 @@ public interface ModuleMapper {
void deleteMoudule(Long id);
@Select("select * from organize_oa.oa_project_work where pid=#{id} and is_delete=0 and type=1 ")
List<ProjectWorkDO> getAllMoudleByPid(Long id);
List<ProjectModuleDO> getAllMoudleByPid(Long id);
@Select("select principal_id from organize_oa.oa_project where id=(select project_id "
+ "from organize_oa.oa_project_work where oa_project_work.id = #{sysId})")

View File

@ -1,7 +1,7 @@
package com.jsl.oa.mapper;
import com.jsl.oa.model.dodata.ProjectCuttingDO;
import com.jsl.oa.model.dodata.ProjectChildDO;
import com.jsl.oa.model.dodata.ProjectDO;
import com.jsl.oa.model.dodata.ProjectWorkDO;
import com.jsl.oa.model.dodata.ProjectModuleDO;
import com.jsl.oa.model.vodata.ProjectInfoVO;
import com.jsl.oa.model.vodata.ProjectWorkSimpleVO;
import com.jsl.oa.model.vodata.ProjectWorkVO;
@ -17,10 +17,10 @@ import java.util.List;
public interface ProjectMapper {
@Insert("insert into organize_oa.oa_project "
+ "(name, description, principal_id, cycle,file,complete_time,"
+ "deadline,status,is_finish,tags,work_load) "
+ "value (#{name},#{description},#{principalId},#{cycle},#{file}"
+ ",#{completeTime},#{deadline},#{status},#{isFinish},#{tags},#{workLoad})")
+ "(name, description, principal_id, cycle,files,complete_time,"
+ "dead_line,status,tags,work_load) "
+ "value (#{name},#{description},#{principalId},#{cycle},#{files}"
+ ",#{completeTime},#{deadLine},#{status},#{tags},#{workLoad})")
void projectAdd(ProjectInfoVO projectAdd);
@Insert("insert into organize_oa.oa_project_work (project_id, pid, name, principal_id,"
@ -37,8 +37,8 @@ public interface ProjectMapper {
@Select("select * from organize_oa.oa_project where id=#{id}")
ProjectDO tgetProjectById(Integer id);
@Select("select * from organize_oa.oa_project_work where principal_id=#{uid}")
List<ProjectCuttingDO> projectGetUserInCutting(Long uid);
@Select("select * from organize_oa.oa_project where is_delete=false")
List<ProjectDO> getAllProject();
@Select("select data from organize_oa.oa_config where value='project_show'")
String getHeader();
@ -50,11 +50,11 @@ public interface ProjectMapper {
+ " updated_at = CURRENT_TIMESTAMP WHERE value = 'project_show'")
boolean setProjectShow(String setProjectShow);
List<ProjectDO> getByIsfinish(Long userId, List<Integer> isFinish);
List<ProjectDO> getByIsfinish(Long userId, List<String> isFinish);
List<ProjectDO> getByTags(Long userId, List<String> tags, List<Integer> isFinish);
List<ProjectDO> getByTags(Long userId, List<String> tags, List<String> isFinish);
@Select("select * from organize_oa.oa_project where is_delete=false and status=1 and principal_id=#{userId}")
@Select("select * from organize_oa.oa_project where is_delete=false and principal_id=#{userId}")
List<ProjectDO> get(Long userId);
@Select("select * from organize_oa.oa_project where status =1 and principal_id=#{userId}")
@ -66,9 +66,9 @@ public interface ProjectMapper {
@Update("UPDATE organize_oa.oa_project SET is_delete = 1 where id=#{id}")
boolean deleteProject(Long id);
List<ProjectDO> workgetByIsfinish(Long userId, List<Integer> isFinish, Integer is);
List<ProjectDO> workgetByIsfinish(Long userId, List<String> isFinish, Integer is);
List<ProjectDO> workgetByTags(Long userId, List<String> tags, Integer is, List<Integer> isFinish);
List<ProjectDO> workgetByTags(Long userId, List<String> tags, Integer is, List<String> isFinish);
//@Select("select * from organize_oa.oa_project where id in(select project_id from " +
//"organize_oa.oa_project_work where is_delete=false and status =1 and principal_id=#{userId} and type=0)")
@ -80,46 +80,57 @@ public interface ProjectMapper {
List<ProjectDO> tget(Integer id);
List<ProjectDO> tgetByIsfinish(List<Integer> isFinish);
List<ProjectDO> tgetByIsfinish(List<String> isFinish);
List<ProjectDO> tgetBytags(List<String> tags, List<Integer> isFinish);
List<ProjectDO> tgetBytags(List<String> tags, List<String> isFinish);
@Select("select * from organize_oa.oa_project_work where id=#{id}")
@Select("select * from organize_oa.oa_project_child where id=#{id}")
ProjectWorkSimpleVO getWorkById(Integer id);
@Select("select * from organize_oa.oa_project_modules where id=#{id}")
ProjectModuleDO getModuleById(Integer id);
@Select("select principal_id from organize_oa.oa_project_work where id=#{pid}")
Long getPirIdbyWorkid(Long pid);
@Select("select principal_id from organize_oa.oa_project_work where id=#{id} "
@Select("select principal_id from organize_oa.oa_project_modules where project_child_id=#{id} "
+ "AND is_delete = 0")
Long getPid(Integer id);
@Select("select * from organize_oa.oa_project_work where id=#{id} "
+ "AND is_delete = 0")
ProjectWorkDO getProjectWorkById(Long id);
ProjectModuleDO getProjectWorkById(Long id);
@Select("select principal_id from organize_oa.oa_project_work where project_id=#{id}")
@Select("select principal_id from organize_oa.oa_project_child where project_id=#{id}")
List <Long> getMemberByProjectId(Integer id);
@Select("select principal_id from organize_oa.oa_project_work where pid=#{id}")
@Select("select principal_id from organize_oa.oa_project_modules where project_child_id=#{id}")
List <Long> getMemberBySystemId(Integer id);
@Select("select * from organize_oa.oa_project_work "
+ "where DATE(deadline) = DATE(#{threeDayLater}) and is_finish != 1")
List<ProjectWorkDO> getProjectWorkByTime(LocalDateTime threeDayLater);
@Select("select * from organize_oa.oa_project_modules "
+ "where DATE(deadline) = DATE(#{threeDayLater}) and status = 0")
List<ProjectModuleDO> getProjectWorkByTime(LocalDateTime threeDayLater);
@Select("select * from organize_oa.oa_project_work where "
+ "principal_id=#{uid} "
+ "AND is_delete = 0 AND type = 1")
List<ProjectWorkDO> getAllSubmoduleByUserId(Long uid);
@Select("select * from organize_oa.oa_project_work where "
+ "principal_id=#{uid} "
+ "AND is_delete = 0 AND type = 0")
List<ProjectWorkDO> getAllSubsystemByUserId(Long uid);
@Select("select * from organize_oa.oa_project_modules "
+ "where is_delete = 0 and principal_id = #{uid}")
List<ProjectModuleDO> getAllModuleByUserId(Long uid);
@Select("select * from organize_oa.oa_project where "
+ "principal_id=#{uid} "
+ "AND is_delete = 0")
List<ProjectDO> getProjectByPrincipalUser(Long uid);
@Select("select * from organize_oa.oa_project_child "
+ "where project_id = #{pid} and is_delete = 0 ")
List<ProjectChildDO> getAllChildProjectByUserId(Long uid);
@Select("select * from organize_oa.oa_project "
+ "where is_delete = 0 and principal_id = #{uid}")
List<ProjectDO> getAllProjectByUserId(Long uid);
@Select("select * from organize_oa.oa_project_child where "
+ "DATE (created_at) = DATE (#{threeDaysLater}) and status = 0")
List<ProjectChildDO> getProjectChildByTime(LocalDateTime threeDaysLater);
@Select("select * from organize_oa.oa_project_child where "
+ "id = #{id} and is_delete = 0")
ProjectChildDO getProjectChildById(Integer id);
}

View File

@ -1,7 +1,8 @@
package com.jsl.oa.mapper;
import com.jsl.oa.model.dodata.ReviewDO;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@ -17,17 +18,21 @@ public interface ReviewMapper {
List<ReviewDO> selectApprovedResultReviewFromProject(Long projectId, short result);
@Select("SELECT * FROM organize_oa.oa_review WHERE "
+ "project_subsystem_id = #{subsystemId} AND is_delete = 0")
List<ReviewDO> selectReviewFromSubsystem(Long subsystemId);
+ "project_child_id = #{childId} AND is_delete = 0")
List<ReviewDO> selectReviewFromSubsystem(Long childId);
@Select("SELECT * FROM organize_oa.oa_review WHERE "
+ "project_subsystem_id = #{subsystemId} "
+ "project_child_id = #{childId} "
+ "AND is_delete = 0 AND review_result = #{result}")
List<ReviewDO> selectApprovedResultReviewsFromSubsystem(Long subsystemId, short result);
List<ReviewDO> selectApprovedResultReviewsFromSubsystem(Long childId, short result);
@Select("SELECT * FROM organize_oa.oa_review WHERE "
+ "project_submodule_id = #{subsystemId} AND is_delete = 0")
List<ReviewDO> selectReviewFromSubmodule(Long submoduleId);
+ "project_module_id = #{moduleId} AND is_delete = 0")
List<ReviewDO> selectReviewFromSubmodule(Long moduleId);
@Select("SELECT * FROM organize_oa.oa_review WHERE review_result = #{result} and "
+ "project_module_id = #{moduleId} AND is_delete = 0")
List<ReviewDO> selectApprovedResultReviewFromModule(Long moduleId, short result);
@Select("SELECT * FROM organize_oa.oa_review WHERE id = #{id} AND is_delete = 0")
ReviewDO selectReviewById(Long id);

View File

@ -18,19 +18,17 @@ import java.sql.Timestamp;
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProjectCuttingDO {
public class ProjectChildDO {
private Long id;
private Long principalId;
private Long projectId;
private Long pid;
private Long workLoad;
private Long cycle;
private Integer workLoad;
private Integer cycle;
private String name;
private String description;
private Integer isDelete;
private Integer isFinish;
private Integer status;
private boolean type;
private Timestamp beginTime;
private String files;
private Timestamp createdAt;
private Timestamp completeTime;
private Timestamp updatedAt;
}

View File

@ -23,20 +23,19 @@ public class ProjectDO {
private Long id;
private Long principalId;
private String tags;
private Long cycle;
private Integer cycle;
private String name;
private String file;
private String description;
private Integer isDelete;
private Integer isFinish;
private Long workLoad;
private Integer status;
private Integer workLoad;
private String status;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "UTC")
private Timestamp beginTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "UTC")
private Timestamp completeTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "UTC")
private Timestamp deadline;
private Timestamp createdAt;
private Timestamp updatedAt;
}

View File

@ -9,19 +9,15 @@ import java.sql.Timestamp;
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProjectWorkDO {
public class ProjectModuleDO {
private Long id;
private Long pid;
private Long projectId;
private Long projectChildId;
private Long principalId;
private Integer cycle;
private Integer workLoad;
private Integer type;
private String name;
private String description;
private String name;
private Integer isDelete;
private Integer isFinish;
private boolean status;
private Timestamp beginTime;
private Timestamp createdAt;
private Timestamp updatedAt;
private Timestamp completeTime;
}

View File

@ -35,9 +35,9 @@ public class ReviewDO {
//申请的项目id
private Long projectId;
//申请的子系统id
private Long projectSubsystemId;
private Long projectChildId;
//申请的子模块id
private Long projectSubmoduleId;
private Long projectModuleId;
//申请时间
private Date applicationTime;
//审核时间

View File

@ -20,10 +20,10 @@ public class ProjectInfoVO {
@NotNull(message = "工作量不能为空")
private Long workLoad;
private String tags;
private String file;
private String files;
private Timestamp beginTime;
private Timestamp completeTime;
private Timestamp deadline;
private Integer status;
private Integer isFinish;
private Timestamp deadLine;
private String status;
}

View File

@ -10,7 +10,6 @@ import lombok.experimental.Accessors;
public class ProjectSimpleVO {
private String name;
private String principalUser;
private Integer isFinish;
private String description;
private Long cycle;
private Long workLoad;

View File

@ -20,9 +20,9 @@ public class ReviewAddVO {
private Long projectId;
//申请的子系统id
@NotNull(message = "子系统id不能为空")
private Long projectSubsystemId;
private Long projectChildId;
//申请的子模块id
private Long projectSubmoduleId;
private Long projectModuleId;
}

View File

@ -0,0 +1,16 @@
package com.jsl.oa.model.vodata;
import lombok.Data;
import java.util.List;
@Data
public class ReviewDataVO {
private Integer dataTotal;
private List<ReviewVO> data;
}

View File

@ -25,11 +25,17 @@ public interface MessageService {
Integer pageSize,
Long uid);
void messageAdd(Integer pId, Integer systemId, Integer moddleId, Long uid, HttpServletRequest request);
void messageAdd(Integer pId, Integer systemId, Integer moddleId, Long uid, Long isPass, HttpServletRequest request);
void messageAdd(Integer pId, Integer type, Integer systemId, HttpServletRequest request);
void messageAdd(Integer pId, Integer systmeId, Integer moddleId, Integer type, HttpServletRequest request);
void messageAdd(Integer pId, Integer systemId, Integer moddleId, Long uid,
HttpServletRequest request);
void messageAdd(Integer pId, Integer systemId, Integer moddleId, Long uid, Long isPass,
HttpServletRequest request);
void messageAdd(Integer pId, Integer type, Integer systemId,
HttpServletRequest request);
void messageAdd(Integer pId, Integer systmeId, Integer moddleId, Integer type,
HttpServletRequest request);
void messageAdd(Integer pId, Integer systemId, Integer moddleId);
void messageRemind();
BaseResponse messageGetById(Long id, Long uid);
}

View File

@ -1,6 +1,8 @@
package com.jsl.oa.services;
import com.jsl.oa.model.vodata.*;
import com.jsl.oa.model.vodata.ProjectEditVO;
import com.jsl.oa.model.vodata.ProjectInfoVO;
import com.jsl.oa.model.vodata.ProjectWorkVO;
import com.jsl.oa.model.vodata.business.info.ProjectShowVO;
import com.jsl.oa.utils.BaseResponse;
@ -19,10 +21,10 @@ public interface ProjectService {
BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id);
BaseResponse get(Integer listAll,
BaseResponse get(
HttpServletRequest request,
List<String> tags,
List<Integer> isFinish,
List<String> isFinish,
Integer page,
Integer pageSize);
@ -32,19 +34,17 @@ public interface ProjectService {
BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectVO);
BaseResponse projectToOtherUserForCutting(HttpServletRequest request, Long oldUid, Long pid, Long newUid);
BaseResponse workget(Integer listAll,
BaseResponse workGet(
HttpServletRequest request,
List<String> tags,
List<Integer> isFinish,
List<String> isFinish,
Integer is,
Integer page,
Integer pageSize);
BaseResponse projecWorktAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO);
BaseResponse projectWorkAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO);
BaseResponse tget(Integer id, List<String> tags, List<Integer> isFinish, Integer page, Integer pageSize);
BaseResponse tGet(List<String> tags, List<String> isFinish, Integer page, Integer pageSize);
BaseResponse projectFileGet(HttpServletRequest request, Long projectId);

View File

@ -9,9 +9,9 @@ import javax.servlet.http.HttpServletRequest;
public interface ReviewService {
BaseResponse getUserPendingApprovalReview(HttpServletRequest request);
BaseResponse getUserPendingApprovalReview(Integer page, Integer pageSize, HttpServletRequest request);
BaseResponse getUserReview(HttpServletRequest request);
BaseResponse getUserReview(Integer page, Integer pageSize, HttpServletRequest request);
BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request);

View File

@ -4,7 +4,8 @@ import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.mapper.MessageMapper;
import com.jsl.oa.mapper.ProjectMapper;
import com.jsl.oa.model.dodata.MessageDO;
import com.jsl.oa.model.dodata.ProjectWorkDO;
import com.jsl.oa.model.dodata.ProjectChildDO;
import com.jsl.oa.model.dodata.ProjectModuleDO;
import com.jsl.oa.model.vodata.MessageAddVO;
import com.jsl.oa.model.vodata.MessageGetVO;
import com.jsl.oa.services.MessageService;
@ -117,13 +118,14 @@ public class MessageServiceImpl implements MessageService {
if (moddleId == null) {
messageAddVO.setText(senderName + "指派了" + projectName + "项目的" + systemName + "子系统给您");
} else {
String moddleName = projectMapper.getWorkById(moddleId).getName();
String moddleName = projectMapper.getModuleById(moddleId).getName();
messageAddVO.setText(senderName + "指派了" + projectName + "项目的" + systemName + "子系统的" + moddleName + "子模块给您");
}
messageAddVO.setType("跳转审批页");
messageMapper.messageAdd(messageAddVO);
}
/**
* 添加审批消息
*
@ -149,7 +151,7 @@ public class MessageServiceImpl implements MessageService {
MessageAddVO messageAddVO = new MessageAddVO();
messageAddVO.setUid(uid);
messageAddVO.setTitle("审批消息");
String moddleName = projectMapper.getWorkById(moddleId).getName();
String moddleName = projectMapper.getModuleById(moddleId).getName();
if (isPass == 1) {
messageAddVO.setText("您申请的" + projectName + "项目的" + systemName + "系统的" + moddleName + "模块负责人已通过");
} else {
@ -216,7 +218,7 @@ public class MessageServiceImpl implements MessageService {
String projectName = projectMapper.tgetProjectById(pId).getName();
String senderName = userDAO.getUserById(Processing.getAuthHeaderToUserId(request)).getUsername();
String systemName = projectMapper.getWorkById(systmeId).getName();
String moddleName = projectMapper.getWorkById(moddleId).getName();
String moddleName = projectMapper.getModuleById(moddleId).getName();
// 添加消息
// 1:删除模块 2:修改简介 3:修改周期
if (type == 1) {
@ -261,7 +263,7 @@ public class MessageServiceImpl implements MessageService {
// 获取项目名,系统名,模块名,负责人名
String projectName = projectMapper.tgetProjectById(pId).getName();
String systemName = projectMapper.getWorkById(systemId).getName();
String moddleName = projectMapper.getWorkById(moddleId).getName();
String moddleName = projectMapper.getModuleById(moddleId).getName();
String principalName = userDAO.getUserById(projectMapper.getPid(moddleId)).getUsername();
// 添加消息
MessageAddVO messageAddVO = new MessageAddVO();
@ -285,62 +287,87 @@ public class MessageServiceImpl implements MessageService {
LocalDateTime threeDaysLater = now.plusDays(3);
// 七天后时间
LocalDateTime sevenDaysLater = now.plusDays(7);
// 获取三天后到期的系统/模块
List<ProjectWorkDO> projectWorkDOList = projectMapper.getProjectWorkByTime(threeDaysLater);
// 获取七天后到期的系统/模块
List<ProjectWorkDO> projectWorkDOList1 = projectMapper.getProjectWorkByTime(sevenDaysLater);
// 获取三天后到期的模块
List<ProjectModuleDO> projectWorkDOList = projectMapper.getProjectWorkByTime(threeDaysLater);
// 获取七天后到期的模块
List<ProjectModuleDO> projectWorkDOList1 = projectMapper.getProjectWorkByTime(sevenDaysLater);
if (!projectWorkDOList1.isEmpty()) {
for (ProjectWorkDO projectWorkDO : projectWorkDOList) {
for (ProjectModuleDO projectWorkDO : projectWorkDOList) {
// 添加消息
MessageAddVO messageAddVO = new MessageAddVO();
messageAddVO.setUid(projectWorkDO.getPrincipalId());
messageAddVO.setTitle("提醒消息");
// 0:系统 1:模块
String projectName = projectMapper
.tgetProjectById(projectWorkDO.getProjectId().intValue()).getName();
String systemName;
if (projectWorkDO.getType() == 1) {
systemName = projectMapper.getWorkById(projectWorkDO.getPid().intValue()).getName();
String moddleName = projectMapper.getWorkById(projectWorkDO.getId().intValue()).getName();
.tgetProjectById(projectMapper.getWorkById(projectWorkDO.getProjectChildId().intValue())
.getProjectId().intValue()).getName();
String systemName = projectMapper.getWorkById(projectWorkDO.getProjectChildId().intValue()).getName();
String moddleName = projectWorkDO.getName();
messageAddVO.setText("您负责的" + projectName + "项目的" + systemName + "系统的" + moddleName + "模块"
+ "还有七天就要到期了,请及时处理");
messageAddVO.setType("跳转模块页");
} else {
systemName = projectMapper.getWorkById(projectWorkDO.getId().intValue()).getName();
messageAddVO.setText("您负责的" + projectName + "项目的" + systemName + "系统"
+ "还有七天就要到期了,请及时处理");
messageAddVO.setType("跳转系统页");
}
messageAddVO.setToId(projectWorkDO.getId().intValue());
messageMapper.messageAdd(messageAddVO);
}
}
if (!projectWorkDOList.isEmpty()) {
for (ProjectWorkDO projectWorkDO : projectWorkDOList) {
for (ProjectModuleDO projectWorkDO : projectWorkDOList) {
// 添加消息
MessageAddVO messageAddVO = new MessageAddVO();
messageAddVO.setUid(projectWorkDO.getPrincipalId());
messageAddVO.setTitle("提醒消息");
// 0:系统 1:模块
String projectName = projectMapper
.tgetProjectById(projectWorkDO.getProjectId().intValue()).getName();
String systemName;
if (projectWorkDO.getType() == 1) {
systemName = projectMapper.getWorkById(projectWorkDO.getPid().intValue()).getName();
String moddleName = projectMapper.getWorkById(projectWorkDO.getId().intValue()).getName();
.tgetProjectById(projectMapper.getWorkById(projectWorkDO.getProjectChildId().intValue())
.getPrincipalId().intValue()).getName();
String systemName = projectMapper.getWorkById(projectWorkDO.getProjectChildId().intValue()).getName();
String moddleName = projectWorkDO.getName();
messageAddVO.setText("您负责的" + projectName + "项目的" + systemName + "系统的" + moddleName + "模块"
+ "还有三天就要到期了,请及时处理");
messageAddVO.setType("跳转模块页");
} else {
systemName = projectMapper.getWorkById(projectWorkDO.getId().intValue()).getName();
messageAddVO.setText("您负责的" + projectName + "项目的" + systemName + "系统"
+ "还有三天就要到期了,请及时处理");
messageAddVO.setType("跳转系统页");
}
messageAddVO.setToId(projectWorkDO.getId().intValue());
messageMapper.messageAdd(messageAddVO);
}
}
// 获取七天后到期的系统
List<ProjectChildDO> projectChildDOList = projectMapper.getProjectChildByTime(sevenDaysLater);
if (!projectChildDOList.isEmpty()) {
for (ProjectChildDO projectChildDO : projectChildDOList) {
// 添加消息
MessageAddVO messageAddVO = new MessageAddVO();
messageAddVO.setUid(projectChildDO.getPrincipalId());
messageAddVO.setTitle("提醒消息");
String projectName = projectMapper.tgetProjectById(projectChildDO.getProjectId().intValue()).getName();
String systemName = projectChildDO.getName();
messageAddVO.setText("您负责的" + projectName + "项目的" + systemName + "系统还有七天就要到期了,请及时处理");
messageAddVO.setType("跳转系统页");
messageAddVO.setToId(projectChildDO.getId().intValue());
messageMapper.messageAdd(messageAddVO);
}
}
// 获取三天后到期的系统
List<ProjectChildDO> projectChildDOList1 = projectMapper.getProjectChildByTime(threeDaysLater);
if (!projectChildDOList1.isEmpty()) {
for (ProjectChildDO projectChildDO : projectChildDOList1) {
// 添加消息
MessageAddVO messageAddVO = new MessageAddVO();
messageAddVO.setUid(projectChildDO.getPrincipalId());
messageAddVO.setTitle("提醒消息");
String projectName = projectMapper.tgetProjectById(projectChildDO.getProjectId().intValue()).getName();
String systemName = projectChildDO.getName();
messageAddVO.setText("您负责的" + projectName + "项目的" + systemName + "系统还有三天就要到期了,请及时处理");
messageAddVO.setType("跳转系统页");
messageAddVO.setToId(projectChildDO.getId().intValue());
messageMapper.messageAdd(messageAddVO);
}
}
}
@Override
public BaseResponse messageGetById(Long id, Long uid) {
return ResultUtil.success(messageMapper.getMessageById(id));
}
}

View File

@ -4,7 +4,7 @@ import com.jsl.oa.dao.ProjectDAO;
import com.jsl.oa.dao.RoleDAO;
import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.mapper.ModuleMapper;
import com.jsl.oa.model.dodata.ProjectWorkDO;
import com.jsl.oa.model.dodata.ProjectModuleDO;
import com.jsl.oa.model.vodata.ProjectWorkAndNameVO;
import com.jsl.oa.services.ModuleService;
import com.jsl.oa.utils.BaseResponse;
@ -42,7 +42,7 @@ public class ModuleServiceImpl implements ModuleService {
is = 0;
}
List<ProjectWorkDO> projectWorkDOList = moduleMapper.getByProjectId(projectId, userId, is);
List<ProjectModuleDO> projectWorkDOList = moduleMapper.getByProjectId(projectId, userId, is);
return ResultUtil.success(projectWorkDOList);
}
@ -61,15 +61,15 @@ public class ModuleServiceImpl implements ModuleService {
is = 0;
}
List<ProjectWorkDO> projectWorkDOList = moduleMapper.getBySysId(sysId, userId, is);
List<ProjectModuleDO> projectWorkDOList = moduleMapper.getBySysId(sysId, userId, is);
// 封装VO类
List<ProjectWorkAndNameVO> projectWorkAndNameVOS = new ArrayList<>();
for (ProjectWorkDO projectWorkDO : projectWorkDOList) {
for (ProjectModuleDO projectWorkDO : projectWorkDOList) {
ProjectWorkAndNameVO projectWorkAndNameVO = new ProjectWorkAndNameVO();
Processing.copyProperties(projectWorkDO, projectWorkAndNameVO);
// 添加负责人和子系统名称
projectWorkAndNameVO.
setChildSystemName(projectDAO.getProjectWorkerById(projectWorkDO.getPid()).getName())
setChildSystemName(projectDAO.getProjectWorkerById(projectWorkDO.getProjectChildId()).getName())
.setPrincipalUser(userDAO.getUserById(projectWorkDO.getPrincipalId()).getUsername());
projectWorkAndNameVOS.add(projectWorkAndNameVO);
@ -94,9 +94,9 @@ public class ModuleServiceImpl implements ModuleService {
// 删除子模块方法
public void deleteMoudule(Long id) {
//获取所有父Id=id的子模块
List<ProjectWorkDO> projectWorkDOS = moduleMapper.getAllMoudleByPid(id);
List<ProjectModuleDO> projectWorkDOS = moduleMapper.getAllMoudleByPid(id);
for (ProjectWorkDO workDO : projectWorkDOS) {
for (ProjectModuleDO workDO : projectWorkDOS) {
deleteMoudule(workDO.getId());
}

View File

@ -1,4 +1,5 @@
package com.jsl.oa.services.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -71,7 +72,7 @@ public class ProjectServiceImpl implements ProjectService {
tag = new StringBuilder(tag.substring(0, tag.length() - 2));
}
projectAdd.setTags(open + tag + close);
projectAdd.setFile("{\"URI\":\"" + projectAdd.getFile() + "\"}");
projectAdd.setFiles("{\"URI\":\"" + projectAdd.getFiles() + "\"}");
projectDAO.projectAdd(projectAdd);
@ -79,12 +80,7 @@ public class ProjectServiceImpl implements ProjectService {
}
@Override
public BaseResponse projectToOtherUserForCutting(HttpServletRequest request, Long oldUid, Long pid, Long newUid) {
return null;
}
@Override
public BaseResponse projecWorktAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO) {
public BaseResponse projectWorkAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO) {
log.info("\t> 执行 Service 层 ProjectService.projectWorkAdd 方法");
//获取用户id
Long userId = Processing.getAuthHeaderToUserId(request);
@ -109,38 +105,10 @@ public class ProjectServiceImpl implements ProjectService {
}
@Override
public BaseResponse tget(Integer id, List<String> tags, List<Integer> isFinish, Integer page, Integer pageSize) {
log.info("\t> 执行 Service 层 ProjectService.tget 方法");
//根据id查询
if (id != null) {
ProjectDO projectDO = projectMapper.tgetProjectById(id);
ProjectSimpleVO projectSimpleVO = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO, projectDO, userDAO, objectMapper);
return ResultUtil.success(projectSimpleVO);
}
public BaseResponse tGet(List<String> tags, List<String> isFinish, Integer page, Integer pageSize) {
log.info("\t> 执行 Service 层 ProjectService.tGet 方法");
//根据标签查询
if (tags != null && !tags.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.tget(id, isFinish, tags);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1);
}
//分页返回
int start = (page - 1) * pageSize;
int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
}
//根据状态查询
if (isFinish != null && !isFinish.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.tget(id, isFinish, tags);
List<ProjectDO> projectDOList = projectDAO.tget(isFinish, tags);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
@ -154,21 +122,7 @@ public class ProjectServiceImpl implements ProjectService {
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
}
List<ProjectDO> projectDOList = projectDAO.tget(id, isFinish, tags);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1);
}
//分页返回
int start = (page - 1) * pageSize;
int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
}
@Override
@ -342,10 +296,9 @@ public class ProjectServiceImpl implements ProjectService {
@Override
public BaseResponse get(
Integer listAll,
HttpServletRequest request,
List<String> tags,
List<Integer> isFinish,
List<String> isFinish,
Integer page,
Integer pageSize
) {
@ -355,7 +308,7 @@ public class ProjectServiceImpl implements ProjectService {
Long userId = Processing.getAuthHeaderToUserId(request);
//根据标签查询
if (tags != null && !tags.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
List<ProjectDO> projectDOList = projectDAO.get(userId, tags, isFinish);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
@ -373,40 +326,7 @@ public class ProjectServiceImpl implements ProjectService {
//根据状态查询
if (isFinish != null && !isFinish.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1);
}
//分页返回
int start = (page - 1) * pageSize;
int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
}
//判断是否是老师(项目负责人)
if (listAll != null && Processing.checkUserIsTeacher(request, roleDAO)) {
List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1);
}
//分页返回
int start = (page - 1) * pageSize;
int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
} else {
listAll = 0;
List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
List<ProjectDO> projectDOList = projectDAO.get(userId, tags, isFinish);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
@ -420,27 +340,24 @@ public class ProjectServiceImpl implements ProjectService {
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
}
return ResultUtil.success(projectMapper.get(userId));
}
@Override
public BaseResponse workget(
Integer listAll,
public BaseResponse workGet(
HttpServletRequest request,
List<String> tags,
List<Integer> isFinish,
List<String> isFinish,
Integer is,
Integer page,
Integer pageSize
) {
log.info("\t> 执行 Service 层 ProjectService.workget 方法");
log.info("\t> 执行 Service 层 ProjectService.workGet 方法");
//获取用户
Long userId = Processing.getAuthHeaderToUserId(request);
//根据标签查询
if (tags != null && !tags.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish, is);
List<ProjectDO> projectDOList = projectDAO.workget(userId, tags, isFinish, is);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
@ -452,58 +369,9 @@ public class ProjectServiceImpl implements ProjectService {
int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
}
//根据状态查询
if (isFinish != null && !isFinish.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish, is);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1);
}
//分页返回
int start = (page - 1) * pageSize;
int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
}
//判断是否是老师(项目负责人)
if (listAll != null && Processing.checkUserIsTeacher(request, roleDAO)) {
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish, is);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1);
}
//分页返回
int start = (page - 1) * pageSize;
int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
} else {
listAll = 0;
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish, is);
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ProjectSimpleVO projectSimpleVO1 = new ProjectSimpleVO();
Processing.projectTosimply(projectSimpleVO1, projectDO, userDAO, objectMapper);
projectSimpleVOList.add(projectSimpleVO1);
}
//分页返回
int start = (page - 1) * pageSize;
int end = start + pageSize;
List<ProjectSimpleVO> pageData = projectSimpleVOList.subList(start,
Math.min(end, projectSimpleVOList.size()));
return ResultUtil.success(pageData);
}
}

View File

@ -5,9 +5,11 @@ 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;
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.ProjectWorkDO;
import com.jsl.oa.model.dodata.ProjectModuleDO;
import com.jsl.oa.model.dodata.ReviewDO;
import com.jsl.oa.model.vodata.ReviewAddVO;
import com.jsl.oa.model.vodata.ReviewUpdateResultVO;
@ -35,10 +37,13 @@ public class ReviewServiceImpl implements ReviewService {
private final ProjectDAO projectDAO;
private final UserMapper userMapper;
private final ProjectMapper projectMapper;
@Override
public BaseResponse getUserPendingApprovalReview(HttpServletRequest request) {
public BaseResponse getUserPendingApprovalReview(Integer page,
Integer pageSize,
HttpServletRequest request) {
log.info("\t> 执行 Service 层 ReviewService.getUserPendingApprovalReview 方法");
//获取用户
@ -62,10 +67,10 @@ public class ReviewServiceImpl implements ReviewService {
}
//在从用户为 子系统负责人 的项目中获取对应 审核信息
for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubsystemByUserId(userId)) {
for (ProjectChildDO projectChildDO : projectDAO.getAllProjectChildByUId(userId)) {
//查询每个项目下状态为2的审核信息
List<ReviewDO> reviewDOS = reviewDAO.
selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(),
selectApprovedResultReviewsFromSubsystem(projectChildDO.getId(),
ReviewConstants.PENDING);
//封装VO类
reviewData.addAll(reviewDOS);
@ -73,10 +78,10 @@ public class ReviewServiceImpl implements ReviewService {
//在从用户为 子模块负责人 的项目中获取对应 审核信息
for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubmoduleByUserId(userId)) {
for (ProjectModuleDO projectModuleDO : projectDAO.getAllModuleByUId(userId)) {
//查询每个项目下所有的审核信息
List<ReviewDO> reviewDOS = reviewDAO.
selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(),
selectApprovedResultReviewsFromSubModule(projectModuleDO.getId(),
ReviewConstants.PENDING);
//封装VO类
reviewData.addAll(reviewDOS);
@ -107,7 +112,9 @@ public class ReviewServiceImpl implements ReviewService {
@Override
public BaseResponse getUserReview(HttpServletRequest request) {
public BaseResponse getUserReview(Integer page,
Integer pageSize,
HttpServletRequest request) {
log.info("\t> 执行 Service 层 ReviewService.getUserReview 方法");
//获取用户
@ -129,20 +136,20 @@ public class ReviewServiceImpl implements ReviewService {
}
//在从用户为 子系统负责人 的项目中获取对应 审核信息
for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubsystemByUserId(userId)) {
for (ProjectChildDO projectChildDO : projectDAO.getAllProjectChildByUId(userId)) {
//查询每个项目下所有的审核信息
List<ReviewDO> reviewDOS = reviewDAO.
selectReviewFromSubsystem(projectWorkDO.getId());
selectReviewFromSubsystem(projectChildDO.getId());
//封装VO类
reviewData.addAll(reviewDOS);
}
//在从用户为 子模块负责人 的项目中获取对应 审核信息
for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubmoduleByUserId(userId)) {
for (ProjectModuleDO projectModuleDO : projectDAO.getAllModuleByUId(userId)) {
//查询每个项目下所有的审核信息
List<ReviewDO> reviewDOS = reviewDAO.
selectReviewFromSubmodule(projectWorkDO.getId());
selectReviewFromSubmodule(projectModuleDO.getId());
//封装VO类
reviewData.addAll(reviewDOS);
}
@ -176,20 +183,15 @@ public class ReviewServiceImpl implements ReviewService {
//获取用户
Long userId = Processing.getAuthHeaderToUserId(request);
//检查审核事项名称是否重复
if (!reviewDAO.checkNameIsExist(reviewAddVO.getName())) {
return ResultUtil.error(ErrorCode.REVIEW_NAME_REPEAT);
}
//定义要添加的审核实体类
ReviewDO reviewDO = new ReviewDO();
//现将属性相同的值拷贝
Processing.copyProperties(reviewAddVO, reviewDO);
//定义审核的类型子模块id为空则为 子系统类型否则为子模块类型
if (reviewAddVO.getProjectSubmoduleId() == null) {
if (reviewAddVO.getProjectModuleId() == null) {
reviewDO.setCategory(ReviewConstants.SUBSYSTEM);
} else if (reviewAddVO.getProjectSubmoduleId() != null) {
} else if (reviewAddVO.getProjectModuleId() != null) {
reviewDO.setCategory(ReviewConstants.SUBMODULE);
}
@ -245,14 +247,15 @@ public class ReviewServiceImpl implements ReviewService {
reviewVO.setCategory(Processing.turnReviewCategory(reviewDO.getCategory()))
.setSenderName(userMapper.getUserById(reviewDO.getSenderId()).getNickname())
.setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName())
.setSubsystemName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubsystemId()))
.setSubsystemName(projectMapper.getProjectChildById(
Math.toIntExact(reviewDO.getProjectChildId())).getName())
.setResult(Processing.turnReviewResult(reviewDO.getReviewResult()));
// 赋值可为空属性并进行判断
if (reviewDO.getRecipientId() != null) {
reviewVO.setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname());
}
if (reviewDO.getProjectSubmoduleId() != null) {
reviewVO.setSubmoduleName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubmoduleId()));
if (reviewDO.getProjectModuleId() != null) {
reviewVO.setSubmoduleName(reviewDAO.getNameByModule(Math.toIntExact(reviewDO.getProjectModuleId())));
} else {
reviewVO.setSubmoduleName("");
}

View File

@ -356,9 +356,8 @@ public class Processing {
projectSimpleVO.setId(projectDO.getId());
projectSimpleVO.setName(projectDO.getName());
projectSimpleVO.setTags(projectDO.getTags());
projectSimpleVO.setCycle(projectDO.getCycle());
projectSimpleVO.setIsFinish(projectDO.getIsFinish());
projectSimpleVO.setWorkLoad(projectDO.getWorkLoad());
projectSimpleVO.setCycle(Long.valueOf(projectDO.getCycle()));
projectSimpleVO.setWorkLoad(Long.valueOf(projectDO.getWorkLoad()));
projectSimpleVO.setPrincipalUser(userDAO.getUserById(projectDO.getPrincipalId()).getUsername());
// 解析JSON字符串
JsonNode rootNode = null;

View File

@ -5,14 +5,14 @@
<mapper namespace="com.jsl.oa.mapper.ModuleMapper">
<select id="getByProjectId" resultType="com.jsl.oa.model.dodata.ProjectWorkDO">
<select id="getByProjectId" resultType="com.jsl.oa.model.dodata.ProjectModuleDO">
select * from organize_oa.oa_project_work where project_id=#{projectId} and type=0
<if test="is != 1 ">
and (principal_id=#{userId} or principal_id is null)
</if>
</select>
<select id="getBySysId" resultType="com.jsl.oa.model.dodata.ProjectWorkDO">
<select id="getBySysId" resultType="com.jsl.oa.model.dodata.ProjectModuleDO">
select * from organize_oa.oa_project_work where pid=#{sysId} and type=1
<if test="is != 1 ">
and (principal_id=#{userId} or principal_id is null)

View File

@ -49,10 +49,10 @@
<select id="getByTags" resultType="com.jsl.oa.model.dodata.ProjectDO">
<if test="tags != null">
select * from organize_oa.oa_project where is_delete=false and principal_id=#{userId} and status=1 and
select * from organize_oa.oa_project where is_delete=false and principal_id=#{userId} and
<if test="isFinish != null and isFinish.size() > 0">
is_finish in
status in
<foreach collection="isFinish" item="Finish" separator="," open="(" close=") and">
#{Finish}
</foreach>
@ -67,7 +67,7 @@
</select>
<select id="getByIsfinish" resultType="com.jsl.oa.model.dodata.ProjectDO">
select * from organize_oa.oa_project where is_delete=false and principal_id =#{userId} and status=1 and is_finish in
select * from organize_oa.oa_project where is_delete=false and principal_id =#{userId} and status in
<foreach collection="isFinish" item="Finish" separator="," open="(" close=")">
#{Finish}
</foreach>
@ -80,10 +80,10 @@
<if test="is != null">
(principal_id = #{userId} and is_delete=false) or
</if>
id in(select project_id from organize_oa.oa_project_work
where is_delete=false and (principal_id=#{userId} ) and
id in(select project_id from organize_oa.oa_project_child
where is_delete=false and principal_id=#{userId} ) and
<if test="isFinish != null and isFinish.size() > 0">
is_finish in
oa_project.status in
<foreach collection="isFinish" item="Finish" separator="," open="(" close=") and">
#{Finish}
</foreach>
@ -102,7 +102,7 @@
<if test="is != null">
(principal_id = #{userId} and is_delete=false) or
</if>
id in(select project_id from organize_oa.oa_project_work where is_delete=false and (principal_id=#{userId}) and is_finish in
id in(select project_id from organize_oa.oa_project_child where is_delete=false and (principal_id=#{userId}) and oa_project.status in
<foreach collection="isFinish" item="Finish" separator="," open="(" close="))">
#{Finish}
</foreach>
@ -113,7 +113,7 @@
<if test="is != null">
(principal_id = #{userId} and is_delete=false) or
</if>
id in(select project_id from organize_oa.oa_project_work where is_delete=false and principal_id=#{userId})
id in(select project_id from organize_oa.oa_project_child where is_delete=false and principal_id=#{userId})
</select>
<select id="workget1" resultType="com.jsl.oa.model.dodata.ProjectDO">
@ -130,9 +130,9 @@
</select>
<select id="tgetBytags" resultType="com.jsl.oa.model.dodata.ProjectDO">
select * from organize_oa.oa_project where is_delete=false and status=1 and
select * from organize_oa.oa_project where is_delete=false and
<if test="isFinish != null and isFinish.size() > 0">
is_finish in
oa_project.status in
<foreach collection="isFinish" item="Finish" separator="," open="(" close=") and">
#{Finish}
</foreach>

View File

@ -25,11 +25,11 @@
<if test="projectId != null">
project_id,
</if>
<if test="projectSubsystemId != null">
project_subsystem_id,
<if test="projectChildId != null">
project_child_id,
</if>
<if test="projectSubmoduleId != null">
project_submodule_id,
<if test="projectModuleId != null">
project_module_id,
</if>
<if test="applicationTime != null">
application_time,
@ -63,11 +63,11 @@
<if test="projectId != null">
#{projectId},
</if>
<if test="projectSubsystemId != null">
#{projectSubsystemId},
<if test="projectChildId != null">
#{projectChildId},
</if>
<if test="projectSubmoduleId != null">
#{projectSubmoduleId},
<if test="projectModuleId != null">
#{projectModuleId},
</if>
<if test="applicationTime != null">
#{applicationTime},
@ -112,12 +112,12 @@
project_id = #{projectId},
</if>
<if test="projectSubsystemId != null">
project_subsystem_id = #{projectSubsystemId},
<if test="projectChildId != null">
project_child_id = #{projectChildId},
</if>
<if test="projectSubmoduleId != null">
project_submodule_id = #{projectSubmoduleId},
<if test="projectModuleId != null">
project_module_id = #{projectModuleId},
</if>
<if test="applicationTime != null">