子系统子模块
Some checks failed
JslGroup/JslDeveloper/JSL_OrganizeInternalOA/pipeline/head There was a failure building this commit

This commit is contained in:
176yunxuan 2024-03-14 11:42:26 +08:00
parent 9826a86b20
commit fb8336d44b
11 changed files with 205 additions and 21 deletions

View File

@ -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);
}
}

View File

@ -65,7 +65,7 @@ public class ProjectController {
}
/**
* 子模块子系统的查询
* 我管理的查询
*
* @return
*/

View File

@ -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;
}

View File

@ -135,7 +135,7 @@ public class ProjectDAO {
}
}
public List<ProjectWorkDO> workget(Long userId, Integer listAll, List<String> tags, List<Integer> isFinish) {
public List<ProjectDO> workget(Long userId, Integer listAll, List<String> tags, List<Integer> isFinish) {
log.info("\t> 执行 DAO 层 ProjectDAO.workget 方法");
log.info("\t\t> 从 MySQL 获取数据");
if(isFinish != null && !isFinish.isEmpty()){

View File

@ -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<ProjectWorkDO> getByProjectId(Integer projectId, Long userId,int is);
//@Select("select * from organize_oa.oa_project_work where pid=#{sysId} and type=1")
List<ProjectWorkDO> 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);
}

View File

@ -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<ProjectWorkDO> workgetByIsfinish(Long userId, List<Integer> isFinish);
List<ProjectDO> workgetByIsfinish(Long userId, List<Integer> isFinish);
List<ProjectWorkDO> workgetByTags(Long userId, List<String> tags);
List<ProjectDO> workgetByTags(Long userId, List<String> tags);
@Select("select * from organize_oa.oa_project_work where is_delete=false and status =1 and principal_id=#{userId}")
List<ProjectWorkDO> 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<ProjectDO> workget(Long userId);
@Select("select * from organize_oa.oa_project_work where status=1 and principal_id=#{userId}")
List<ProjectWorkDO> workget1(Long userId);
List<ProjectDO> workget1(Long userId);
List<ProjectDO> tget(Integer id);

View File

@ -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);
}

View File

@ -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<ProjectWorkDO> 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<ProjectWorkDO> projectWorkDOList = moduleMapper.getBySysId(sysId,userId,is);
return ResultUtil.success(projectWorkDOList);
}
}

View File

@ -250,23 +250,23 @@ public class ProjectServiceImpl implements ProjectService {
Long userId = Processing.getAuthHeaderToUserId(request);
//根据状态查询
if (isFinish != null && !isFinish.isEmpty()) {
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectWorkDOList);
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectDOList);
}
//根据标签查询
if (tags != null && !tags.isEmpty()) {
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectWorkDOList);
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectDOList);
}
//判断是否是老师(项目负责人)
if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) {
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectWorkDOList);
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectDOList);
} else {
listAll = 0;
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectWorkDOList);
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectDOList);
}
}

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jsl.oa.mapper.ModuleMapper">
<select id="getByProjectId" resultType="com.jsl.oa.model.doData.ProjectWorkDO">
select * from organize_oa.oa_project_work where project_id=#{projectId} and type=0
<if test="is != 1 ">
and principal_id=#{userId}
</if>
</select>
<select id="getBySysId" resultType="com.jsl.oa.model.doData.ProjectWorkDO">
select * from organize_oa.oa_project_work where pid=#{sysId} and type=1
<if test="is != 1 ">
and principal_id=#{userId}
</if>
</select>
</mapper>

View File

@ -63,20 +63,20 @@
</foreach>
</select>
<select id="workgetByTags" resultType="com.jsl.oa.model.doData.ProjectWorkDO">
select * from organize_oa.oa_project_work where is_delete=false and principal_id=#{userId} and project_id in(
<select id="workgetByTags" resultType="com.jsl.oa.model.doData.ProjectDO">
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
<foreach collection="tags" item="tag" separator=",'%') or json_extract(tags,'$.tags')like concat('%',"
open="json_extract(tags,'$.tags')like concat('%',"
close=",'%'))">
close=",'%')))">
#{tag}
</foreach>
</select>
<select id="workgetByIsfinish" resultType="com.jsl.oa.model.doData.ProjectWorkDO">
select * from organize_oa.oa_project_work where is_delete=false and principal_id =#{userId} and is_finish in
<foreach collection="isFinish" item="Finish" separator="," open="(" close=")">
<select id="workgetByIsfinish" resultType="com.jsl.oa.model.doData.ProjectDO">
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
<foreach collection="isFinish" item="Finish" separator="," open="(" close="))">
#{Finish}
</foreach>
</select>