From 06c3be33e2f419cd6eb735ac3ad337954a3bd073 Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Thu, 14 Mar 2024 21:43:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=90=E7=B3=BB=E7=BB=9F=E5=AD=90=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsl/oa/controllers/ProjectController.java | 3 +- src/main/java/com/jsl/oa/dao/ProjectDAO.java | 11 ++++--- .../java/com/jsl/oa/mapper/ProjectMapper.java | 15 +++++----- .../com/jsl/oa/services/ProjectService.java | 2 +- .../oa/services/impl/ProjectServiceImpl.java | 13 ++++---- .../com/jsl/oa/mapper/ProjectMapper.xml | 30 +++++++++++++++++-- 6 files changed, 47 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index 3e27315..ef5bef1 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -73,9 +73,10 @@ public class ProjectController { public BaseResponse projectWorkGet(@RequestParam(required = false) Integer listAll, @RequestParam(required = false) List tags, @RequestParam(required = false) List isFinish, + @RequestParam(required = false) Integer is, HttpServletRequest request) { log.info("请求接口[GET]: /project/work/get"); - return projectService.workget(listAll, request, tags, isFinish); + return projectService.workget(listAll, request, tags, isFinish,is); } /** diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index 8162bf4..af26e32 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -5,7 +5,6 @@ import com.jsl.oa.mapper.ProjectMapper; import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.ProjectUserDO; -import com.jsl.oa.model.doData.ProjectWorkDO; import com.jsl.oa.model.doData.info.ProjectShowDO; import com.jsl.oa.model.voData.ProjectEditVO; import com.jsl.oa.model.voData.ProjectInfoVO; @@ -142,19 +141,19 @@ public class ProjectDAO { } } - public List workget(Long userId, Integer listAll, List tags, List isFinish) { + public List workget(Long userId, Integer listAll, List tags, List isFinish, Integer is) { log.info("\t> 执行 DAO 层 ProjectDAO.workget 方法"); log.info("\t\t> 从 MySQL 获取数据"); if(isFinish != null && !isFinish.isEmpty()){ - return projectMapper.workgetByIsfinish(userId,isFinish); + return projectMapper.workgetByIsfinish(userId,isFinish,is); } if(tags != null && !tags.isEmpty()){ - return projectMapper.workgetByTags(userId,tags); + return projectMapper.workgetByTags(userId,tags,is); } if(listAll == 0) { - return projectMapper.workget(userId); + return projectMapper.workget(userId,is); }else { - return projectMapper.workget1(userId); + return projectMapper.workget1(userId,is); } } diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index 87fe984..8c15166 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -3,7 +3,6 @@ package com.jsl.oa.mapper; import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.ProjectUserDO; -import com.jsl.oa.model.doData.ProjectWorkDO; import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.ProjectWorkVO; import org.apache.ibatis.annotations.*; @@ -87,16 +86,16 @@ public interface ProjectMapper { //@Select("select * from organize_oa.oa_project_work where is_finish=#{isFinish} and is_delete=false and principal_id =#{userId}") - List workgetByIsfinish(Long userId, List isFinish); + List workgetByIsfinish(Long userId, List isFinish, Integer is); - List workgetByTags(Long userId, List tags); + List workgetByTags(Long userId, List tags, Integer is); - @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)") - List workget(Long userId); + //@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)") + List workget(Long userId, Integer is); - @Select("select * from organize_oa.oa_project_work where status=1 and principal_id=#{userId}") - List workget1(Long userId); + //@Select("select * from organize_oa.oa_project_work where status=1 and principal_id=#{userId}") + List workget1(Long userId, Integer is); List tget(Integer id); diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index dfb026d..2a50a9b 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -36,7 +36,7 @@ public interface ProjectService { BaseResponse projectToOtherUserForCutting(HttpServletRequest request, Long oldUid, Long pid, Long newUid); - BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish); + BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer is); BaseResponse projecWorktAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO); 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 334f7cf..6c976b7 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -2,15 +2,12 @@ package com.jsl.oa.services.impl; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; import com.jsl.oa.annotations.CheckUserHasPermission; import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.UserDAO; import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; -import com.jsl.oa.model.doData.ProjectWorkDO; import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.doData.info.ProjectShowDO; import com.jsl.oa.model.voData.*; @@ -272,29 +269,29 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish) { + public BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer is) { log.info("\t> 执行 Service 层 ProjectService.workget 方法"); //获取用户 Long userId = Processing.getAuthHeaderToUserId(request); //根据状态查询 if (isFinish != null && !isFinish.isEmpty()) { - List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish); + List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish,is); return ResultUtil.success(projectDOList); } //根据标签查询 if (tags != null && !tags.isEmpty()) { - List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish); + List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish,is); return ResultUtil.success(projectDOList); } //判断是否是老师(项目负责人) if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) { - List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish); + List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish,is); return ResultUtil.success(projectDOList); } else { listAll = 0; - List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish); + List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish,is); return ResultUtil.success(projectDOList); } } diff --git a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml index b2c7616..92dccd5 100644 --- a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml @@ -63,9 +63,15 @@ + + - select * from organize_oa.oa_project where id in(select project_id from organize_oa.oa_project_work where is_delete=false and (principal_id=#{userId} or principal_id is null) and is_finish in + select * from organize_oa.oa_project where + + (principal_id = #{userId} and is_delete=false) or + + id in(select project_id from organize_oa.oa_project_work where is_delete=false and (principal_id=#{userId}) and is_finish in #{Finish} + + + + + +