1.立项结束监控器修改,方便周报填报权限校验

2.周报填报查询控制器、sql语句修改
This commit is contained in:
zty 2024-07-07 15:19:11 +08:00
parent 1bc6ab8282
commit f7839f0dab
5 changed files with 64 additions and 25 deletions

View File

@ -3,6 +3,7 @@ package com.xqopen.kehui.flows.util;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.xqopen.kehui.common.service.ISystemUserLoginService;
import com.xqopen.kehui.exception.ErrorCode; import com.xqopen.kehui.exception.ErrorCode;
import com.xqopen.kehui.exception.XQException; import com.xqopen.kehui.exception.XQException;
import com.xqopen.kehui.flows.service.IFlowsService; import com.xqopen.kehui.flows.service.IFlowsService;
@ -31,6 +32,8 @@ public class ProjectInitListener implements ExecutionListener {
IFlowsService flowsService; IFlowsService flowsService;
@Autowired @Autowired
IProjectInfoService projectInfoService; IProjectInfoService projectInfoService;
@Autowired
ISystemUserLoginService systemUserLoginService;
@Override @Override
@Transactional @Transactional
@ -45,6 +48,7 @@ public class ProjectInitListener implements ExecutionListener {
ProjectInfo projectInfo = projectInfoService.selectOne(wrapper); ProjectInfo projectInfo = projectInfoService.selectOne(wrapper);
if (!ObjectUtils.isEmpty(projectInfo)) { if (!ObjectUtils.isEmpty(projectInfo)) {
JSONObject ext = projectInfo.getExt(); JSONObject ext = projectInfo.getExt();
//根据部门批量添加部门周报填报
JSONArray depts = (JSONArray) ext.get("executeDepts"); JSONArray depts = (JSONArray) ext.get("executeDepts");
ArrayList<ProjectWeekly> weeklyArrayList = new ArrayList<>(); ArrayList<ProjectWeekly> weeklyArrayList = new ArrayList<>();
if (!ObjectUtils.isEmpty(depts)) { if (!ObjectUtils.isEmpty(depts)) {
@ -56,15 +60,26 @@ public class ProjectInitListener implements ExecutionListener {
projectWeekly.setDeptId(a.toString()); projectWeekly.setDeptId(a.toString());
weeklyArrayList.add(projectWeekly); weeklyArrayList.add(projectWeekly);
}); });
System.out.println(weeklyArrayList); //添加项目专员/负责人假数据方便周报填报页面查看所有暂时
String draftManId = String.valueOf(ext.get("draftManId"));
JSONArray projectManagerData = (JSONArray) ext.get("projectManagerData");
String projectManager = String.valueOf(projectManagerData.get(1));
ArrayList<String> list = new ArrayList<>();
list.add(draftManId);
if(!draftManId.equals(projectManager))list.add(projectManager);//避免角色是同一个人重复
list.forEach(a -> {
ProjectWeekly projectWeekly = new ProjectWeekly();
projectWeekly.setProjectId(String.valueOf(projectInfo.getId()));
projectWeekly.setWeeklyType("1");
projectWeekly.setDeptId("");
projectWeekly.setCreatedAt(new Timestamp(System.currentTimeMillis()));
projectWeekly.setIsDeleted("1");
projectWeekly.setUserId(a);
projectWeekly.setCreatedBy(a);
weeklyArrayList.add(projectWeekly);
});
projectWeeklyService.insertBatch(weeklyArrayList); projectWeeklyService.insertBatch(weeklyArrayList);
} }
// if(!StringUtils.isEmpty(projectInfo.getProjectName())&& !StringUtils.isEmpty(projectInfo.getProjectNo())){
// ProjectWeekly projectWeekly = new ProjectWeekly();
// projectWeekly.setProjectId(String.valueOf(projectInfo.getId()));
// projectWeekly.setWeeklyType("1");
// projectWeeklyService.insert(projectWeekly);
// }
} }
} }
} catch (Exception e) { } catch (Exception e) {

View File

@ -28,8 +28,14 @@
left join personal_member pm on pm.id_ =sl.userinfo_id left join personal_member pm on pm.id_ =sl.userinfo_id
left join project_info pi on pi.id_=cast(pw.project_id as BIGINT) left join project_info pi on pi.id_=cast(pw.project_id as BIGINT)
where where
pw.is_deleted='0' and pw.is_complete='0' pw.is_complete='0'
<if test="projectWeekly.getId!=null"> <if test="projectWeekly.isDeleted!=null">
and pw.is_deleted=#{projectWeekly.isDeleted}
</if>
<if test="projectWeekly.userId!=null">
and pw.user_id=#{projectWeekly.userId}
</if>
<if test="projectWeekly.Id!=null">
and pw.id_=#{projectWeekly.id} and pw.id_=#{projectWeekly.id}
</if> </if>
<if test="projectWeekly.weeklyType!=null"> <if test="projectWeekly.weeklyType!=null">

View File

@ -149,7 +149,7 @@ public class ProjectInitComtroller implements ProjectInitApi {
if (!ObjectUtils.isEmpty(initDto)) { if (!ObjectUtils.isEmpty(initDto)) {
if (!ObjectUtils.isEmpty(initDto.getMap())) { if (!ObjectUtils.isEmpty(initDto.getMap())) {
map = initDto.getMap(); map = initDto.getMap();
if (!ObjectUtils.isEmpty(map)) { if (!ObjectUtils.isEmpty(map)) {//存入流程委托人并将前台传的人事ID转为账号ID
if (!ObjectUtils.isEmpty(map.get("projectManagerData"))) { if (!ObjectUtils.isEmpty(map.get("projectManagerData"))) {
SystemUserLogin systemUserLogin = getSystemUserLogin(map, "projectManagerData"); SystemUserLogin systemUserLogin = getSystemUserLogin(map, "projectManagerData");
map.put("projectManagerData", systemUserLogin.getId()); map.put("projectManagerData", systemUserLogin.getId());

View File

@ -108,7 +108,7 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
@Override @Override
@PostMapping(Api.PROJECT_WEEKLY) @PostMapping(Api.PROJECT_WEEKLY)
public String list(@RequestHeader("userId") Long userId, @RequestBody ProjectWeeklyFindReq projectWeeklyFindReq) throws XQException { public String list(@RequestHeader("userId") Long userId, @RequestBody ProjectWeeklyFindReq projectWeeklyFindReq) throws XQException {
try { try {//基本分页查询
if (!ObjectUtils.isEmpty(projectWeeklyFindReq)) { if (!ObjectUtils.isEmpty(projectWeeklyFindReq)) {
if (!ObjectUtils.isEmpty(userId)) projectWeeklyFindReq.setUserId(String.valueOf(userId)); if (!ObjectUtils.isEmpty(userId)) projectWeeklyFindReq.setUserId(String.valueOf(userId));
if (projectWeeklyFindReq.getPageNo() == null || projectWeeklyFindReq.getPageNo() == 0) { if (projectWeeklyFindReq.getPageNo() == null || projectWeeklyFindReq.getPageNo() == 0) {
@ -119,12 +119,31 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
} }
Page<ProjectWeekly> page = new Page<>(projectWeeklyFindReq.getPageNo(), projectWeeklyFindReq.getPageSize()); Page<ProjectWeekly> page = new Page<>(projectWeeklyFindReq.getPageNo(), projectWeeklyFindReq.getPageSize());
ProjectWeekly projectWeekly = new ProjectWeekly(); ProjectWeekly projectWeekly = new ProjectWeekly();
projectWeekly.setIsComplete("0");
projectWeekly.setIsDeleted("0"); projectWeekly.setIsDeleted("0");
projectWeekly.setUserId(String.valueOf(userId)); projectWeekly.setUserId(String.valueOf(userId));
projectWeekly.setWeeklyType("0"); projectWeekly.setWeeklyType("0");
List<ProjectWeeklyDto> list = projectWeeklyService.getList(page, projectWeekly); List<ProjectWeeklyDto> list = projectWeeklyService.getList(page, projectWeekly);
//判断当前账号是否是项目专员/负责人
//因为json里面存的是人事id通过账号找不到先把账号id转为人事id
EntityWrapper<SystemUserLogin> userLoginEntityWrapper = new EntityWrapper<>();
userLoginEntityWrapper.eq("id_",userId);
SystemUserLogin systemUserLogin = systemUserLoginService.selectOne(userLoginEntityWrapper);
EntityWrapper<ProjectWeekly> weeklyEntityWrapper = new EntityWrapper<>();
weeklyEntityWrapper.eq("user_id",String.valueOf(systemUserLogin.getUserinfoId()));
weeklyEntityWrapper.eq("weekly_type","1");
weeklyEntityWrapper.eq("dept_id","");
weeklyEntityWrapper.eq("is_deleted","1");
ProjectWeekly weekly = projectWeeklyService.selectOne(weeklyEntityWrapper);
if (!ObjectUtils.isEmpty(weekly)) {//如果查到确实是项目专员/负责人通过项目ID拿到所有人的专项填报
ProjectWeekly projectWeekly1 = new ProjectWeekly();
projectWeekly1.setIsDeleted("0");
projectWeekly1.setWeeklyType("0");
projectWeekly1.setProjectId(weekly.getProjectId());
list.addAll(projectWeeklyService.getList(page, projectWeekly1));
}
//组装结果集
ProjectWeeklyListResp listResp = new ProjectWeeklyListResp(); ProjectWeeklyListResp listResp = new ProjectWeeklyListResp();
listResp.setLs(list); listResp.setLs(list);
listResp.setPages(page.getPages()); listResp.setPages(page.getPages());

View File

@ -19,6 +19,5 @@ public class IProjectWeeklyServiceImpl extends ServiceImpl<ProjectWeeklyDao, Pro
@Override @Override
public List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, ProjectWeekly projectWeekly) { public List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, ProjectWeekly projectWeekly) {
return projectWeeklyDao.getList(page,projectWeekly); return projectWeeklyDao.getList(page,projectWeekly);
// return null;
} }
} }