From fb8336d44bd496525f6ee9c1ebedf7089c4d43ca Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Thu, 14 Mar 2024 11:42:26 +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/ModuleContorller.java | 46 ++++++++++++++ .../jsl/oa/controllers/ProjectController.java | 2 +- src/main/java/com/jsl/oa/dao/ModuleDAO.java | 15 +++++ src/main/java/com/jsl/oa/dao/ProjectDAO.java | 2 +- .../java/com/jsl/oa/mapper/ModuleMapper.java | 25 ++++++++ .../java/com/jsl/oa/mapper/ProjectMapper.java | 11 ++-- .../com/jsl/oa/services/ModuleService.java | 14 +++++ .../oa/services/impl/ModuleServiceImpl.java | 62 +++++++++++++++++++ .../oa/services/impl/ProjectServiceImpl.java | 16 ++--- .../com/jsl/oa/mapper/ModuleMapper.xml | 21 +++++++ .../com/jsl/oa/mapper/ProjectMapper.xml | 12 ++-- 11 files changed, 205 insertions(+), 21 deletions(-) create mode 100644 src/main/java/com/jsl/oa/controllers/ModuleContorller.java create mode 100644 src/main/java/com/jsl/oa/dao/ModuleDAO.java create mode 100644 src/main/java/com/jsl/oa/mapper/ModuleMapper.java create mode 100644 src/main/java/com/jsl/oa/services/ModuleService.java create mode 100644 src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java create mode 100644 src/main/resources/com/jsl/oa/mapper/ModuleMapper.xml diff --git a/src/main/java/com/jsl/oa/controllers/ModuleContorller.java b/src/main/java/com/jsl/oa/controllers/ModuleContorller.java new file mode 100644 index 0000000..02e6936 --- /dev/null +++ b/src/main/java/com/jsl/oa/controllers/ModuleContorller.java @@ -0,0 +1,46 @@ +package com.jsl.oa.controllers; + +import com.jsl.oa.services.ModuleService; +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; + + +@Slf4j +@RestController +@RequiredArgsConstructor +public class ModuleContorller { + private final ModuleService moduleService; + + /** + * 获取子系统 + * @param projectId + * @param request + * @return + */ + @GetMapping("/module/get") + public BaseResponse moudleGetByProjectId(@RequestParam Integer projectId, HttpServletRequest request){ + + log.info("ProjectIdcontroller"); + return moduleService.getByProjectId(projectId,request); + } + + /** + * 获取子模块 + * @param sysId + * @param request + * @return + */ + @GetMapping("/module/get/min") + public BaseResponse moudleGetBySysId(@RequestParam Integer sysId, HttpServletRequest request){ + + log.info("SysIdcontorller"); + return moduleService.getBySysId(sysId,request); + } + +} diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index fc274af..4f611cb 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -65,7 +65,7 @@ public class ProjectController { } /** - * 子模块子系统的查询 + * 我管理的查询 * * @return */ diff --git a/src/main/java/com/jsl/oa/dao/ModuleDAO.java b/src/main/java/com/jsl/oa/dao/ModuleDAO.java new file mode 100644 index 0000000..1549e25 --- /dev/null +++ b/src/main/java/com/jsl/oa/dao/ModuleDAO.java @@ -0,0 +1,15 @@ +package com.jsl.oa.dao; + +import com.google.gson.Gson; +import com.jsl.oa.mapper.ModuleMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +@RequiredArgsConstructor +public class ModuleDAO { + private final ModuleMapper moduleMapper; + private final Gson gson; +} diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index e44de18..65e28f9 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -135,7 +135,7 @@ 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) { log.info("\t> 执行 DAO 层 ProjectDAO.workget 方法"); log.info("\t\t> 从 MySQL 获取数据"); if(isFinish != null && !isFinish.isEmpty()){ diff --git a/src/main/java/com/jsl/oa/mapper/ModuleMapper.java b/src/main/java/com/jsl/oa/mapper/ModuleMapper.java new file mode 100644 index 0000000..40f017c --- /dev/null +++ b/src/main/java/com/jsl/oa/mapper/ModuleMapper.java @@ -0,0 +1,25 @@ +package com.jsl.oa.mapper; + +import com.jsl.oa.model.doData.ProjectWorkDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface ModuleMapper { + + + + //@Select("select * from organize_oa.oa_project_work where project_id=#{projectId} and principal_id=#{userId} and type=0") + List getByProjectId(Integer projectId, Long userId,int is); + + //@Select("select * from organize_oa.oa_project_work where pid=#{sysId} and type=1") + List getBySysId(Integer sysId, Long userId,int is); + + @Select("select principal_id from organize_oa.oa_project where id=#{projectId}") + Long getPidByProjectid(Integer projectId); + + @Select("select principal_id from organize_oa.oa_project_work where id=#{sysId}") + Long getPidBySysid(Integer sysId); +} diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index 808b658..87fe984 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -87,15 +87,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); - List workgetByTags(Long userId, List tags); + List workgetByTags(Long userId, List tags); - @Select("select * from organize_oa.oa_project_work where is_delete=false and status =1 and principal_id=#{userId}") - 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); @Select("select * from organize_oa.oa_project_work where status=1 and principal_id=#{userId}") - List workget1(Long userId); + List workget1(Long userId); List tget(Integer id); diff --git a/src/main/java/com/jsl/oa/services/ModuleService.java b/src/main/java/com/jsl/oa/services/ModuleService.java new file mode 100644 index 0000000..de178cd --- /dev/null +++ b/src/main/java/com/jsl/oa/services/ModuleService.java @@ -0,0 +1,14 @@ +package com.jsl.oa.services; + +import com.jsl.oa.utils.BaseResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; + + +public interface ModuleService { + BaseResponse getByProjectId(Integer projectId, HttpServletRequest request); + + BaseResponse getBySysId(Integer sysId, HttpServletRequest request); +} diff --git a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java new file mode 100644 index 0000000..9066e41 --- /dev/null +++ b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java @@ -0,0 +1,62 @@ +package com.jsl.oa.services.impl; + +import com.jsl.oa.dao.ModuleDAO; +import com.jsl.oa.dao.UserDAO; +import com.jsl.oa.mapper.ModuleMapper; +import com.jsl.oa.mapper.RoleMapper; +import com.jsl.oa.model.doData.ProjectWorkDO; +import com.jsl.oa.services.ModuleService; +import com.jsl.oa.utils.BaseResponse; +import com.jsl.oa.utils.Processing; +import com.jsl.oa.utils.ResultUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.xml.transform.Result; +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ModuleServiceImpl implements ModuleService { + private final RoleMapper roleMapper; + private final ModuleDAO moduleDAO; + private final ModuleMapper moduleMapper; + private final UserDAO userDAO; + + @Override + public BaseResponse getByProjectId(Integer projectId, HttpServletRequest request) { + log.info("projectService"); + //获取用户id + Long userId = Processing.getAuthHeaderToUserId(request); + //获取项目负责人id + Long pid = moduleMapper.getPidByProjectid(projectId); + //判断是否是项目负责人 + int is = 1; + if(!pid.equals(userId)){ + is = 0; + } + + List projectWorkDOList= moduleMapper.getByProjectId(projectId,userId,is); + return ResultUtil.success(projectWorkDOList); + } + + @Override + public BaseResponse getBySysId(Integer sysId, HttpServletRequest request) { + log.info("SysService"); + //获取用户id + Long userId = Processing.getAuthHeaderToUserId(request); + //获取子系统负责人id + Long pid = moduleMapper.getPidBySysid(sysId); + //判断是否是子系统负责人 + int is = 1; + if(!pid.equals(userId)){ + is = 0; + } + + List projectWorkDOList = moduleMapper.getBySysId(sysId,userId,is); + return ResultUtil.success(projectWorkDOList); + } +} 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 5f065fd..ebdd004 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -250,23 +250,23 @@ public class ProjectServiceImpl implements ProjectService { Long userId = Processing.getAuthHeaderToUserId(request); //根据状态查询 if (isFinish != null && !isFinish.isEmpty()) { - List projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish); - return ResultUtil.success(projectWorkDOList); + List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish); + return ResultUtil.success(projectDOList); } //根据标签查询 if (tags != null && !tags.isEmpty()) { - List projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish); - return ResultUtil.success(projectWorkDOList); + List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish); + return ResultUtil.success(projectDOList); } //判断是否是老师(项目负责人) if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) { - List projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish); - return ResultUtil.success(projectWorkDOList); + List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish); + return ResultUtil.success(projectDOList); } else { listAll = 0; - List projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish); - return ResultUtil.success(projectWorkDOList); + List projectDOList = projectDAO.workget(userId, listAll, tags, isFinish); + return ResultUtil.success(projectDOList); } } diff --git a/src/main/resources/com/jsl/oa/mapper/ModuleMapper.xml b/src/main/resources/com/jsl/oa/mapper/ModuleMapper.xml new file mode 100644 index 0000000..97ce40d --- /dev/null +++ b/src/main/resources/com/jsl/oa/mapper/ModuleMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml index 0b49f40..6367033 100644 --- a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml @@ -63,20 +63,20 @@ - + 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 project_id in( select id from organize_oa.oa_project where + close=",'%')))"> #{tag} - + 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 + #{Finish}