1.ProjectWeeklyDto增加字段List<Object> projectIds

2.周报查询时,增加如果是项目负责人查询时,增加or查询自己的
This commit is contained in:
zty 2024-08-15 16:06:57 +08:00
parent 1f5ca3dfc1
commit 44cc70e8a7
6 changed files with 35 additions and 37 deletions

View File

@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
public interface ProjectWeeklyDao extends BaseMapper<ProjectWeekly> { public interface ProjectWeeklyDao extends BaseMapper<ProjectWeekly> {
List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, @Param("projectWeekly") ProjectWeekly projectWeekly); List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, @Param("projectWeekly") ProjectWeeklyDto projectWeekly);
List<ProjectWeeklyDto> getListByProId(@Param("page") Page<ProjectWeekly> page, @Param("projectWeekly") ProjectWeekly projectWeekly); List<ProjectWeeklyDto> getListByProId(@Param("page") Page<ProjectWeekly> page, @Param("projectWeekly") ProjectWeekly projectWeekly);

View File

@ -44,6 +44,13 @@
<if test="projectWeekly.projectId!=null"> <if test="projectWeekly.projectId!=null">
and pw.project_id=#{projectWeekly.projectId} and pw.project_id=#{projectWeekly.projectId}
</if> </if>
<if test="projectWeekly.ProjectIds!=null">
and (pw.project_id in
<foreach collection="projectWeekly.ProjectIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or pw.created_by=#{projectWeekly.createdBy})
</if>
<if test="projectWeekly.deptId!=null"> <if test="projectWeekly.deptId!=null">
and pw.dept_id=#{projectWeekly.deptId} and pw.dept_id=#{projectWeekly.deptId}
</if> </if>

View File

@ -26,10 +26,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
@Slf4j @Slf4j
@RestController @RestController
@ -69,7 +66,6 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
//先通过编号名称查到向目标id //先通过编号名称查到向目标id
ProjectInfo project = getProject(projectWeeklyAddReq, projectWeekly); ProjectInfo project = getProject(projectWeeklyAddReq, projectWeekly);
if (ObjectUtils.isEmpty(project)) return ApiResponse.fillFail("你输入的项目编号/名称不存在!"); if (ObjectUtils.isEmpty(project)) return ApiResponse.fillFail("你输入的项目编号/名称不存在!");
JSONObject ext = updateExt(projectWeeklyAddReq,project); JSONObject ext = updateExt(projectWeeklyAddReq,project);
projectWeekly.setProjectId(String.valueOf(project.getId())); projectWeekly.setProjectId(String.valueOf(project.getId()));
@ -167,11 +163,11 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
JSONArray projectAdmin = extInfo.getJSONArray("projectAdmin"); JSONArray projectAdmin = extInfo.getJSONArray("projectAdmin");
// 将projectAdmin改为人事id // 将projectAdmin改为人事id
EntityWrapper<SystemUserLogin> userLoginEntityWrapper = new EntityWrapper<>(); EntityWrapper<SystemUserLogin> 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); SystemUserLogin systemUserLogin = systemUserLoginService.selectOne(userLoginEntityWrapper);
ext.put("projectManagerData",projectManagerData.getString(projectManagerData.toArray().length -1 )); 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")); ext.put("draftManId",extInfo.getString("draftManId"));
return ext; return ext;
} }
@ -189,7 +185,7 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
projectWeeklyFindReq.setPageSize(10); projectWeeklyFindReq.setPageSize(10);
} }
Page<ProjectWeekly> page = new Page<>(projectWeeklyFindReq.getPageNo(), projectWeeklyFindReq.getPageSize()); Page<ProjectWeekly> page = new Page<>(projectWeeklyFindReq.getPageNo(), projectWeeklyFindReq.getPageSize());
ProjectWeekly projectWeekly = new ProjectWeekly(); ProjectWeeklyDto projectWeekly = new ProjectWeeklyDto();
projectWeekly.setIsDeleted("0"); projectWeekly.setIsDeleted("0");
projectWeekly.setUserId(String.valueOf(userId)); projectWeekly.setUserId(String.valueOf(userId));
projectWeekly.setWeeklyType("0"); projectWeekly.setWeeklyType("0");
@ -210,15 +206,14 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
weeklyEntityWrapper.eq("weekly_type", "1"); weeklyEntityWrapper.eq("weekly_type", "1");
weeklyEntityWrapper.eq("dept_id", ""); weeklyEntityWrapper.eq("dept_id", "");
weeklyEntityWrapper.eq("is_deleted", "1"); weeklyEntityWrapper.eq("is_deleted", "1");
List<ProjectWeekly> weekly = projectWeeklyService.selectList(weeklyEntityWrapper); weeklyEntityWrapper.setSqlSelect("project_id");
if (weekly.size() >= 1) {//如果查到确实是项目专员/负责人通过项目ID拿到所有人的专项填报 List<Object> weekly = projectWeeklyService.selectObjs(weeklyEntityWrapper);//负责人对应的项目id
// 创建一个 Set 进行去重 if (!ObjectUtils.isEmpty(weekly)) {//如果查到确实是项目专员/负责人通过项目ID拿到所有人的专项填报加上自己参与过的周报
Set<ProjectWeeklyDto> set = new HashSet<>(list); ProjectWeeklyDto projectWeekly1 = new ProjectWeeklyDto();
for (ProjectWeekly pw : weekly) {
ProjectWeekly projectWeekly1 = new ProjectWeekly();
projectWeekly1.setIsDeleted("0"); projectWeekly1.setIsDeleted("0");
projectWeekly1.setWeeklyType("0"); projectWeekly1.setWeeklyType("0");
projectWeekly1.setProjectId(pw.getProjectId()); projectWeekly1.setProjectIds(weekly);
projectWeekly1.setCreatedBy(String.valueOf(userId));
// projectWeekly1.setProjectId(weekly.getProjectId()); // projectWeekly1.setProjectId(weekly.getProjectId());
if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null)) if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null))
projectWeekly1.setId(projectWeeklyFindReq.getId()); projectWeekly1.setId(projectWeeklyFindReq.getId());
@ -226,14 +221,11 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId()); projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId());
List<ProjectWeeklyDto> list1 = projectWeeklyService.getList(page2, projectWeekly1); List<ProjectWeeklyDto> list1 = projectWeeklyService.getList(page2, projectWeekly1);
if(!ObjectUtils.isEmpty(list1)){ if(!ObjectUtils.isEmpty(list1)){
//使用set集合去重 list = list1;
set.addAll(list1); page.setTotal(page2.getTotal());
page.setTotal(set.size());
page.setSize(page2.getSize()); page.setSize(page2.getSize());
} }
} }
list = new ArrayList<>(set);
}
//组装结果集 //组装结果集
ProjectWeeklyListResp listResp = new ProjectWeeklyListResp(); ProjectWeeklyListResp listResp = new ProjectWeeklyListResp();
@ -357,13 +349,9 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
JSONObject extInfo = project.getExt(); JSONObject extInfo = project.getExt();
JSONArray projectManagerData = extInfo.getJSONArray("projectManagerData"); JSONArray projectManagerData = extInfo.getJSONArray("projectManagerData");
JSONArray projectAdmin = extInfo.getJSONArray("projectAdmin"); JSONArray projectAdmin = extInfo.getJSONArray("projectAdmin");
// 将projectAdmin改为人事id
EntityWrapper<SystemUserLogin> userLoginEntityWrapper = new EntityWrapper<>();
userLoginEntityWrapper.eq("id_", projectAdmin.getBigInteger(projectAdmin.toArray().length -1 ));
SystemUserLogin systemUserLogin = systemUserLoginService.selectOne(userLoginEntityWrapper);
JSONObject ext = new JSONObject(); JSONObject ext = new JSONObject();
ext.put("projectManagerData",projectManagerData.getString(projectManagerData.toArray().length -1 )); 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("draftManId",extInfo.getString("draftManId"));
ext.put("deptName",projectInfoReq.getExt().get("draftDeptName")); ext.put("deptName",projectInfoReq.getExt().get("draftDeptName"));
ext.put("userName",projectInfoReq.getExt().get("draftMan")); ext.put("userName",projectInfoReq.getExt().get("draftMan"));

View File

@ -3,10 +3,13 @@ package com.xqopen.kehui.project.dto;
import com.xqopen.kehui.project.entity.ProjectWeekly; import com.xqopen.kehui.project.entity.ProjectWeekly;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class ProjectWeeklyDto extends ProjectWeekly { public class ProjectWeeklyDto extends ProjectWeekly {
String userName; String userName;
String projectName; String projectName;
String projectNo; String projectNo;
String week; String week;
List<Object> projectIds;
} }

View File

@ -7,5 +7,5 @@ import com.baomidou.mybatisplus.plugins.Page;
import java.util.List; import java.util.List;
public interface IProjectWeeklyService extends IService<ProjectWeekly> { public interface IProjectWeeklyService extends IService<ProjectWeekly> {
List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, ProjectWeekly projectWeekly); List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, ProjectWeeklyDto projectWeekly);
} }

View File

@ -17,7 +17,7 @@ public class IProjectWeeklyServiceImpl extends ServiceImpl<ProjectWeeklyDao, Pro
@Autowired @Autowired
ProjectWeeklyDao projectWeeklyDao; ProjectWeeklyDao projectWeeklyDao;
@Override @Override
public List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, ProjectWeekly projectWeekly) { public List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, ProjectWeeklyDto projectWeekly) {
return projectWeeklyDao.getList(page,projectWeekly); return projectWeeklyDao.getList(page,projectWeekly);
} }
} }