1.ProjectWeeklyDto增加字段List<Object> projectIds
2.周报查询时,增加如果是项目负责人查询时,增加or查询自己的
This commit is contained in:
parent
1f5ca3dfc1
commit
44cc70e8a7
@ -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);
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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,15 +206,14 @@ 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();
|
||||
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.setProjectId(pw.getProjectId());
|
||||
projectWeekly1.setProjectIds(weekly);
|
||||
projectWeekly1.setCreatedBy(String.valueOf(userId));
|
||||
// projectWeekly1.setProjectId(weekly.getProjectId());
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null))
|
||||
projectWeekly1.setId(projectWeeklyFindReq.getId());
|
||||
@ -226,14 +221,11 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
|
||||
projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId());
|
||||
List<ProjectWeeklyDto> list1 = projectWeeklyService.getList(page2, projectWeekly1);
|
||||
if(!ObjectUtils.isEmpty(list1)){
|
||||
//使用set集合去重
|
||||
set.addAll(list1);
|
||||
page.setTotal(set.size());
|
||||
list = list1;
|
||||
page.setTotal(page2.getTotal());
|
||||
page.setSize(page2.getSize());
|
||||
}
|
||||
}
|
||||
list = new ArrayList<>(set);
|
||||
}
|
||||
|
||||
//组装结果集
|
||||
ProjectWeeklyListResp listResp = new ProjectWeeklyListResp();
|
||||
@ -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"));
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user