符合性流程-历史数据迁移,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);
|
`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) {
|
public Result<?> initHistoryData(@RequestParam Map<String,Object> params) {
|
||||||
return this.processInfoEOService.initHistoryData(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);
|
IPage lawsAssessIssuedProcess(Map<String, Object> params);
|
||||||
|
|
||||||
Result<?> initHistoryData(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.entity.LawsTechnologyEvaluationFlowDetailEO;
|
||||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
|
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
|
||||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService;
|
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService;
|
||||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
import com.jero.modules.project.entity.*;
|
||||||
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.enums.*;
|
import com.jero.modules.project.enums.*;
|
||||||
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
|
import com.jero.modules.project.service.*;
|
||||||
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.system.entity.SysCategory;
|
import com.jero.modules.system.entity.SysCategory;
|
||||||
import com.jero.modules.system.entity.SysDictItem;
|
import com.jero.modules.system.entity.SysDictItem;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
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.IProcessInfoDetailEOService;
|
||||||
import com.jero.modules.todoCenter.service.IProcessInfoEOService;
|
import com.jero.modules.todoCenter.service.IProcessInfoEOService;
|
||||||
import com.jero.modules.todoCenter.vo.ProcessInfoVO;
|
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.DesignComplianceNodeEnum;
|
||||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||||
import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl;
|
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.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -96,6 +92,10 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
|||||||
private SysCategoryServiceImpl sysCategoryService;
|
private SysCategoryServiceImpl sysCategoryService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysDictItemServiceImpl sysDictItemServiceImpl;
|
private SysDictItemServiceImpl sysDictItemServiceImpl;
|
||||||
|
@Autowired
|
||||||
|
private IProcessHistoryEOService processHistoryEOService;
|
||||||
|
@Autowired
|
||||||
|
private IProjectTaskInventoryFeedbackEOService projectTaskInventoryFeedbackEOService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
@@ -1232,4 +1232,487 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
|||||||
}
|
}
|
||||||
return targetMarket;
|
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