流程变更修改。

This commit is contained in:
wangzhijiang
2022-05-19 14:44:35 +08:00
parent 4625c24fe9
commit 96496e961f
11 changed files with 120 additions and 71 deletions
@@ -4,6 +4,7 @@ import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
@@ -74,14 +75,14 @@ public class ProjectTaskInventoryDetailEOController extends JeroController<Proje
/**
* 添加
*
* @param projectTaskInventoryDetailEOList
* @param jsonObject
* @return
*/
@AutoLog(value = "项目库-任务清单明细表-添加")
@ApiOperation(value="项目库-任务清单明细表-添加", notes="项目库-任务清单明细表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList) {
projectTaskInventoryDetailEOService.add(projectTaskInventoryDetailEOList);
public Result<?> add(@RequestBody JSONObject jsonObject) {
projectTaskInventoryDetailEOService.add(jsonObject);
return Result.OK("添加成功!");
}
@@ -168,4 +168,16 @@ public class ProjectTaskInventoryFeedbackEOController extends JeroController<Pro
return super.importExcel(request, response, ProjectTaskInventoryFeedbackEO.class);
}
/**
* dre提交
* @param projectTaskInventoryFeedbackEO
* @return
*/
@AutoLog(value = "项目库-任务清单-意见反馈表-dre提交")
@ApiOperation(value="项目库-任务清单-意见反馈表-dre提交", notes="项目库-任务清单-意见反馈表-dre提交")
@PutMapping(value = "/dreSubmit")
public Result<?> dreSubmit(@Validated @RequestBody ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO) {
projectTaskInventoryFeedbackEOService.dreSubmit(projectTaskInventoryFeedbackEO);
return Result.OK("编辑成功!");
}
}
@@ -89,9 +89,9 @@ public class ProjectTaskInventoryFeedbackEO implements Serializable {
@ApiModelProperty(value = "流程实例id")
private String actiProcInstId;
/**法规清单id*/
@Excel(name = "法规清单id", width = 15)
@ApiModelProperty(value = "法规清单id")
/**任务清单id*/
@Excel(name = "任务清单id", width = 15)
@ApiModelProperty(value = "任务清单id")
private String projectTaskInventoryId;
/**是否是该条数据的创建人**/
@@ -100,4 +100,8 @@ public class ProjectTaskInventoryFeedbackEO implements Serializable {
@ApiModelProperty(value = "工程交付要求")
private String deliveryRequirements;
/**待办、已办标识**/
@TableField(exist = false)
private String status;
}
@@ -8,10 +8,10 @@ import com.jero.common.constant.enums.CutEnum;
*/
public enum CurrentProjectStatusEnum {
BLUE("蓝色","0","blue"),
RED("红色","1","red"),
YELLOW("黄色","2","yellow"),
GREEN("绿色","3","green"),
BLUE("蓝色","4","blue"),
;
String name;
@@ -1,5 +1,6 @@
package com.jero.modules.project.service;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -16,10 +17,10 @@ public interface IProjectTaskInventoryDetailEOService extends IService<ProjectTa
/**
* 保存
*
* @param projectTaskInventoryDetailEOList
* @param jsonObject
* @return
*/
void add(List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList);
void add(JSONObject jsonObject);
/**
* 更新
@@ -59,4 +59,10 @@ public interface IProjectTaskInventoryFeedbackEOService extends IService<Project
* @return
*/
List<ProjectTaskInventoryFeedbackEO> queryList(Map<String,Object> params);
/**
* dre提交
* @param projectTaskInventoryFeedbackEO
*/
void dreSubmit(ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO);
}
@@ -1,5 +1,7 @@
package com.jero.modules.project.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.system.vo.LoginUser;
@@ -11,15 +13,12 @@ import com.jero.modules.project.service.IProjectTaskInventoryFeedbackEOService;
import com.jero.modules.project.util.SendMessageUtils;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import me.zhyd.oauth.utils.StringUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -50,11 +49,31 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
/**
* 保存
*
* @param projectTaskInventoryDetailEOList
* @param jsonObject
* @return
*/
@Override
public void add(List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList) {
public void add(JSONObject jsonObject) {
ProjectTaskInventoryDetailEO taskInventoryDetail = JSONObject.parseObject(JSONObject.toJSONString(jsonObject), ProjectTaskInventoryDetailEO.class);
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList = new ArrayList<>();
//分发工程师数组。
JSONArray distributionEngineerList = jsonObject.getJSONArray("distributionEngineerList");
ProjectTaskInventoryDetailEO projectTaskInventoryDetail = null;
for (Object distributionEngineer : distributionEngineerList) {
projectTaskInventoryDetail = JSONObject.parseObject(JSONObject.toJSONString(distributionEngineer), ProjectTaskInventoryDetailEO.class);
String id = UUID.randomUUID().toString().replace("-", "");
projectTaskInventoryDetail.setId(id);
projectTaskInventoryDetail.setActiProcInstId(taskInventoryDetail.getActiProcInstId());
projectTaskInventoryDetail.setFlowType(taskInventoryDetail.getFlowType());
projectTaskInventoryDetail.setMsgType(taskInventoryDetail.getMsgType());
projectTaskInventoryDetail.setProjectTaskInventoryId(taskInventoryDetail.getProjectTaskInventoryId());
projectTaskInventoryDetail.setStatus(taskInventoryDetail.getStatus());
projectTaskInventoryDetail.setTaskDefinitionKey(taskInventoryDetail.getTaskDefinitionKey());
projectTaskInventoryDetailEOList.add(projectTaskInventoryDetail);
}
if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOList)){
List<String> userIdList = new ArrayList<>();
List<String> createByList = new ArrayList<>();
@@ -63,6 +82,7 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : projectTaskInventoryDetailEOList) {
QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
sysUserQueryWrapper.lambda().eq(SysUser::getId,projectTaskInventoryDetailEO.getUserId());
List<SysUser> sysUserList = sysUserService.getBaseMapper().selectList(sysUserQueryWrapper);
if(CollectionUtils.isNotEmpty(sysUserList)){
userIdList.add(projectTaskInventoryDetailEO.getUserId());
@@ -71,6 +91,9 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
String userName = sysUserList.get(0).getUsername();
projectTaskInventoryFeedbackEO.setActiProcInstId(projectTaskInventoryDetailEO.getActiProcInstId());
projectTaskInventoryFeedbackEO.setCreateBy(userName);
projectTaskInventoryFeedbackEO.setProjectTaskInventoryId(projectTaskInventoryDetailEO.getId());
projectTaskInventoryFeedbackEO.setFlowType(projectTaskInventoryDetailEO.getFlowType());
projectTaskInventoryFeedbackEO.setDeliveryRequirements(projectTaskInventoryDetailEO.getDeliveryInstructions());
projectTaskInventoryFeedbackEOList.add(projectTaskInventoryFeedbackEO);
createByList.add(userName);
@@ -79,7 +102,7 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
//先删后加,确保用户只有一条反馈任务。
QueryWrapper<ProjectTaskInventoryFeedbackEO> deleteFeedbackWrapper = new QueryWrapper<>();
deleteFeedbackWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,projectTaskInventoryDetailEOList.get(0).getActiProcInstId());
deleteFeedbackWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,taskInventoryDetail.getActiProcInstId());
deleteFeedbackWrapper.lambda().in(ProjectTaskInventoryFeedbackEO::getCreateBy,createByList);
projectTaskInventoryFeedbackEOService.remove(deleteFeedbackWrapper);
//给每一个dre设置一条反馈任务,让这个用户去进行编辑
@@ -87,41 +110,13 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
//先删后加,确保一个用户只有一个任务。
QueryWrapper<ProjectTaskInventoryDetailEO> deleteWrapper = new QueryWrapper<>();
deleteWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getActiProcInstId,projectTaskInventoryDetailEOList.get(0).getActiProcInstId());
deleteWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getActiProcInstId,taskInventoryDetail.getActiProcInstId());
deleteWrapper.lambda().in(ProjectTaskInventoryDetailEO::getUserId,userIdList);
this.baseMapper.delete(deleteWrapper);
super.saveBatch(projectTaskInventoryDetailEOList);
sendMessage(projectTaskInventoryDetailEOList.get(0),userIdList);
sendMessage(taskInventoryDetail,userIdList);
}
/*if(StringUtils.isNotEmpty(projectTaskInventoryDetailEO.getUserIds())){
Date now = new Date();
projectTaskInventoryDetailEO.setCreateTime(now);
projectTaskInventoryDetailEO.setUpdateTime(now);
List<ProjectTaskInventoryDetailEO> list = new ArrayList<>();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<String> userIdList = Arrays.asList(projectTaskInventoryDetailEO.getUserIds().split(","));
//过滤掉当前操作人。
userIdList = userIdList.stream().distinct().filter(userId-> !org.apache.commons.lang3.StringUtils.equals(userId,currentUser.getId())).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(userIdList)){
userIdList.forEach(userId -> {
ProjectTaskInventoryDetailEO taskInventoryDetailEO = new ProjectTaskInventoryDetailEO();
BeanUtils.copyProperties(projectTaskInventoryDetailEO,taskInventoryDetailEO);
taskInventoryDetailEO.setUserId(userId);
list.add(taskInventoryDetailEO);
});
//先删后加,确保一个用户只有一个任务。
QueryWrapper<ProjectTaskInventoryDetailEO> deleteWrapper = new QueryWrapper<>();
deleteWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getActiProcInstId,projectTaskInventoryDetailEO.getActiProcInstId());
deleteWrapper.lambda().in(ProjectTaskInventoryDetailEO::getUserId,userIdList);
this.baseMapper.delete(deleteWrapper);
super.saveBatch(list);
sendMessage(projectTaskInventoryDetailEO,userIdList);
}
}*/
}
/**
@@ -646,10 +646,10 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
"认证进度,项目当前状态";
}else if(StringUtils.equals(projectTaskInventoryEO.getCut(),CutEnum.EN.getValue())){
firstLineTitle = "Confirm design conformance,Pre-Homo Confirm,Verify conformance validation";
secondLineTitle = "SerialNumber,Title,Duty territory," +
"Initiator,Person in charge,Deadline,Process state,Task status,"+
"Initiator,Person in charge,Deadline,Process state,Task status,"+
"Initiator,Person in charge,Deadline,Process state,Task status,"+
secondLineTitle = "Reg._No.,Subject/Topic,Responsible Field," +
"Reviewer,Assignee,Deadline,Process state,Task status,"+
"Reviewer,Assignee,Deadline,Process state,Task status,"+
"Reviewer,Assignee,Deadline,Process state,Task status,"+
"Certification progress,Current Project Status";
}
@@ -3,9 +3,11 @@ package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.FeedbackHistory;
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
import com.jero.modules.project.entity.ProjectTaskInventoryFeedbackEO;
import com.jero.modules.project.enums.FeedBackHistoryDataStatusEnum;
import com.jero.modules.project.mapper.FeedbackHistoryMapper;
import com.jero.modules.project.mapper.ProjectTaskInventoryDetailEOMapper;
import com.jero.modules.project.mapper.ProjectTaskInventoryFeedbackEOMapper;
import com.jero.modules.project.service.IProjectTaskInventoryFeedbackEOService;
import org.apache.commons.collections4.CollectionUtils;
@@ -18,6 +20,7 @@ import java.util.List;
import java.util.Date;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,6 +36,9 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
@Autowired
private FeedbackHistoryMapper feedbackHistoryMapper;
@Autowired
private ProjectTaskInventoryDetailEOMapper projectTaskInventoryDetailEOMapper;
/**
* 保存
*
@@ -55,27 +61,9 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
*/
@Override
public void editById(ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO) {
Date now = new Date();
projectTaskInventoryFeedbackEO.setUpdateTime(now);
//把历史表中的数据为'当前'的 更新为'历史'
FeedbackHistory updateFeedbackHistory = new FeedbackHistory();
updateFeedbackHistory.setDataStatus(FeedBackHistoryDataStatusEnum.HISTORY.getValue());
QueryWrapper<FeedbackHistory> updateFeedbackHistoryDataStatusWrapper = new QueryWrapper<>();
updateFeedbackHistoryDataStatusWrapper.lambda().eq(FeedbackHistory::getFeedbackId,projectTaskInventoryFeedbackEO.getId());
updateFeedbackHistoryDataStatusWrapper.lambda().eq(FeedbackHistory::getDataStatus,FeedBackHistoryDataStatusEnum.CUTTENT.getValue());
feedbackHistoryMapper.update(updateFeedbackHistory,updateFeedbackHistoryDataStatusWrapper);
//设置历史表数据
FeedbackHistory feedbackHistory = new FeedbackHistory();
BeanUtils.copyProperties(projectTaskInventoryFeedbackEO, feedbackHistory);
String id = UUID.randomUUID().toString().replace("-", "");
feedbackHistory.setId(id);
feedbackHistory.setFeedbackId(projectTaskInventoryFeedbackEO.getId());
feedbackHistory.setDataStatus(FeedBackHistoryDataStatusEnum.CUTTENT.getValue());
feedbackHistoryMapper.insert(feedbackHistory);
this.baseMapper.updateById(projectTaskInventoryFeedbackEO);
Date now = new Date();
projectTaskInventoryFeedbackEO.setUpdateTime(now);
saveOrUpdate(projectTaskInventoryFeedbackEO);
}
/**
@@ -123,13 +111,50 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
queryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,actiProcInstId);
List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOS = this.baseMapper.selectList(queryWrapper);
if(CollectionUtils.isNotEmpty(projectTaskInventoryFeedbackEOS)){
List<String> idList = projectTaskInventoryFeedbackEOS.stream().distinct().map(ProjectTaskInventoryFeedbackEO::getProjectTaskInventoryId).collect(Collectors.toList());
QueryWrapper<ProjectTaskInventoryDetailEO> inventoryDetailEOQueryWrapper = new QueryWrapper<>();
inventoryDetailEOQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getId,idList);
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList = projectTaskInventoryDetailEOMapper.selectList(inventoryDetailEOQueryWrapper);
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
for (ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO : projectTaskInventoryFeedbackEOS) {
if (StringUtils.equals(currentUser.getUsername(),projectTaskInventoryFeedbackEO.getCreateBy())) {
projectTaskInventoryFeedbackEO.setCreateUser(true);
}
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailList = projectTaskInventoryDetailEOList.stream()
.filter(detail -> StringUtils.equals(detail.getId(), projectTaskInventoryFeedbackEO.getProjectTaskInventoryId()))
.collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailList)){
projectTaskInventoryFeedbackEO.setStatus(projectTaskInventoryDetailList.get(0).getStatus());
}
}
}
return projectTaskInventoryFeedbackEOS;
}
@Override
public void dreSubmit(ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO) {
Date now = new Date();
projectTaskInventoryFeedbackEO.setUpdateTime(now);
//把历史表中的数据为'当前'的 更新为'历史'
FeedbackHistory updateFeedbackHistory = new FeedbackHistory();
updateFeedbackHistory.setDataStatus(FeedBackHistoryDataStatusEnum.HISTORY.getValue());
QueryWrapper<FeedbackHistory> updateFeedbackHistoryDataStatusWrapper = new QueryWrapper<>();
updateFeedbackHistoryDataStatusWrapper.lambda().eq(FeedbackHistory::getFeedbackId,projectTaskInventoryFeedbackEO.getId());
updateFeedbackHistoryDataStatusWrapper.lambda().eq(FeedbackHistory::getDataStatus,FeedBackHistoryDataStatusEnum.CUTTENT.getValue());
feedbackHistoryMapper.update(updateFeedbackHistory,updateFeedbackHistoryDataStatusWrapper);
//设置历史表数据
FeedbackHistory feedbackHistory = new FeedbackHistory();
BeanUtils.copyProperties(projectTaskInventoryFeedbackEO, feedbackHistory);
String id = UUID.randomUUID().toString().replace("-", "");
feedbackHistory.setId(id);
feedbackHistory.setFeedbackId(projectTaskInventoryFeedbackEO.getId());
feedbackHistory.setDataStatus(FeedBackHistoryDataStatusEnum.CUTTENT.getValue());
feedbackHistoryMapper.insert(feedbackHistory);
this.baseMapper.updateById(projectTaskInventoryFeedbackEO);
}
}
@@ -94,4 +94,9 @@ public class ProcessHistoryEO implements Serializable {
@TableField(exist = false)
private String assignee;;
/**操作节点,页面展示字段**/
@TableField(exist = false)
private String name;;
}
@@ -150,7 +150,7 @@ public class ProcessHistoryEOServiceImpl extends ServiceImpl<ProcessHistoryEOMap
data.setAssignee(userInfo.getUsername());
}
if(StringUtils.isNotEmpty(data.getTaskDefinitionKey())){
data.setTaskDefinitionKey(DesignComplianceNodeEnum.getTextByValue(data.getTaskDefinitionKey(),cut));
data.setName(DesignComplianceNodeEnum.getTextByValue(data.getTaskDefinitionKey(),cut));
}
}
}