待办中心-法规清单变更处理待办中心。
This commit is contained in:
+27
-21
@@ -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);
|
||||
}
|
||||
|
||||
+6
@@ -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);
|
||||
}
|
||||
|
||||
+69
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user