From 44cc70e8a7419c9bd7cc04c5c1967cd37d03a6f7 Mon Sep 17 00:00:00 2001 From: zty <1048209592@qq.com> Date: Thu, 15 Aug 2024 16:06:57 +0800 Subject: [PATCH] =?UTF-8?q?1.ProjectWeeklyDto=E5=A2=9E=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5List=20projectIds=202.=E5=91=A8=E6=8A=A5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=97=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E6=98=AF=E9=A1=B9=E7=9B=AE=E8=B4=9F=E8=B4=A3=E4=BA=BA?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=97=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0or?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=87=AA=E5=B7=B1=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xqopen/kehui/mapper/ProjectWeeklyDao.java | 2 +- .../kehui/mapper/xml/ProjectWeeklyDao.xml | 7 +++ .../action/ProjectWeeklyController.java | 56 ++++++++----------- .../kehui/project/dto/ProjectWeeklyDto.java | 3 + .../service/IProjectWeeklyService.java | 2 +- .../impl/IProjectWeeklyServiceImpl.java | 2 +- 6 files changed, 35 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/xqopen/kehui/mapper/ProjectWeeklyDao.java b/src/main/java/com/xqopen/kehui/mapper/ProjectWeeklyDao.java index 00dcf62..e488c3e 100644 --- a/src/main/java/com/xqopen/kehui/mapper/ProjectWeeklyDao.java +++ b/src/main/java/com/xqopen/kehui/mapper/ProjectWeeklyDao.java @@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; public interface ProjectWeeklyDao extends BaseMapper { - List getList(Page page, @Param("projectWeekly") ProjectWeekly projectWeekly); + List getList(Page page, @Param("projectWeekly") ProjectWeeklyDto projectWeekly); List getListByProId(@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 944e146..07c02c5 100644 --- a/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWeeklyDao.xml +++ b/src/main/java/com/xqopen/kehui/mapper/xml/ProjectWeeklyDao.xml @@ -44,6 +44,13 @@ and pw.project_id=#{projectWeekly.projectId} + + and (pw.project_id in + + #{id} + + or pw.created_by=#{projectWeekly.createdBy}) + and pw.dept_id=#{projectWeekly.deptId} diff --git a/src/main/java/com/xqopen/kehui/project/action/ProjectWeeklyController.java b/src/main/java/com/xqopen/kehui/project/action/ProjectWeeklyController.java index 308ef47..64461cc 100644 --- a/src/main/java/com/xqopen/kehui/project/action/ProjectWeeklyController.java +++ b/src/main/java/com/xqopen/kehui/project/action/ProjectWeeklyController.java @@ -26,10 +26,7 @@ import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Set; @Slf4j @RestController @@ -69,7 +66,6 @@ public class ProjectWeeklyController implements ProjectWeeklyApi { //先通过编号、名称查到向目标id ProjectInfo project = getProject(projectWeeklyAddReq, projectWeekly); if (ObjectUtils.isEmpty(project)) return ApiResponse.fillFail("你输入的项目编号/名称不存在!"); - JSONObject ext = updateExt(projectWeeklyAddReq,project); projectWeekly.setProjectId(String.valueOf(project.getId())); @@ -167,11 +163,11 @@ public class ProjectWeeklyController implements ProjectWeeklyApi { JSONArray projectAdmin = extInfo.getJSONArray("projectAdmin"); // 将projectAdmin改为人事id EntityWrapper userLoginEntityWrapper = new EntityWrapper<>(); - userLoginEntityWrapper.eq("id_", projectAdmin.getBigInteger(projectAdmin.toArray().length -1 )); + userLoginEntityWrapper.eq("id_", projectAdmin.getString(projectAdmin.toArray().length -1 )); SystemUserLogin systemUserLogin = systemUserLoginService.selectOne(userLoginEntityWrapper); ext.put("projectManagerData",projectManagerData.getString(projectManagerData.toArray().length -1 )); - ext.put("projectAdmin",systemUserLogin.getUserinfoId().toString()); + ext.put("projectAdmin",systemUserLogin.getUserinfoId()); ext.put("draftManId",extInfo.getString("draftManId")); return ext; } @@ -189,7 +185,7 @@ public class ProjectWeeklyController implements ProjectWeeklyApi { projectWeeklyFindReq.setPageSize(10); } Page page = new Page<>(projectWeeklyFindReq.getPageNo(), projectWeeklyFindReq.getPageSize()); - ProjectWeekly projectWeekly = new ProjectWeekly(); + ProjectWeeklyDto projectWeekly = new ProjectWeeklyDto(); projectWeekly.setIsDeleted("0"); projectWeekly.setUserId(String.valueOf(userId)); projectWeekly.setWeeklyType("0"); @@ -210,29 +206,25 @@ public class ProjectWeeklyController implements ProjectWeeklyApi { weeklyEntityWrapper.eq("weekly_type", "1"); weeklyEntityWrapper.eq("dept_id", ""); weeklyEntityWrapper.eq("is_deleted", "1"); - List weekly = projectWeeklyService.selectList(weeklyEntityWrapper); - if (weekly.size() >= 1) {//如果查到确实是项目专员/负责人,通过项目ID拿到所有人的专项填报 - // 创建一个 Set 进行去重 - Set set = new HashSet<>(list); - for (ProjectWeekly pw : weekly) { - ProjectWeekly projectWeekly1 = new ProjectWeekly(); - projectWeekly1.setIsDeleted("0"); - projectWeekly1.setWeeklyType("0"); - projectWeekly1.setProjectId(pw.getProjectId()); - // projectWeekly1.setProjectId(weekly.getProjectId()); - if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null)) - projectWeekly1.setId(projectWeeklyFindReq.getId()); - if (!StringUtils.isEmpty(projectWeeklyFindReq.getDeptId() != null)) - projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId()); - List list1 = projectWeeklyService.getList(page2, projectWeekly1); - if(!ObjectUtils.isEmpty(list1)){ - //使用set集合去重 - set.addAll(list1); - page.setTotal(set.size()); - page.setSize(page2.getSize()); - } + weeklyEntityWrapper.setSqlSelect("project_id"); + List weekly = projectWeeklyService.selectObjs(weeklyEntityWrapper);//负责人对应的项目id + if (!ObjectUtils.isEmpty(weekly)) {//如果查到确实是项目专员/负责人,通过项目ID拿到所有人的专项填报,加上自己参与过的周报 + ProjectWeeklyDto projectWeekly1 = new ProjectWeeklyDto(); + projectWeekly1.setIsDeleted("0"); + projectWeekly1.setWeeklyType("0"); + projectWeekly1.setProjectIds(weekly); + projectWeekly1.setCreatedBy(String.valueOf(userId)); + // projectWeekly1.setProjectId(weekly.getProjectId()); + if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null)) + projectWeekly1.setId(projectWeeklyFindReq.getId()); + if (!StringUtils.isEmpty(projectWeeklyFindReq.getDeptId() != null)) + projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId()); + List list1 = projectWeeklyService.getList(page2, projectWeekly1); + if(!ObjectUtils.isEmpty(list1)){ + list = list1; + page.setTotal(page2.getTotal()); + page.setSize(page2.getSize()); } - list = new ArrayList<>(set); } //组装结果集 @@ -357,13 +349,9 @@ public class ProjectWeeklyController implements ProjectWeeklyApi { JSONObject extInfo = project.getExt(); JSONArray projectManagerData = extInfo.getJSONArray("projectManagerData"); JSONArray projectAdmin = extInfo.getJSONArray("projectAdmin"); - // 将projectAdmin改为人事id - EntityWrapper userLoginEntityWrapper = new EntityWrapper<>(); - userLoginEntityWrapper.eq("id_", projectAdmin.getBigInteger(projectAdmin.toArray().length -1 )); - SystemUserLogin systemUserLogin = systemUserLoginService.selectOne(userLoginEntityWrapper); JSONObject ext = new JSONObject(); ext.put("projectManagerData",projectManagerData.getString(projectManagerData.toArray().length -1 )); - ext.put("projectAdmin",systemUserLogin.getUserinfoId().toString()); + ext.put("projectAdmin",projectAdmin.getString(projectAdmin.toArray().length -1 )); ext.put("draftManId",extInfo.getString("draftManId")); ext.put("deptName",projectInfoReq.getExt().get("draftDeptName")); ext.put("userName",projectInfoReq.getExt().get("draftMan")); diff --git a/src/main/java/com/xqopen/kehui/project/dto/ProjectWeeklyDto.java b/src/main/java/com/xqopen/kehui/project/dto/ProjectWeeklyDto.java index 9f21c5d..f4a138b 100644 --- a/src/main/java/com/xqopen/kehui/project/dto/ProjectWeeklyDto.java +++ b/src/main/java/com/xqopen/kehui/project/dto/ProjectWeeklyDto.java @@ -3,10 +3,13 @@ package com.xqopen.kehui.project.dto; import com.xqopen.kehui.project.entity.ProjectWeekly; import lombok.Data; +import java.util.List; + @Data public class ProjectWeeklyDto extends ProjectWeekly { String userName; String projectName; String projectNo; String week; + List projectIds; } diff --git a/src/main/java/com/xqopen/kehui/project/service/IProjectWeeklyService.java b/src/main/java/com/xqopen/kehui/project/service/IProjectWeeklyService.java index 4051a0e..2ecb4d6 100644 --- a/src/main/java/com/xqopen/kehui/project/service/IProjectWeeklyService.java +++ b/src/main/java/com/xqopen/kehui/project/service/IProjectWeeklyService.java @@ -7,5 +7,5 @@ import com.baomidou.mybatisplus.plugins.Page; import java.util.List; public interface IProjectWeeklyService extends IService { - List getList(Page page, ProjectWeekly projectWeekly); + List getList(Page page, ProjectWeeklyDto projectWeekly); } diff --git a/src/main/java/com/xqopen/kehui/project/service/impl/IProjectWeeklyServiceImpl.java b/src/main/java/com/xqopen/kehui/project/service/impl/IProjectWeeklyServiceImpl.java index a9f054f..9c7ec95 100644 --- a/src/main/java/com/xqopen/kehui/project/service/impl/IProjectWeeklyServiceImpl.java +++ b/src/main/java/com/xqopen/kehui/project/service/impl/IProjectWeeklyServiceImpl.java @@ -17,7 +17,7 @@ public class IProjectWeeklyServiceImpl extends ServiceImpl getList(Page page, ProjectWeekly projectWeekly) { + public List getList(Page page, ProjectWeeklyDto projectWeekly) { return projectWeeklyDao.getList(page,projectWeekly); } }