待办中心-法规清单变更处理待办中心。

This commit is contained in:
wangzhijiang
2022-10-20 18:06:05 +08:00
parent f6d498e0bf
commit 56d8a13cae
3 changed files with 102 additions and 21 deletions
@@ -1441,6 +1441,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
processInfoDetailEO.setUserId(projectLawsInventoryEO.getHomologationEngineerId());
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.HOMOLOGATION_ENGINEER_AUDIT.getKey());
processInfoDetailEO.setEndTime(endTime);
processInfoDetailEO.setCreateTime(new Date());
processInfoDetailEO.setCreateBy(currentUser.getId());
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
processInfoDetailEOList.add(processInfoDetailEO);
}
if(regulationOwnerFlag){
@@ -1452,10 +1456,27 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
processInfoDetailEO.setUserId(projectLawsInventoryEO.getRegulationOwnerId());
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.REGULATION_OWNER_AUDIT.getKey());
processInfoDetailEO.setEndTime(endTime);
processInfoDetailEO.setCreateTime(new Date());
processInfoDetailEO.setCreateBy(currentUser.getId());
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
processInfoDetailEOList.add(processInfoDetailEO);
}
if(homologationEngineerFlag || regulationOwnerFlag){
//创建一条当前发起清单确认的studio的已办任务
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
processInfoDetailEO.setUserId(currentUser.getId());
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.INITIATED_BY_STUDIO_ENGINEERS.getKey());
processInfoDetailEO.setEndTime(endTime);
processInfoDetailEO.setCreateTime(new Date());
processInfoDetailEO.setCreateBy(currentUser.getId());
processInfoDetailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
processInfoDetailEO.setSubmitTime(new Date());
processInfoDetailEOList.add(processInfoDetailEO);
super.update(projectLawsInventoryEO, updateWrapper);
}
}
@@ -5015,6 +5036,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
params.put("pIds",pIds);
//根据流程实例id 法规清单id 删除相关流程
workFlowFeignClient.deleteProcessInstanceByProjectLawsInventoryIds(params);
//清除流程中心对应的数据
params.put("ids",ids);
this.processInfoEOService.change(params);
}
return Result.OK("变更成功!");
}
@@ -8665,12 +8690,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
* @param endTime
*/
public void addProcessInfoDetail(String processInfoId,List<ProcessInfoDetailEO> processInfoDetailEOList,Date endTime){
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
processInfoDetailEOList.forEach(detail -> {
detail.setCreateTime(new Date());
detail.setCreateBy(currentUser.getId());
detail.setStatus(TaskStatusEnum.NOT_DONE.getValue());
detail.setProcessInfoId(processInfoId);
detail.setFlowType(FlowTypeEnum.QDQR.getValue());
@@ -8680,25 +8700,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
this.processInfoDetailEOService.remove(deleteDetailWrap);
});
//创建一条当前发起清单确认的studio的已办任务
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
processInfoDetailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
processInfoDetailEO.setUserId(currentUser.getId());
processInfoDetailEO.setProcessInfoId(processInfoId);
processInfoDetailEO.setFlowType(FlowTypeEnum.QDQR.getValue());
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.INITIATED_BY_STUDIO_ENGINEERS.getKey());
processInfoDetailEO.setSubmitTime(new Date());
processInfoDetailEO.setCreateTime(new Date());
processInfoDetailEO.setUpdateTime(new Date());
processInfoDetailEO.setCreateBy(currentUser.getId());
processInfoDetailEO.setEndTime(endTime);
processInfoDetailEOList.add(processInfoDetailEO);
//删除studio在这个项目的清单确认已办任务
QueryWrapper<ProcessInfoDetailEO> deleteStudioDetailWrap = new QueryWrapper<>();
/*QueryWrapper<ProcessInfoDetailEO> deleteStudioDetailWrap = new QueryWrapper<>();
deleteStudioDetailWrap.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,InventoryAffirmNodeEnum.INITIATED_BY_STUDIO_ENGINEERS.getKey());
deleteStudioDetailWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,processInfoId);
this.processInfoDetailEOService.remove(deleteStudioDetailWrap);
this.processInfoDetailEOService.remove(deleteStudioDetailWrap);*/
this.processInfoDetailEOService.saveBatch(processInfoDetailEOList);
}
@@ -90,4 +90,10 @@ public interface IProcessInfoEOService extends IService<ProcessInfoEO> {
* @return
*/
IPage issuedProcess(Map<String, Object> params);
/**
* 法规清单变更,清除对应待办中心数据。
* @param params
*/
void change(Map<String,Object> params);
}
@@ -213,6 +213,75 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
return result;
}
@Override
public void change(Map<String, Object> params) {
//需要清除数据的法规清单ids
String ids = (String)params.get("ids");
List<String> projectLawsInventoryIdList = Arrays.asList(ids.split(","));
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
//清除清单确认相关数据
QueryWrapper<ProcessInfoDetailEO> qdqrDetailRemoveWrap = new QueryWrapper<>();
qdqrDetailRemoveWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId,projectLawsInventoryIdList);
qdqrDetailRemoveWrap.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.QDQR.getValue());
this.processInfoDetailEOService.remove(qdqrDetailRemoveWrap);
//查询出所有的清单确认流程
QueryWrapper<ProcessInfoEO> qdqrProcessInfoWrap = new QueryWrapper<>();
qdqrProcessInfoWrap.lambda().eq(ProcessInfoEO::getFlowType,FlowTypeEnum.QDQR.getValue());
List<ProcessInfoEO> qdqrProcessInfoList = this.list(qdqrProcessInfoWrap);
if(CollectionUtils.isNotEmpty(qdqrProcessInfoList)){
List<String> qdqrProcessInfoIdList = qdqrProcessInfoList.stream().map(ProcessInfoEO::getId).distinct().collect(Collectors.toList());
QueryWrapper<ProcessInfoDetailEO> qdqrDetailQueryWrap = new QueryWrapper<>();
qdqrDetailQueryWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId,qdqrProcessInfoIdList);
List<ProcessInfoDetailEO> qdqrDetailList = this.processInfoDetailEOService.list(qdqrDetailQueryWrap);
if(CollectionUtils.isNotEmpty(qdqrDetailList)){
qdqrProcessInfoIdList = qdqrProcessInfoIdList.stream().filter(qdqrProcessInfoId -> {
boolean flag = true;
for (ProcessInfoDetailEO processInfoDetailEO : qdqrDetailList) {
if (StringUtils.equals(qdqrProcessInfoId, processInfoDetailEO.getProcessInfoId())) {
flag = false;
break;
}
}
return flag;
}).distinct().collect(Collectors.toList());
}else {
qdqrProcessInfoIdList.addAll(qdqrProcessInfoIdList);
}
if(CollectionUtils.isNotEmpty(qdqrProcessInfoIdList)){
this.baseMapper.deleteBatchIds(qdqrProcessInfoIdList);
}
}
/**
* 1.清除任务确认相关数据
* 2.清除设计符合性流程相关数据
* 3.清除Pre-Homo确认流程相关数据
* 4.清除验证符合性流程相关数据
*/
List<String> flowTypeList = new ArrayList<>();
flowTypeList.add(FlowTypeEnum.RWQRLC.getValue());
flowTypeList.add(FlowTypeEnum.SJFHXSHLC.getValue());
flowTypeList.add(FlowTypeEnum.PREHOMOQRLC.getValue());
flowTypeList.add(FlowTypeEnum.YZFHXSCLC.getValue());
//根据法规清单id,查询待办中心数据
QueryWrapper<ProcessInfoEO> processInfoQueryWrap = new QueryWrapper<>();
processInfoQueryWrap.lambda().in(ProcessInfoEO::getProjectLawsInventoryId,projectLawsInventoryIdList);
processInfoQueryWrap.lambda().in(ProcessInfoEO::getFlowType,flowTypeList);
List<ProcessInfoEO> processInfoEOList = this.list(processInfoQueryWrap);
if(CollectionUtils.isNotEmpty(processInfoEOList)){
List<String> processInfoIdList = processInfoEOList.stream().map(ProcessInfoEO::getId).distinct().collect(Collectors.toList());
QueryWrapper<ProcessInfoDetailEO> detailRemoveWrap = new QueryWrapper<>();
detailRemoveWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId,processInfoIdList);
this.processInfoDetailEOService.remove(detailRemoveWrap);
this.deleteByIds(processInfoIdList);
}
}
}
public void setFlowTypeList(List<String> flowTypeList){
flowTypeList.add(FlowTypeEnum.QDQR.getValue());
flowTypeList.add(FlowTypeEnum.RWQRLC.getValue());