子模块/子系统的查询和增加
Some checks failed
JslGroup/JslDeveloper/JSL_OrganizeInternalOA/pipeline/head There was a failure building this commit
Some checks failed
JslGroup/JslDeveloper/JSL_OrganizeInternalOA/pipeline/head There was a failure building this commit
This commit is contained in:
parent
f29c016405
commit
789eea8d49
|
@ -3,6 +3,7 @@ package com.jsl.oa.controllers;
|
|||
import com.jsl.oa.model.voData.ProjectCuttingAddVO;
|
||||
import com.jsl.oa.model.voData.ProjectCuttingEditVO;
|
||||
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.services.ProjectService;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
|
@ -54,6 +55,20 @@ public class ProjectController {
|
|||
return projectService.get(listAll,request,tags,isFinish);
|
||||
}
|
||||
|
||||
/**
|
||||
* 子模块子系统的查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/project/work/get")
|
||||
public BaseResponse projectWorkGet(@RequestParam(required = false) Integer listAll,
|
||||
@RequestParam(required = false) List<String> tags,
|
||||
@RequestParam(required = false) Integer isFinish,
|
||||
HttpServletRequest request) {
|
||||
log.info("请求接口[GET]: /project/work/get");
|
||||
return projectService.workget(listAll, request, tags, isFinish);
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个项目的详细
|
||||
* 项目轮播图
|
||||
|
@ -130,8 +145,6 @@ public class ProjectController {
|
|||
/**
|
||||
* 项目表进行,项目增加
|
||||
*
|
||||
* @param projectAdd
|
||||
* @param bindingResult
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/project/add")
|
||||
|
@ -144,6 +157,22 @@ public class ProjectController {
|
|||
return projectService.projectAdd(request, projectAdd);
|
||||
}
|
||||
|
||||
/**
|
||||
* 子系统子模块的增加
|
||||
* @param request
|
||||
* @param bindingResult
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/project/work/add")
|
||||
public BaseResponse projectWorkAdd(HttpServletRequest request, @RequestBody @Validated ProjectWorkVO projectWorkVO, @NotNull BindingResult bindingResult) {
|
||||
log.info("请求接口[POST]: /project/work/add");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
||||
}
|
||||
return projectService.projecWorktAdd(request, projectWorkVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目表进行,项目的修改
|
||||
*
|
||||
|
|
|
@ -5,8 +5,10 @@ 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.ProjectInfoVO;
|
||||
import com.jsl.oa.model.voData.ProjectWorkVO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -29,7 +31,12 @@ public class ProjectDAO {
|
|||
log.info("\t> 执行 DAO 层 ProjectDAO.projectAdd 方法");
|
||||
log.info("\t\t> 从 MySQL 获取数据");
|
||||
projectMapper.projectAdd(projectAdd);
|
||||
}
|
||||
|
||||
public void projectWorkAdd(ProjectWorkVO projectWorkVO) {
|
||||
log.info("\t> 执行 DAO 层 ProjectDAO.projecWorktAdd 方法");
|
||||
log.info("\t\t> 从 MySQL 获取数据");
|
||||
projectMapper.projectWorkAdd(projectWorkVO);
|
||||
}
|
||||
|
||||
public void projectEdit(ProjectInfoVO projectEdit) {
|
||||
|
@ -121,6 +128,22 @@ public class ProjectDAO {
|
|||
}
|
||||
}
|
||||
|
||||
public List<ProjectWorkDO> workget(Long userId, Integer listAll, List<String> tags, Integer isFinish) {
|
||||
log.info("\t> 执行 DAO 层 ProjectDAO.workget 方法");
|
||||
log.info("\t\t> 从 MySQL 获取数据");
|
||||
if(isFinish != null){
|
||||
return projectMapper.workgetByIsfinish(userId,isFinish);
|
||||
}
|
||||
if(tags != null && !tags.isEmpty()){
|
||||
return projectMapper.workgetByTags(userId,tags);
|
||||
}
|
||||
if(listAll == 0) {
|
||||
return projectMapper.workget(userId);
|
||||
}else {
|
||||
return projectMapper.workget1(userId);
|
||||
}
|
||||
}
|
||||
|
||||
public ProjectDO getByName(String name) {
|
||||
log.info("\t> 执行 DAO 层 ProjectDAO.getByName 方法");
|
||||
log.info("\t\t> 从 MySQL 获取数据");
|
||||
|
@ -174,4 +197,6 @@ public class ProjectDAO {
|
|||
return projectMapper.updateUserForProjectUser(newUid,projectUserDO.getId());
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -3,7 +3,9 @@ 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.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
@ -19,6 +21,11 @@ public interface ProjectMapper {
|
|||
",#{completeTime},#{deadline},#{status},#{isFinish})")
|
||||
void projectAdd(ProjectInfoVO projectAdd);
|
||||
|
||||
@Insert("insert into organize_oa.oa_project_work (project_id, pid, name, principal_id," +
|
||||
" work_load, description, cycle, complete_time, type, is_finish,status) " +
|
||||
"value (#{projectId},#{pid},#{name},#{principalId},#{workLoad}," +
|
||||
"#{description},#{cycle},#{completeTime},#{type},#{isFinish},#{status})")
|
||||
void projectWorkAdd(ProjectWorkVO projectWorkVO);
|
||||
|
||||
void projectEdit(ProjectInfoVO projectEdit);
|
||||
|
||||
|
@ -51,7 +58,7 @@ public interface ProjectMapper {
|
|||
@Select("select * from organize_oa.oa_project where is_delete=false and status =1 and principal_id=#{userId}")
|
||||
List<ProjectDO> get(Long userId);
|
||||
|
||||
@Select("select * from organize_oa.oa_project where status =1 and status=1 and principal_id=#{userId}")
|
||||
@Select("select * from organize_oa.oa_project where status =1 and is_delete =true and principal_id=#{userId}")
|
||||
List<ProjectDO> get1(Long userId);
|
||||
|
||||
@Select("select * from organize_oa.oa_project where name=#{name}")
|
||||
|
@ -77,4 +84,17 @@ public interface ProjectMapper {
|
|||
|
||||
@Update("UPDATE organize_oa.oa_project_user SET uid = #{uid} , updated_at = CURRENT_TIMESTAMP WHERE id = #{id}")
|
||||
boolean updateUserForProjectUser(Long uid, Long id);
|
||||
|
||||
@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, Integer isFinish);
|
||||
|
||||
List<ProjectWorkDO> 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_work where is_delete =true and status=1 and principal_id=#{userId}")
|
||||
List<ProjectWorkDO> workget1(Long userId);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -26,8 +26,8 @@ public class ProjectDO {
|
|||
private String name;
|
||||
private String file;
|
||||
private String description;
|
||||
private Integer is_delete;
|
||||
private Integer is_finish;
|
||||
private Integer isDelete;
|
||||
private Integer isFinish;
|
||||
private boolean status;
|
||||
private Timestamp beginTime;
|
||||
private Timestamp completeTime;
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.jsl.oa.services;
|
|||
import com.jsl.oa.model.voData.ProjectCuttingAddVO;
|
||||
import com.jsl.oa.model.voData.ProjectCuttingEditVO;
|
||||
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;
|
||||
|
||||
|
@ -37,4 +38,8 @@ public interface ProjectService {
|
|||
BaseResponse editProjectCutting(HttpServletRequest request, ProjectCuttingEditVO projectCuttingEditVO);
|
||||
|
||||
BaseResponse projectToOtherUserForCutting(HttpServletRequest request, Long oldUid, Long pid, Long newUid);
|
||||
|
||||
BaseResponse workget(Integer listAll, HttpServletRequest request, List<String> tags, Integer isFinish);
|
||||
|
||||
BaseResponse projecWorktAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO);
|
||||
}
|
||||
|
|
|
@ -6,11 +6,13 @@ 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.ProjectCuttingAddVO;
|
||||
import com.jsl.oa.model.voData.ProjectCuttingEditVO;
|
||||
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.services.ProjectService;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
|
@ -21,7 +23,6 @@ import lombok.RequiredArgsConstructor;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.sql.Timestamp;
|
||||
|
@ -56,6 +57,13 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse projecWorktAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO) {
|
||||
log.info("\t> 执行 Service 层 ProjectService.projectWorkAdd 方法");
|
||||
projectDAO.projectWorkAdd(projectWorkVO);
|
||||
return ResultUtil.success("添加成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
@CheckUserHasPermission("project.edit")
|
||||
public BaseResponse projectEdit(HttpServletRequest request, @NotNull ProjectInfoVO projectEdit) {
|
||||
|
@ -186,6 +194,7 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
@Override
|
||||
public BaseResponse get(Integer listAll, HttpServletRequest request, List<String> tags, Integer isFinish) {
|
||||
log.info("\t> 执行 Service 层 ProjectService.get 方法");
|
||||
|
||||
//获取用户
|
||||
Long userId= Processing.getAuthHeaderToUserId(request);
|
||||
//根据状态查询
|
||||
|
@ -211,6 +220,36 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse workget(Integer listAll, HttpServletRequest request, List<String> tags, Integer isFinish) {
|
||||
log.info("\t> 执行 Service 层 ProjectService.workget 方法");
|
||||
|
||||
//获取用户
|
||||
Long userId= Processing.getAuthHeaderToUserId(request);
|
||||
//根据状态查询
|
||||
if(isFinish != null){
|
||||
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId,listAll,tags,isFinish);
|
||||
return ResultUtil.success(projectWorkDOList);
|
||||
}
|
||||
//根据标签查询
|
||||
if(tags != null && !tags.isEmpty()){
|
||||
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId,listAll,tags,isFinish);
|
||||
return ResultUtil.success(projectWorkDOList);
|
||||
}
|
||||
|
||||
//判断是否是老师(项目负责人)
|
||||
if(listAll != null && Processing.checkUserIsTeacher(request,roleMapper)){
|
||||
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId,listAll,tags,isFinish);
|
||||
return ResultUtil.success(projectWorkDOList);
|
||||
}else {
|
||||
listAll = 0;
|
||||
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId,listAll,tags,isFinish);
|
||||
return ResultUtil.success(projectWorkDOList);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public BaseResponse getByName(String name) {
|
||||
log.info("\t> 执行 Service 层 ProjectService.getByName 方法");
|
||||
|
@ -284,4 +323,6 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -56,4 +56,13 @@
|
|||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="workgetByTags" resultType="com.jsl.oa.model.doData.ProjectWorkDO">
|
||||
select * from organize_oa.oa_project_work where
|
||||
<foreach collection="tags" item="tag" separator=",'%') and json_extract(tags,'$.tags')like concat('%',"
|
||||
open="json_extract(tags,'$.tags')like concat('%',"
|
||||
close=",'%') and is_delete=false and principal_id=#{userId}">
|
||||
#{tag}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user