未符合项-老数据的创建时间和更新时间

This commit is contained in:
zhn
2023-09-08 17:35:00 +08:00
parent 0f0e089123
commit 949b6318f4
3 changed files with 106 additions and 12 deletions
@@ -90,14 +90,14 @@
(pli.design_duty_id =#{ncrTrackVO.duty} or pli.prehomo_duty_id =#{ncrTrackVO.duty} or pli.verify_duty_id =#{ncrTrackVO.duty})
and
</if>-->
<!--(
(
design_flow_status =#{ncrTrackVO.inconformity}
or verify_flow_status =#{ncrTrackVO.inconformity}
)-->
(
)
<!--(
design_flow_status =#{ncrTrackVO.inconformity} or design_flow_status =#{ncrTrackVO.track}
or verify_flow_status =#{ncrTrackVO.inconformity} or verify_flow_status =#{ncrTrackVO.track}
)
)-->
<!--如果当前操作人不是系统管理员角色,查询跟自己相关的数据,如果是系统管理员,查询所有的-->
<if test="ncrTrackVO.administrator == 'false'">
<if test="ncrTrackVO.userId != null and ncrTrackVO.userId != ''">
@@ -37,7 +37,11 @@ import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.system.util.PDFUtils;
import com.jero.modules.todoCenter.enums.DesignComplianceFlowNodeKeyEnum;
import com.jero.modules.wkflow.entity.ProcessHistoryEO;
import com.jero.modules.wkflow.enums.FlowTypeEnum;
import com.jero.modules.wkflow.service.impl.ProcessHistoryEOServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
@@ -102,6 +106,8 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
@Autowired
private BussDocumentLibraryEOServiceImpl bussDocumentLibraryEOService;
@Autowired
private ProcessHistoryEOServiceImpl processHistoryEOService;
@Autowired
private IOSSFileService iOSSFileService;
@Value(value = "${jero.path.upload}")
private String uploadpath;
@@ -321,6 +327,36 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
}
}
if(!trackVOList.isEmpty()){
//流程实例id
List<String> prcIdList = trackVOList.stream()
.filter(e -> StringUtils.isNotBlank(e.getPrcId())).map(NcrTrackVO::getPrcId).collect(Collectors.toList());
QueryWrapper<ProcessHistoryEO> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("create_time");
queryWrapper.lambda().in(ProcessHistoryEO::getActiProcInstId, prcIdList);
List<ProcessHistoryEO> processHistoryEOList = processHistoryEOService.list(queryWrapper);
this.processHistoryEOService.disposeData(processHistoryEOList,ncrTrackVO.getCut());
for (NcrTrackVO trackVO : trackVOList) {
trackVO.setCreateTime(null);
List<ProcessHistoryEO> collect = processHistoryEOList.stream().filter(e -> StringUtils.isNotBlank(e.getActiProcInstId())
&& e.getActiProcInstId().equals(trackVO.getPrcId())).collect(Collectors.toList());
//创建时间为任务节点为符合性审查,处理结果为不符合或待追踪的操作时间
//更新时间为最新的流程时间
if(!collect.isEmpty()){
//更新时间
trackVO.setUpdateTime(collect.get(collect.size()-1).getCreateTime());
//创建时间
List<ProcessHistoryEO> processHistoryEOS = collect.stream().filter(e -> StringUtils.isNotBlank(e.getTaskDefinitionKey())
&& DesignComplianceFlowNodeKeyEnum.FGGCSSH.getValue().equals(e.getTaskDefinitionKey())
&& (ComplianceFlowStatusEnum.INCONFORMITY.getValue().equals(e.getOperatorResult()) || ComplianceFlowStatusEnum.TO_TRACK.getValue().equals(e.getOperatorResult()))).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(processHistoryEOS)) {
trackVO.setCreateTime(processHistoryEOS.get(0).getCreateTime());
}
}
}
}
List<NcrTrackVO> trackVOListTemp = new ArrayList<>();
List<NcrTrackVO> ncrTrackVOListTemp = ncrTrackVO.getNcrTrackVOList();
@@ -96,6 +96,7 @@ import com.jero.modules.wkflow.enums.FlowTypeEnum;
import com.jero.modules.wkflow.feginClient.impl.TaskFeignClientImpl;
import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl;
import com.jero.modules.wkflow.service.IProcessHistoryEOService;
import com.jero.modules.wkflow.service.impl.ProcessHistoryEOServiceImpl;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -286,6 +287,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
private ISysDictService sysDictService;
@Autowired
private BussDocumentLibraryEOServiceImpl documentLibraryEOService;
@Autowired
private ProcessHistoryEOServiceImpl processHistoryEOServiceImpl;
/**
* 保存
@@ -10319,6 +10322,29 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
if(CollectionUtils.isNotEmpty(userIdList)){
userList = this.sysUserService.querySysUserListByIdList(userIdList);
}
//流程实例id
List<ProcessInfoDetailEO> processInfoDetailEOS = new ArrayList<>();
List<String> projectLawsInventoryIdList = result.stream().map(e -> (String) e.get("id")).collect(Collectors.toList());
List<ProcessHistoryEO> processHistoryEOList = new ArrayList<>();
if(ObjectUtils.isNotEmpty(projectLawsInventoryIdList)){
QueryWrapper<ProcessInfoDetailEO> processInfoDetailEOQueryWrapper = new QueryWrapper<>();
processInfoDetailEOQueryWrapper.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId,projectLawsInventoryIdList);
processInfoDetailEOQueryWrapper.orderByDesc("create_time");
processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper);
if(ObjectUtils.isNotEmpty(processInfoDetailEOS)){
List<String> actiProcInstIdList = processInfoDetailEOS.stream().map(ProcessInfoDetailEO::getActiProcInstId).collect(Collectors.toList());
if(ObjectUtils.isNotEmpty(actiProcInstIdList)){
QueryWrapper<ProcessHistoryEO> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("create_time");
queryWrapper.lambda().in(ProcessHistoryEO::getActiProcInstId, actiProcInstIdList);
processHistoryEOList = processHistoryEOService.list(queryWrapper);
if(ObjectUtils.isNotEmpty(processHistoryEOList)){
this.processHistoryEOServiceImpl.disposeData(processHistoryEOList,cut);
}
}
}
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
for (Map<String, Object> dataMap : result) {
dataMap.put("uuid",dataMap.get("id"));
//相关法规
@@ -10402,16 +10428,48 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
dataMap.put("flag",DataEnum.OLD.getValue());
// 返回符合性流程的流程实例id
QueryWrapper<ProcessInfoDetailEO> processInfoDetailEOQueryWrapper = new QueryWrapper<>();
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProjectLawsInventoryId,(String)dataMap.get("id"));
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getFlowType,flowType);
processInfoDetailEOQueryWrapper.orderByDesc("create_time");
List<ProcessInfoDetailEO> processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper);
if(CollectionUtils.isNotEmpty(processInfoDetailEOS)){
dataMap.put("actiProcInstId",processInfoDetailEOS.get(0).getActiProcInstId());
// 更新时间,创建时间
if(ObjectUtils.isNotEmpty(processInfoDetailEOS)){
List<ProcessInfoDetailEO> collect = processInfoDetailEOS.stream()
.filter(e -> StringUtils.isNotBlank(e.getFlowType()) && e.getFlowType().equals(flowType)).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(collect)){
dataMap.put("actiProcInstId",collect.get(0).getActiProcInstId());
if(ObjectUtils.isNotEmpty(processHistoryEOList)){
List<ProcessHistoryEO> processHistoryEOSTemp = processHistoryEOList.stream().filter(e -> StringUtils.isNotBlank(e.getActiProcInstId())
&& e.getActiProcInstId().equals(collect.get(0).getActiProcInstId())).collect(Collectors.toList());
//创建时间为任务节点为符合性审查处理结果为不符合或待追踪的操作时间
//更新时间为最新的流程时间
if(!processHistoryEOSTemp.isEmpty()){
//更新时间
if(ObjectUtils.isNotEmpty(processHistoryEOSTemp.get(processHistoryEOSTemp.size()-1).getCreateTime())){
dataMap.put("updateTime",sdf.format(processHistoryEOSTemp.get(processHistoryEOSTemp.size()-1).getCreateTime()));
}
//创建时间
List<ProcessHistoryEO> processHistoryEOS = processHistoryEOSTemp.stream().filter(e -> StringUtils.isNotBlank(e.getTaskDefinitionKey())
&& DesignComplianceFlowNodeKeyEnum.FGGCSSH.getValue().equals(e.getTaskDefinitionKey())
&& (ComplianceFlowStatusEnum.INCONFORMITY.getValue().equals(e.getOperatorResult()) || ComplianceFlowStatusEnum.TO_TRACK.getValue().equals(e.getOperatorResult()))).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(processHistoryEOS)) {
if(ObjectUtils.isNotEmpty(processHistoryEOS.get(0).getCreateTime())){
dataMap.put("createTime",sdf.format(processHistoryEOS.get(0).getCreateTime()));
}
}
}
}
}
}
// QueryWrapper<ProcessInfoDetailEO> processInfoDetailEOQueryWrapper = new QueryWrapper<>();
// processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProjectLawsInventoryId,(String)dataMap.get("id"));
// processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getFlowType,flowType);
// processInfoDetailEOQueryWrapper.orderByDesc("create_time");
// List<ProcessInfoDetailEO> processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper);
// if(CollectionUtils.isNotEmpty(processInfoDetailEOS)){
// dataMap.put("actiProcInstId",processInfoDetailEOS.get(0).getActiProcInstId());
// }
}
}
//新数据
List<Map<String, Object>> mapList = getNewData(params, cut);