1.立项结束监控器修改,方便周报填报权限校验
2.周报填报查询控制器、sql语句修改
This commit is contained in:
parent
1bc6ab8282
commit
f7839f0dab
@ -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,9 +48,10 @@ 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)) {
|
||||||
depts.forEach(a -> {
|
depts.forEach(a -> {
|
||||||
ProjectWeekly projectWeekly = new ProjectWeekly();
|
ProjectWeekly projectWeekly = new ProjectWeekly();
|
||||||
projectWeekly.setProjectId(String.valueOf(projectInfo.getId()));
|
projectWeekly.setProjectId(String.valueOf(projectInfo.getId()));
|
||||||
@ -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) {
|
||||||
|
@ -5,15 +5,15 @@
|
|||||||
<mapper namespace="com.xqopen.kehui.mapper.ProjectWeeklyDao">
|
<mapper namespace="com.xqopen.kehui.mapper.ProjectWeeklyDao">
|
||||||
|
|
||||||
<resultMap id="BaseResultMap" type="com.xqopen.kehui.project.entity.ProjectWeekly">
|
<resultMap id="BaseResultMap" type="com.xqopen.kehui.project.entity.ProjectWeekly">
|
||||||
<id property="id" column="id_" jdbcType="VARCHAR"/>
|
<id property="id" column="id_" jdbcType="VARCHAR"/>
|
||||||
<result property="projectId" column="project_id" jdbcType="VARCHAR"/>
|
<result property="projectId" column="project_id" jdbcType="VARCHAR"/>
|
||||||
<result property="userId" column="user_id" jdbcType="VARCHAR"/>
|
<result property="userId" column="user_id" jdbcType="VARCHAR"/>
|
||||||
<result property="workload" column="workload" jdbcType="VARCHAR"/>
|
<result property="workload" column="workload" jdbcType="VARCHAR"/>
|
||||||
<result property="thisWeek" column="this_week" jdbcType="VARCHAR"/>
|
<result property="thisWeek" column="this_week" jdbcType="VARCHAR"/>
|
||||||
<result property="nextWeek" column="next_week" jdbcType="VARCHAR"/>
|
<result property="nextWeek" column="next_week" jdbcType="VARCHAR"/>
|
||||||
<result property="weeklyType" column="weekly_type" jdbcType="VARCHAR"/>
|
<result property="weeklyType" column="weekly_type" jdbcType="VARCHAR"/>
|
||||||
<result property="isDeleted" column="is_deleted" jdbcType="VARCHAR"/>
|
<result property="isDeleted" column="is_deleted" jdbcType="VARCHAR"/>
|
||||||
<result property="isComplete" column="is_complete" jdbcType="VARCHAR"/>
|
<result property="isComplete" column="is_complete" jdbcType="VARCHAR"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
@ -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">
|
||||||
|
@ -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());
|
||||||
|
@ -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());
|
||||||
|
@ -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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user