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

View File

@ -44,6 +44,13 @@
<if test="projectWeekly.projectId!=null">
and pw.project_id=#{projectWeekly.projectId}
</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">
and pw.dept_id=#{projectWeekly.deptId}
</if>

View File

@ -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<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);
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<ProjectWeekly> 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<ProjectWeekly> weekly = projectWeeklyService.selectList(weeklyEntityWrapper);
if (weekly.size() >= 1) {//如果查到确实是项目专员/负责人通过项目ID拿到所有人的专项填报
// 创建一个 Set 进行去重
Set<ProjectWeeklyDto> 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<ProjectWeeklyDto> 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<Object> 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<ProjectWeeklyDto> 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<SystemUserLogin> 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"));

View File

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

View File

@ -7,5 +7,5 @@ import com.baomidou.mybatisplus.plugins.Page;
import java.util.List;
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
ProjectWeeklyDao projectWeeklyDao;
@Override
public List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, ProjectWeekly projectWeekly) {
public List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, ProjectWeeklyDto projectWeekly) {
return projectWeeklyDao.getList(page,projectWeekly);
}
}