From 29739bd262316726e288474dea2c415b5e0eed16 Mon Sep 17 00:00:00 2001 From: chen <2280784283@qq.com> Date: Wed, 17 Jul 2024 16:56:01 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8bug=E4=BF=AE=E6=94=B9+?= =?UTF-8?q?=E5=85=A8=E6=89=80=E5=8A=9F=E8=83=BD=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/xqopen/kehui/Api.java | 7 ++- .../xqopen/kehui/mapper/ProjectWeeklyDao.java | 1 + .../kehui/mapper/xml/ProjectWeeklyDao.xml | 24 ++++++++++ .../mapper/xml/ProjectWholeFirmWeeklyDao.xml | 3 ++ .../action/ProjectDepartmentController.java | 45 ++++++++++++++++++- .../action/ProjectWholeFirmController.java | 9 ++-- .../project/api/ProjectDepartmentApi.java | 7 +++ .../project/dto/ProjectWeeklyFindReq.java | 6 ++- .../service/IProjectDepartmentService.java | 3 ++ .../impl/IProjectDepartmentServiceImpl.java | 5 +++ 10 files changed, 103 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/xqopen/kehui/Api.java b/src/main/java/com/xqopen/kehui/Api.java index 13e0178..5703f5e 100644 --- a/src/main/java/com/xqopen/kehui/Api.java +++ b/src/main/java/com/xqopen/kehui/Api.java @@ -349,6 +349,7 @@ public class Api { */ public static final String PROJECT_PREFIX = PREFIX + "/project"; + /** * 项目信息管理 */ @@ -371,6 +372,7 @@ public class Api { * 周报填报管理 */ public static final String PROJECT_WEEKLY = PROJECT_PREFIX + "/weekly"; + public static final String PROJECT_WEEKLYBYID = PROJECT_PREFIX + "/weeklyById"; public static final String PROJECT_WEEKLY_ADD = PROJECT_WEEKLY + "/add"; public static final String PROJECT_WEEKLY_BUDGET = PROJECT_PREFIX + "/weekly/budget"; public static final String PROJECT_WEEKLY_BUDGET_ADD = PROJECT_WEEKLY_BUDGET + "/add"; @@ -704,7 +706,10 @@ public class Api { public static final String PROJECT_DEPARTMENT_UPDATE= PROJECT_DEPARTMENT_SHOW+"/{id}"; public static final String PROJECT_DEPARTMENT_INSERTPERMISSION= PROJECT_DEPARTMENT_PERMISSION+"/{id}"; - + /*** + * 部门周报填报管理 + */ + public static final String PROJECT_WHOLEFIRM = PROJECT_PREFIX + "/wholeFirmWeekly"; /** diff --git a/src/main/java/com/xqopen/kehui/mapper/ProjectWeeklyDao.java b/src/main/java/com/xqopen/kehui/mapper/ProjectWeeklyDao.java index 72b56cf..00dcf62 100644 --- a/src/main/java/com/xqopen/kehui/mapper/ProjectWeeklyDao.java +++ b/src/main/java/com/xqopen/kehui/mapper/ProjectWeeklyDao.java @@ -18,4 +18,5 @@ public interface ProjectWeeklyDao extends BaseMapper { List showById(@Param("week") String week, @Param("proId") String proId); + List getListById(@Param("page") Page page, @Param("projectWeekly") ProjectWeekly projectWeekly); } diff --git a/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWeeklyDao.xml b/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWeeklyDao.xml index 38a2dfa..447c3b1 100644 --- a/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWeeklyDao.xml +++ b/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWeeklyDao.xml @@ -84,5 +84,29 @@ left join personal_member pm on pm.id_ =sl.userinfo_id where pw.week=#{week} and pw.project_id = #{proId} and pw.weekly_type = '0' + diff --git a/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWholeFirmWeeklyDao.xml b/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWholeFirmWeeklyDao.xml index af1d0f6..fff16c9 100644 --- a/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWholeFirmWeeklyDao.xml +++ b/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWholeFirmWeeklyDao.xml @@ -37,6 +37,9 @@ and pw.week=#{projectWeekly.week} + + and pw.ext_->>'deptName'=#{projectWeekly.deptId} + and pw.weekly_type = '1' diff --git a/src/main/java/com/xqopen/kehui/project/action/ProjectDepartmentController.java b/src/main/java/com/xqopen/kehui/project/action/ProjectDepartmentController.java index 4b0eb6b..5551e80 100644 --- a/src/main/java/com/xqopen/kehui/project/action/ProjectDepartmentController.java +++ b/src/main/java/com/xqopen/kehui/project/action/ProjectDepartmentController.java @@ -113,7 +113,7 @@ public class ProjectDepartmentController implements ProjectDepartmentApi { return ApiResponse.fillSuccess(listResp); } } catch (Exception e) { - log.error("ProjectWeeklyController.list", e); + log.error("ProjectDepartmentController.list", e); throw new XQException(ErrorCode.PROJECTINFO_EXCEPTION_ERROR, null); } return null; @@ -139,4 +139,47 @@ public class ProjectDepartmentController implements ProjectDepartmentApi { projectWeeklyService.update(weekly,Wrapper); } } + + // 根据id获取list 用于当前用户与表中userid不同的情况 + @Override + @PostMapping(Api.PROJECT_WEEKLYBYID) + public String listById(@RequestBody ProjectWeeklyFindReq projectWeeklyFindReq) throws XQException { + try { + if (!ObjectUtils.isEmpty(projectWeeklyFindReq)) { + if (projectWeeklyFindReq.getPageNo() == null || projectWeeklyFindReq.getPageNo() == 0) { + projectWeeklyFindReq.setPageNo(1); + } + if (projectWeeklyFindReq.getPageSize() == null || projectWeeklyFindReq.getPageSize() == 0) { + projectWeeklyFindReq.setPageSize(10); + } + Page page = new Page<>(projectWeeklyFindReq.getPageNo(), projectWeeklyFindReq.getPageSize()); + ProjectWeekly projectWeekly = new ProjectWeekly(); + projectWeekly.setIsDeleted("0"); + projectWeekly.setWeeklyType("0"); + if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null)) + projectWeekly.setId(projectWeeklyFindReq.getId()); + if (!StringUtils.isEmpty(projectWeeklyFindReq.getDeptId() != null)) + projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId()); + List list = projectDepartmentService.getList(page, projectWeekly); + for (ProjectWeeklyDto weeklyDto : list) { + Long userId = Long.parseLong(weeklyDto.getUserId()); + EntityWrapper userLoginEntityWrapper = new EntityWrapper<>(); + userLoginEntityWrapper.eq("id_", userId); + SystemUserLogin systemUserLogin = systemUserLoginService.selectOne(userLoginEntityWrapper); + weeklyDto.setUserId(String.valueOf(systemUserLogin.getUserinfoId())); + } + + //组装结果集 + ProjectWeeklyListResp listResp = new ProjectWeeklyListResp(); + listResp.setLs(list); + listResp.setPages(page.getPages()); + listResp.setTotal(page.getTotal()); + return ApiResponse.fillSuccess(listResp); + } + } catch (Exception e) { + log.error("ProjectDepartmentController.list", e); + throw new XQException(ErrorCode.PROJECTINFO_EXCEPTION_ERROR, null); + } + return null; + } } diff --git a/src/main/java/com/xqopen/kehui/project/action/ProjectWholeFirmController.java b/src/main/java/com/xqopen/kehui/project/action/ProjectWholeFirmController.java index 8725792..4cf7ad7 100644 --- a/src/main/java/com/xqopen/kehui/project/action/ProjectWholeFirmController.java +++ b/src/main/java/com/xqopen/kehui/project/action/ProjectWholeFirmController.java @@ -23,9 +23,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -44,7 +42,8 @@ public class ProjectWholeFirmController implements ProjectWholeFirmApi { ISystemUserLoginService systemUserLoginService; @Override - public String list(Long userId, ProjectWeeklyFindReq projectWeeklyFindReq) throws XQException { + @PostMapping(Api.PROJECT_WHOLEFIRM) + public String list(@RequestHeader("userId") Long userId,@RequestBody ProjectWeeklyFindReq projectWeeklyFindReq) throws XQException { if (!ObjectUtils.isEmpty(projectWeeklyFindReq)) { if (!ObjectUtils.isEmpty(userId)) projectWeeklyFindReq.setUserId(String.valueOf(userId)); if (projectWeeklyFindReq.getPageNo() == null || projectWeeklyFindReq.getPageNo() == 0) { @@ -65,6 +64,8 @@ public class ProjectWholeFirmController implements ProjectWholeFirmApi { projectWeekly.setProjectId(projectInfoService.getProId(projectWeeklyFindReq.getProjectName())); if (!StringUtils.isEmpty(projectWeeklyFindReq.getWeek() != null)) projectWeekly.setWeek(projectWeeklyFindReq.getWeek()); + if (!StringUtils.isEmpty(projectWeeklyFindReq.getDeptName() != null)) + projectWeekly.setDeptId(projectWeeklyFindReq.getDeptName()); List list = projectWholeFirmService.getList(page, projectWeekly); //判断当前账号是否是项目专员/负责人 //因为json里面存的是人事id,通过账号找不到,先把账号id转为人事id diff --git a/src/main/java/com/xqopen/kehui/project/api/ProjectDepartmentApi.java b/src/main/java/com/xqopen/kehui/project/api/ProjectDepartmentApi.java index 5fc6eac..1af8172 100644 --- a/src/main/java/com/xqopen/kehui/project/api/ProjectDepartmentApi.java +++ b/src/main/java/com/xqopen/kehui/project/api/ProjectDepartmentApi.java @@ -37,4 +37,11 @@ public interface ProjectDepartmentApi { @ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "header", dataType = "Long"), }) void insertPermission(Long id) throws XQException; + + @ApiOperation(value = "个人周报列表", notes = "个人周报列表", response = ApiResponse.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "登录标识符", required = true, paramType = "header", dataType = "String"), + @ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "header", dataType = "Long"), + }) + String listById(ProjectWeeklyFindReq projectWeeklyFindReq) throws XQException; } diff --git a/src/main/java/com/xqopen/kehui/project/dto/ProjectWeeklyFindReq.java b/src/main/java/com/xqopen/kehui/project/dto/ProjectWeeklyFindReq.java index 4361ad5..035676c 100644 --- a/src/main/java/com/xqopen/kehui/project/dto/ProjectWeeklyFindReq.java +++ b/src/main/java/com/xqopen/kehui/project/dto/ProjectWeeklyFindReq.java @@ -3,9 +3,13 @@ package com.xqopen.kehui.project.dto; import com.xqopen.kehui.project.entity.ProjectWeekly; import lombok.Data; - @Data +import java.io.Serializable; + +@Data public class ProjectWeeklyFindReq extends ProjectWeekly { private Integer pageNo; private Integer pageSize; private String projectName; + private String deptName; + } diff --git a/src/main/java/com/xqopen/kehui/project/service/IProjectDepartmentService.java b/src/main/java/com/xqopen/kehui/project/service/IProjectDepartmentService.java index f5c5a19..850d6ad 100644 --- a/src/main/java/com/xqopen/kehui/project/service/IProjectDepartmentService.java +++ b/src/main/java/com/xqopen/kehui/project/service/IProjectDepartmentService.java @@ -16,4 +16,7 @@ public interface IProjectDepartmentService extends IService { List showById(String week,String proId); + List getList(Page page, ProjectWeekly projectWeekly); + + } diff --git a/src/main/java/com/xqopen/kehui/project/service/impl/IProjectDepartmentServiceImpl.java b/src/main/java/com/xqopen/kehui/project/service/impl/IProjectDepartmentServiceImpl.java index bdb4626..4dd96dd 100644 --- a/src/main/java/com/xqopen/kehui/project/service/impl/IProjectDepartmentServiceImpl.java +++ b/src/main/java/com/xqopen/kehui/project/service/impl/IProjectDepartmentServiceImpl.java @@ -38,4 +38,9 @@ public class IProjectDepartmentServiceImpl extends ServiceImpl getList(Page page, ProjectWeekly projectWeekly) { + return projectWeeklyDao.getListById(page,projectWeekly); + } + }