符合性流程-历史数据迁移,sql、接口。
This commit is contained in:
@@ -506,3 +506,88 @@ WHERE
|
||||
`id` IN (SELECT temp.id FROM (SELECT id FROM project_laws_inventory WHERE verify_flow_status IS NULL ) temp);
|
||||
|
||||
|
||||
-- *********************************************** 法规相关历史数据处理sql *********************************************************
|
||||
-- 以下sql需要按照顺序执行,否则会出问题。 2023-04-11 未同步生产环境
|
||||
-- 处理 法规清单确认 待确认状态的数据sql
|
||||
UPDATE `project_laws_inventory` SET
|
||||
`design_flow_status` = 'List to be checked',
|
||||
`verify_flow_status` = 'List to be checked'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
SELECT
|
||||
id
|
||||
FROM
|
||||
project_laws_inventory
|
||||
WHERE inventory_affirm_status = 'List to confirm'
|
||||
) temp
|
||||
);
|
||||
|
||||
|
||||
-- 处理待办中心-流程历史,之前的符合性流程数据sql。
|
||||
-- 1.将之前符合性流程的 发起人审核节点, 处理结果为 符合、不涉及的数据,更新为通过(现在法规工程师审核的时候 处理结果是通过)
|
||||
update process_history set
|
||||
operator_result = 'Adopt'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_history
|
||||
where task_definition_key = 'fqrsh' and operator_result in ('Compliance','NA')
|
||||
) temp
|
||||
);
|
||||
|
||||
-- 2.将之前符合性流程的 发起人审核节点,修改为 法规工程师审核节点
|
||||
update process_history set
|
||||
task_definition_key = 'fggcssh'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_history
|
||||
where task_definition_key = 'fqrsh'
|
||||
) temp
|
||||
);
|
||||
|
||||
-- 3.将之前符合性流程的 责任人处理任务 节点,修改为 符合性确认节点
|
||||
update process_history set
|
||||
task_definition_key = 'zrrtjjfw'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_history
|
||||
where task_definition_key = 'zrrclrw'
|
||||
) temp
|
||||
);
|
||||
|
||||
-- 处理待办中心-流程节点明细,之前的符合性流程节点任务节点keysql
|
||||
-- 1.将之前符合性流程的 发起人审核节点,修改为 法规工程师审核节点
|
||||
update process_info_detail set
|
||||
task_definition_key = 'fggcssh'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_info_detail
|
||||
where task_definition_key = 'fqrsh' and `status` = 'haveDone'
|
||||
) temp
|
||||
);
|
||||
-- 2.将之前符合性流程的 责任人处理任务 节点,修改为 符合性确认节点
|
||||
update process_info_detail set
|
||||
task_definition_key = 'zrrtjjfw'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_info_detail
|
||||
where task_definition_key = 'zrrclrw' and `status` = 'haveDone'
|
||||
) temp
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
+7
@@ -54,4 +54,11 @@ public class ProjectProcessTodoCenterController {
|
||||
public Result<?> initHistoryData(@RequestParam Map<String,Object> params) {
|
||||
return this.processInfoEOService.initHistoryData(params);
|
||||
}
|
||||
|
||||
@AutoLog(value = "待办中心-符合性流程数据迁移")
|
||||
@ApiOperation(value="待办中心-符合性流程数据迁移", notes="待办中心-符合性流程数据迁移")
|
||||
@GetMapping(value = "/complianceDataMigration")
|
||||
public Result<?> complianceDataMigration(@RequestParam Map<String,Object> params) {
|
||||
return this.processInfoEOService.complianceDataMigration(params);
|
||||
}
|
||||
}
|
||||
|
||||
+7
@@ -119,4 +119,11 @@ public interface IProcessInfoEOService extends IService<ProcessInfoEO> {
|
||||
IPage lawsAssessIssuedProcess(Map<String, Object> params);
|
||||
|
||||
Result<?> initHistoryData(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 符合性流程数据迁移
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
Result<?> complianceDataMigration(Map<String, Object> params);
|
||||
}
|
||||
|
||||
+491
-8
@@ -15,15 +15,9 @@ import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluation
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService;
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
|
||||
import com.jero.modules.project.entity.*;
|
||||
import com.jero.modules.project.enums.*;
|
||||
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
|
||||
import com.jero.modules.project.service.IProjectLibraryBaseService;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryDetailEOService;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
|
||||
import com.jero.modules.project.service.*;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -41,9 +35,11 @@ import com.jero.modules.todoCenter.mapper.ProcessInfoEOMapper;
|
||||
import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService;
|
||||
import com.jero.modules.todoCenter.service.IProcessInfoEOService;
|
||||
import com.jero.modules.todoCenter.vo.ProcessInfoVO;
|
||||
import com.jero.modules.wkflow.entity.ProcessHistoryEO;
|
||||
import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl;
|
||||
import com.jero.modules.wkflow.service.IProcessHistoryEOService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -96,6 +92,10 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
private SysCategoryServiceImpl sysCategoryService;
|
||||
@Autowired
|
||||
private SysDictItemServiceImpl sysDictItemServiceImpl;
|
||||
@Autowired
|
||||
private IProcessHistoryEOService processHistoryEOService;
|
||||
@Autowired
|
||||
private IProjectTaskInventoryFeedbackEOService projectTaskInventoryFeedbackEOService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -1232,4 +1232,487 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
}
|
||||
return targetMarket;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Result<?> complianceDataMigration(Map<String, Object> params) {
|
||||
List<ProcessHistoryEO> addProcessHistoryEOList = new ArrayList<>();
|
||||
|
||||
// 查询所有的工程交付信息
|
||||
List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOList = this.projectTaskInventoryFeedbackEOService.list();
|
||||
// 查询所有的任务确认流程信息
|
||||
QueryWrapper<ProcessInfoEO> rwqrPiQueryWrap = new QueryWrapper<>();
|
||||
rwqrPiQueryWrap.lambda().eq(ProcessInfoEO::getFlowType,FlowTypeEnum.RWQRLC.getValue());
|
||||
rwqrPiQueryWrap.orderByDesc("create_time");
|
||||
List<ProcessInfoEO> rwqrProcessInfoEOList = this.list(rwqrPiQueryWrap);
|
||||
// 查询所有的项目信息
|
||||
List<ProjectLibraryBase> projectLibraryBaseList = this.projectLibraryBaseService.list();
|
||||
// 查询所有的法规清单信息
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = this.projectLawsInventoryEOService.list();
|
||||
List<String> projectLawsInventoryIdList = projectLawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getId).distinct().collect(Collectors.toList());
|
||||
|
||||
// 查询所有的流程历史信息
|
||||
List<ProcessHistoryEO> processHistoryEOList = this.processHistoryEOService.list();
|
||||
// 查询所有的流程明细信息
|
||||
List<ProcessInfoDetailEO> processInfoDetailEOList = this.processInfoDetailEOService.list();
|
||||
|
||||
// 1.处理已经完成的设计符合性流程历史
|
||||
QueryWrapper<ProjectTaskInventoryEO> designTaskInventoryQueryWrap = new QueryWrapper<>();
|
||||
designTaskInventoryQueryWrap.isNotNull("design_p_id");
|
||||
designTaskInventoryQueryWrap.lambda().eq(ProjectTaskInventoryEO::getDesignStatus,DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue());
|
||||
designTaskInventoryQueryWrap.lambda().in(ProjectTaskInventoryEO::getProjectLawsInventoryId,projectLawsInventoryIdList);
|
||||
List<ProjectTaskInventoryEO> designTaskInventoryList = this.projectTaskInventoryEOService.list(designTaskInventoryQueryWrap);
|
||||
params.put("designTaskInventoryListSize",designTaskInventoryList.size());
|
||||
if(CollectionUtils.isNotEmpty(designTaskInventoryList)){
|
||||
// 将数据在任务清单中的状态,同步更新到法规清单中
|
||||
List<ProjectLawsInventoryEO> updateLawsInventoryDesignStatusList = new ArrayList<>();
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOList) {
|
||||
for (ProjectTaskInventoryEO projectTaskInventoryEO : designTaskInventoryList) {
|
||||
if(StringUtils.equals(projectLawsInventoryEO.getId(),projectTaskInventoryEO.getProjectLawsInventoryId())){
|
||||
projectLawsInventoryEO.setDesignFlowStatus(projectTaskInventoryEO.getDesignFlowTaskStatus());
|
||||
updateLawsInventoryDesignStatusList.add(projectLawsInventoryEO);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(updateLawsInventoryDesignStatusList)) {
|
||||
params.put("更新法规清单设计符合性流程状态条数",updateLawsInventoryDesignStatusList.size());
|
||||
this.projectLawsInventoryEOService.updateBatchById(updateLawsInventoryDesignStatusList);
|
||||
}
|
||||
|
||||
|
||||
List<String> designPIdList = designTaskInventoryList.stream().map(ProjectTaskInventoryEO::getDesignPId).distinct().collect(Collectors.toList());
|
||||
|
||||
QueryWrapper<ProcessHistoryEO> piQueryWrap = new QueryWrapper<>();
|
||||
piQueryWrap.lambda().in(ProcessHistoryEO::getActiProcInstId,designPIdList);
|
||||
List<ProcessHistoryEO> designProcessHistoryEOList = processHistoryEOList.stream().filter(processHistoryEO -> {
|
||||
boolean flag = false;
|
||||
for (String designPId : designPIdList) {
|
||||
if (StringUtils.equals(designPId,processHistoryEO.getActiProcInstId())) {
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(designProcessHistoryEOList)){
|
||||
// 将之前的 任务创建节点的历史记录逻辑删除掉。
|
||||
List<ProcessHistoryEO> deleteProcessHistoryEOList = designProcessHistoryEOList.stream().filter(processHistoryEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(processHistoryEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.TASK_CREATION.getKey())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(deleteProcessHistoryEOList)){
|
||||
deleteProcessHistoryEOList.forEach(processHistoryEO -> {
|
||||
if(!StringUtils.contains(processHistoryEO.getActiProcInstId(),"(删除)")){
|
||||
processHistoryEO.setActiProcInstId(processHistoryEO.getActiProcInstId() + "(删除)");
|
||||
}
|
||||
});
|
||||
this.processHistoryEOService.updateBatchById(deleteProcessHistoryEOList);
|
||||
}
|
||||
}
|
||||
|
||||
// 删除发起流程节点的历史信息。
|
||||
QueryWrapper<ProcessHistoryEO> removePHWarp = new QueryWrapper<>();
|
||||
List<String> taskDefinitionKeyList = new ArrayList<>();
|
||||
taskDefinitionKeyList.add(VerifyComplianceFlowNodeKeyEnum.FQLC.getValue());
|
||||
taskDefinitionKeyList.add(VerifyComplianceFlowNodeKeyEnum.ZRRQR.getValue());
|
||||
removePHWarp.lambda().in(ProcessHistoryEO::getTaskDefinitionKey,taskDefinitionKeyList);
|
||||
removePHWarp.lambda().in(ProcessHistoryEO::getActiProcInstId,designPIdList);
|
||||
List<ProcessHistoryEO> remvovePhList = this.processHistoryEOService.list(removePHWarp);
|
||||
params.put("设计符合性发起流程、责任人确认节点删除条数",remvovePhList.size());
|
||||
if (CollectionUtils.isNotEmpty(remvovePhList)) {
|
||||
List<String> idList = remvovePhList.stream().map(ProcessHistoryEO::getId).distinct().collect(Collectors.toList());
|
||||
this.processHistoryEOService.deleteByIds(idList);
|
||||
}
|
||||
|
||||
List<ProcessHistoryEO> updateProcessHistoryEOInfoList = new ArrayList<>();
|
||||
|
||||
// 设置设计符合性流程,发起流程节点历史信息。
|
||||
for (ProjectTaskInventoryEO designTaskInventory : designTaskInventoryList) {
|
||||
String projectLawsInventoryId = designTaskInventory.getProjectLawsInventoryId();
|
||||
String designPId = designTaskInventory.getDesignPId();
|
||||
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOListTemp = projectLawsInventoryEOList.stream().filter(lawsInventoryEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(lawsInventoryEO.getId(), projectLawsInventoryId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryEOListTemp)){
|
||||
ProjectLawsInventoryEO projectLawsInventoryEO = projectLawsInventoryEOListTemp.get(0);
|
||||
List<ProcessInfoEO> processInfoEOList = rwqrProcessInfoEOList.stream().filter(rwqrProcessInfo -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(rwqrProcessInfo.getProjectLawsInventoryId(), projectLawsInventoryId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(processInfoEOList)){
|
||||
ProcessInfoEO rwqrProcessInfoEO = processInfoEOList.get(0);
|
||||
|
||||
String projectLibraryId = projectLawsInventoryEO.getProjectLibraryId();
|
||||
List<ProjectLibraryBase> projectLibraryBaseEOListTemp = projectLibraryBaseList.stream().filter(projectLibraryBase -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(projectLibraryBase.getId(), projectLibraryId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(projectLibraryBaseEOListTemp)){
|
||||
ProjectLibraryBase projectLibraryBaseEO = projectLibraryBaseEOListTemp.get(0);
|
||||
String studioEngineer = projectLibraryBaseEO.getStudioEngineer();
|
||||
|
||||
ProcessHistoryEO addProcessHistoryEO = new ProcessHistoryEO();
|
||||
addProcessHistoryEO.setActiProcInstId(designPId);
|
||||
addProcessHistoryEO.setTaskDefinitionKey(DesignComplianceFlowNodeKeyEnum.FQLC.getValue());
|
||||
addProcessHistoryEO.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
|
||||
// 获取当前法规清单数据 在走任务确认流程的时候信息。
|
||||
addProcessHistoryEO.setAssignee(studioEngineer);
|
||||
addProcessHistoryEO.setOperatorPersonId(studioEngineer);
|
||||
|
||||
// 获取任务确认第一步发起时的信息
|
||||
String rwqrActiProcInstId = rwqrProcessInfoEO.getActiProcInstId();
|
||||
List<ProcessInfoDetailEO> rwqrProcessInfoDetailEOList = processInfoDetailEOList.stream().filter(processInfoDetailEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(processInfoDetailEO.getActiProcInstId(), rwqrActiProcInstId) && processInfoDetailEO.getSubmitTime() != null) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(rwqrProcessInfoDetailEOList)){
|
||||
Collections.sort(rwqrProcessInfoDetailEOList, new Comparator<ProcessInfoDetailEO>() {
|
||||
@Override
|
||||
public int compare(ProcessInfoDetailEO p1, ProcessInfoDetailEO p2) {
|
||||
if(p1.getSubmitTime() != null && p2.getSubmitTime() != null){
|
||||
return p1.getSubmitTime().compareTo(p2.getSubmitTime());
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
|
||||
addProcessHistoryEO.setCreateTime(rwqrProcessInfoDetailEOList.get(0).getSubmitTime());
|
||||
addProcessHistoryEOList.add(addProcessHistoryEO);
|
||||
}
|
||||
}
|
||||
|
||||
// 获取任务确认最后一步提交的时候的信息,设置为"任务责任确认"节点信息。
|
||||
String rwqrActiProcInstId = rwqrProcessInfoEO.getActiProcInstId();
|
||||
List<ProcessInfoDetailEO> rwqrProcessInfoDetailEOList = processInfoDetailEOList.stream().filter(processInfoDetailEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(processInfoDetailEO.getActiProcInstId(), rwqrActiProcInstId) && processInfoDetailEO.getSubmitTime() != null) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(rwqrProcessInfoDetailEOList)){
|
||||
Collections.sort(rwqrProcessInfoDetailEOList, new Comparator<ProcessInfoDetailEO>() {
|
||||
@Override
|
||||
public int compare(ProcessInfoDetailEO p1, ProcessInfoDetailEO p2) {
|
||||
if(p1.getSubmitTime() != null && p2.getSubmitTime() != null){
|
||||
return p2.getSubmitTime().compareTo(p1.getSubmitTime());
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
|
||||
ProcessInfoDetailEO processInfoDetailEO = rwqrProcessInfoDetailEOList.get(0);
|
||||
|
||||
ProcessHistoryEO addProcessHistoryEO = new ProcessHistoryEO();
|
||||
addProcessHistoryEO.setActiProcInstId(designPId);
|
||||
addProcessHistoryEO.setTaskDefinitionKey(DesignComplianceFlowNodeKeyEnum.ZRRQR.getValue());
|
||||
addProcessHistoryEO.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
|
||||
// 获取当前法规清单数据 在走任务确认流程的时候信息。
|
||||
addProcessHistoryEO.setAssignee(processInfoDetailEO.getUserId());
|
||||
addProcessHistoryEO.setOperatorPersonId(processInfoDetailEO.getUserId());
|
||||
addProcessHistoryEO.setCreateTime(processInfoDetailEO.getSubmitTime());
|
||||
|
||||
String approvalFiles = projectTaskInventoryFeedbackEOList.stream().filter(ptifEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(ptifEO.getActiProcInstId(), designPId) && StringUtils.isNotEmpty(ptifEO.getFileId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(ProjectTaskInventoryFeedbackEO::getFileId).collect(Collectors.joining(","));
|
||||
if(StringUtils.isNotEmpty(approvalFiles)){
|
||||
addProcessHistoryEO.setApprovalFile(approvalFiles);
|
||||
}
|
||||
addProcessHistoryEOList.add(addProcessHistoryEO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<ProcessHistoryEO> processHistoryEOListTemp = processHistoryEOList.stream().filter(processHistoryEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(processHistoryEO.getTaskDefinitionKey(), VerifyComplianceFlowNodeKeyEnum.ZRRTJJFW.getValue())
|
||||
&& StringUtils.equals(processHistoryEO.getActiProcInstId(), designPId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(processHistoryEOListTemp)){
|
||||
ProcessHistoryEO updateApprovalFileEo = processHistoryEOListTemp.get(0);
|
||||
String approvalFiles = projectTaskInventoryFeedbackEOList.stream().filter(ptifEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(ptifEO.getActiProcInstId(), designPId) && StringUtils.isNotEmpty(ptifEO.getFileId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(ProjectTaskInventoryFeedbackEO::getFileId).collect(Collectors.joining(","));
|
||||
if(StringUtils.isNotEmpty(approvalFiles)){
|
||||
// 获取这个流程的 符合性确认节点信息,将之前工程交付的附件设置进去 zrrtjjfw
|
||||
updateApprovalFileEo.setApprovalFile(approvalFiles);
|
||||
updateProcessHistoryEOInfoList.add(updateApprovalFileEo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(updateProcessHistoryEOInfoList)){
|
||||
log.debug("验证符合性需要更新的附件 " + updateProcessHistoryEOInfoList.size() + " 条");
|
||||
this.processHistoryEOService.updateBatchById(updateProcessHistoryEOInfoList);
|
||||
}
|
||||
}
|
||||
|
||||
// 2.处理已经完成的验证符合性流程历史
|
||||
QueryWrapper<ProjectTaskInventoryEO> verifyTaskInventoryQueryWrap = new QueryWrapper<>();
|
||||
verifyTaskInventoryQueryWrap.isNotNull("verify_p_id");
|
||||
verifyTaskInventoryQueryWrap.lambda().eq(ProjectTaskInventoryEO::getVerifyStatus,DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue());
|
||||
verifyTaskInventoryQueryWrap.lambda().in(ProjectTaskInventoryEO::getProjectLawsInventoryId,projectLawsInventoryIdList);
|
||||
List<ProjectTaskInventoryEO> verifyTaskInventoryList = this.projectTaskInventoryEOService.list(verifyTaskInventoryQueryWrap);
|
||||
params.put("verifyTaskInventoryListSize",verifyTaskInventoryList.size());
|
||||
if(CollectionUtils.isNotEmpty(verifyTaskInventoryList)){
|
||||
// 将数据在任务清单中的状态,同步更新到法规清单中
|
||||
List<ProjectLawsInventoryEO> updateLawsInventoryVerifyStatusList = new ArrayList<>();
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOList) {
|
||||
for (ProjectTaskInventoryEO projectTaskInventoryEO : verifyTaskInventoryList) {
|
||||
if(StringUtils.equals(projectLawsInventoryEO.getId(),projectTaskInventoryEO.getProjectLawsInventoryId())){
|
||||
projectLawsInventoryEO.setVerifyFlowStatus(projectTaskInventoryEO.getVerifyFlowTaskStatus());
|
||||
updateLawsInventoryVerifyStatusList.add(projectLawsInventoryEO);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(updateLawsInventoryVerifyStatusList)) {
|
||||
params.put("更新法规清单验证符合性流程状态条数",updateLawsInventoryVerifyStatusList.size());
|
||||
this.projectLawsInventoryEOService.updateBatchById(updateLawsInventoryVerifyStatusList);
|
||||
}
|
||||
|
||||
List<String> verifyPIdList = verifyTaskInventoryList.stream().map(ProjectTaskInventoryEO::getVerifyPId).distinct().collect(Collectors.toList());
|
||||
|
||||
QueryWrapper<ProcessHistoryEO> piQueryWrap = new QueryWrapper<>();
|
||||
piQueryWrap.lambda().in(ProcessHistoryEO::getActiProcInstId,verifyPIdList);
|
||||
List<ProcessHistoryEO> verifyProcessHistoryEOList = processHistoryEOList.stream().filter(processHistoryEO -> {
|
||||
boolean flag = false;
|
||||
for (String verifyPId : verifyPIdList) {
|
||||
if (StringUtils.equals(verifyPId,processHistoryEO.getActiProcInstId())) {
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(verifyProcessHistoryEOList)){
|
||||
// 将之前的 任务创建节点的历史记录逻辑删除掉。
|
||||
List<ProcessHistoryEO> deleteProcessHistoryEOList = verifyProcessHistoryEOList.stream().filter(processHistoryEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(processHistoryEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.TASK_CREATION.getKey())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(deleteProcessHistoryEOList)){
|
||||
deleteProcessHistoryEOList.forEach(processHistoryEO -> {
|
||||
if(!StringUtils.contains(processHistoryEO.getActiProcInstId(),"(删除)")){
|
||||
processHistoryEO.setActiProcInstId(processHistoryEO.getActiProcInstId() + "(删除)");
|
||||
}
|
||||
});
|
||||
this.processHistoryEOService.updateBatchById(deleteProcessHistoryEOList);
|
||||
}
|
||||
}
|
||||
|
||||
// 删除发起流程节点的历史信息。
|
||||
QueryWrapper<ProcessHistoryEO> removePHWarp = new QueryWrapper<>();
|
||||
List<String> taskDefinitionKeyList = new ArrayList<>();
|
||||
taskDefinitionKeyList.add(VerifyComplianceFlowNodeKeyEnum.FQLC.getValue());
|
||||
taskDefinitionKeyList.add(VerifyComplianceFlowNodeKeyEnum.ZRRQR.getValue());
|
||||
removePHWarp.lambda().in(ProcessHistoryEO::getTaskDefinitionKey,taskDefinitionKeyList);
|
||||
removePHWarp.lambda().in(ProcessHistoryEO::getActiProcInstId,verifyPIdList);
|
||||
List<ProcessHistoryEO> remvovePhList = this.processHistoryEOService.list(removePHWarp);
|
||||
params.put("验证符合性发起流程、责任人确认节点删除条数",remvovePhList.size());
|
||||
if (CollectionUtils.isNotEmpty(remvovePhList)) {
|
||||
List<String> idList = remvovePhList.stream().map(ProcessHistoryEO::getId).distinct().collect(Collectors.toList());
|
||||
this.processHistoryEOService.deleteByIds(idList);
|
||||
}
|
||||
List<ProcessHistoryEO> updateProcessHistoryEOInfoList = new ArrayList<>();
|
||||
|
||||
// 设置验证符合性流程,发起流程节点历史信息。
|
||||
for (ProjectTaskInventoryEO verifyTaskInventory : verifyTaskInventoryList) {
|
||||
String projectLawsInventoryId = verifyTaskInventory.getProjectLawsInventoryId();
|
||||
String verifyPId = verifyTaskInventory.getVerifyPId();
|
||||
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOListTemp = projectLawsInventoryEOList.stream().filter(lawsInventoryEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(lawsInventoryEO.getId(), projectLawsInventoryId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryEOListTemp)){
|
||||
ProjectLawsInventoryEO projectLawsInventoryEO = projectLawsInventoryEOListTemp.get(0);
|
||||
List<ProcessInfoEO> processInfoEOList = rwqrProcessInfoEOList.stream().filter(rwqrProcessInfo -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(rwqrProcessInfo.getProjectLawsInventoryId(), projectLawsInventoryId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(processInfoEOList)){
|
||||
ProcessInfoEO rwqrProcessInfoEO = processInfoEOList.get(0);
|
||||
String projectLibraryId = projectLawsInventoryEO.getProjectLibraryId();
|
||||
List<ProjectLibraryBase> projectLibraryBaseEOListTemp = projectLibraryBaseList.stream().filter(projectLibraryBase -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(projectLibraryBase.getId(), projectLibraryId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(projectLibraryBaseEOListTemp)){
|
||||
ProjectLibraryBase projectLibraryBaseEO = projectLibraryBaseEOListTemp.get(0);
|
||||
String studioEngineer = projectLibraryBaseEO.getStudioEngineer();
|
||||
|
||||
ProcessHistoryEO addProcessHistoryEO = new ProcessHistoryEO();
|
||||
addProcessHistoryEO.setActiProcInstId(verifyPId);
|
||||
addProcessHistoryEO.setTaskDefinitionKey(VerifyComplianceFlowNodeKeyEnum.FQLC.getValue());
|
||||
addProcessHistoryEO.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
|
||||
// 获取当前法规清单数据 在走任务确认流程的时候信息。
|
||||
addProcessHistoryEO.setAssignee(studioEngineer);
|
||||
addProcessHistoryEO.setOperatorPersonId(studioEngineer);
|
||||
|
||||
// 获取任务确认第一步发起时的信息
|
||||
String rwqrActiProcInstId = rwqrProcessInfoEO.getActiProcInstId();
|
||||
List<ProcessInfoDetailEO> rwqrProcessInfoDetailEOList = processInfoDetailEOList.stream().filter(processInfoDetailEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(processInfoDetailEO.getActiProcInstId(), rwqrActiProcInstId) && processInfoDetailEO.getSubmitTime() != null) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(rwqrProcessInfoDetailEOList)){
|
||||
Collections.sort(rwqrProcessInfoDetailEOList, new Comparator<ProcessInfoDetailEO>() {
|
||||
@Override
|
||||
public int compare(ProcessInfoDetailEO p1, ProcessInfoDetailEO p2) {
|
||||
if(p1.getSubmitTime() != null && p2.getSubmitTime() != null){
|
||||
return p1.getSubmitTime().compareTo(p2.getSubmitTime());
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
|
||||
addProcessHistoryEO.setCreateTime(rwqrProcessInfoDetailEOList.get(0).getSubmitTime());
|
||||
addProcessHistoryEOList.add(addProcessHistoryEO);
|
||||
}
|
||||
}
|
||||
|
||||
// 获取任务确认最后一步提交的时候的信息,设置为"任务责任确认"节点信息。
|
||||
String rwqrActiProcInstId = rwqrProcessInfoEO.getActiProcInstId();
|
||||
List<ProcessInfoDetailEO> rwqrProcessInfoDetailEOList = processInfoDetailEOList.stream().filter(processInfoDetailEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(processInfoDetailEO.getActiProcInstId(), rwqrActiProcInstId) && processInfoDetailEO.getSubmitTime() != null) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(rwqrProcessInfoDetailEOList)){
|
||||
Collections.sort(rwqrProcessInfoDetailEOList, new Comparator<ProcessInfoDetailEO>() {
|
||||
@Override
|
||||
public int compare(ProcessInfoDetailEO p1, ProcessInfoDetailEO p2) {
|
||||
if(p1.getSubmitTime() != null && p2.getSubmitTime() != null){
|
||||
return p2.getSubmitTime().compareTo(p1.getSubmitTime());
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
|
||||
ProcessInfoDetailEO processInfoDetailEO = rwqrProcessInfoDetailEOList.get(0);
|
||||
|
||||
ProcessHistoryEO addProcessHistoryEO = new ProcessHistoryEO();
|
||||
addProcessHistoryEO.setActiProcInstId(verifyPId);
|
||||
addProcessHistoryEO.setTaskDefinitionKey(VerifyComplianceFlowNodeKeyEnum.ZRRQR.getValue());
|
||||
addProcessHistoryEO.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
|
||||
// 获取当前法规清单数据 在走任务确认流程的时候信息。
|
||||
addProcessHistoryEO.setAssignee(processInfoDetailEO.getUserId());
|
||||
addProcessHistoryEO.setOperatorPersonId(processInfoDetailEO.getUserId());
|
||||
addProcessHistoryEO.setCreateTime(processInfoDetailEO.getSubmitTime());
|
||||
addProcessHistoryEOList.add(addProcessHistoryEO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<ProcessHistoryEO> processHistoryEOListTemp = processHistoryEOList.stream().filter(processHistoryEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(processHistoryEO.getTaskDefinitionKey(), VerifyComplianceFlowNodeKeyEnum.ZRRTJJFW.getValue())
|
||||
&& StringUtils.equals(processHistoryEO.getActiProcInstId(), verifyPId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(processHistoryEOListTemp)){
|
||||
ProcessHistoryEO updateApprovalFileEo = processHistoryEOListTemp.get(0);
|
||||
String approvalFiles = projectTaskInventoryFeedbackEOList.stream().filter(ptifEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(ptifEO.getActiProcInstId(), verifyPId) && StringUtils.isNotEmpty(ptifEO.getFileId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(ProjectTaskInventoryFeedbackEO::getFileId).collect(Collectors.joining(","));
|
||||
if(StringUtils.isNotEmpty(approvalFiles)){
|
||||
// 获取这个流程的 符合性确认节点信息,将之前工程交付的附件设置进去 zrrtjjfw
|
||||
updateApprovalFileEo.setApprovalFile(approvalFiles);
|
||||
updateProcessHistoryEOInfoList.add(updateApprovalFileEo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(updateProcessHistoryEOInfoList)){
|
||||
log.debug("验证符合性需要更新的附件 " + updateProcessHistoryEOInfoList.size() + " 条");
|
||||
this.processHistoryEOService.updateBatchById(updateProcessHistoryEOInfoList);
|
||||
}
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(addProcessHistoryEOList)){
|
||||
long countFqlc = addProcessHistoryEOList.stream().filter(history -> {
|
||||
boolean flag = StringUtils.equals(history.getTaskDefinitionKey(), VerifyComplianceFlowNodeKeyEnum.FQLC.getValue());
|
||||
return flag;
|
||||
}).collect(Collectors.toList()).stream().count();
|
||||
log.debug("发起流程节点总共添加 " + countFqlc + " 条");
|
||||
|
||||
params.put("发起流程条数",countFqlc);
|
||||
|
||||
long countZrrqr = addProcessHistoryEOList.stream().filter(history -> {
|
||||
boolean flag = StringUtils.equals(history.getTaskDefinitionKey(), VerifyComplianceFlowNodeKeyEnum.ZRRQR.getValue());
|
||||
return flag;
|
||||
}).collect(Collectors.toList()).stream().count();
|
||||
log.debug("责任人确认节点总共添加 " + countZrrqr + " 条");
|
||||
params.put("责任人确认节点条数",countZrrqr);
|
||||
|
||||
this.processHistoryEOService.saveBatch(addProcessHistoryEOList);
|
||||
}
|
||||
|
||||
return Result.OK("处理数据成功",params);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user