diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java index f94670b2d..6a49669a8 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java @@ -161,6 +161,8 @@ public class ShiroConfig { filterChainDefinitionMap.put("/lark/larkCardMessageConfig", "anon"); //飞书调用接口,卡片消息配置。 filterChainDefinitionMap.put("/sys/user/querySysUserListByIdList", "anon"); // 工作流根据用户idList获取用户信息接口 filterChainDefinitionMap.put("/project/projectTaskInventoryConditionAssessmentEO/initConditionAssessment", "anon"); // 初始化项目当前状态数据接口 + filterChainDefinitionMap.put("/todoCenter/projectProcess/initHistoryData", "anon"); // 待办中心-初始化历史数据接口排除 + filterChainDefinitionMap.put("/project/projectTaskInventoryEO/disposeHistoryData", "anon"); // 项目库-任务清单 处理历史数据接口 // 添加自己的过滤器并且取名为jwt Map filterMap = new HashMap(1); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryEOController.java index a15ea842e..197bcb91c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryEOController.java @@ -22,9 +22,10 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; +import java.util.Map; - /** +/** * @Description: 项目库-任务清单表 * @Author: jero-boot * @Date: 2022-04-29 @@ -231,4 +232,16 @@ public class ProjectTaskInventoryEOController extends JeroController msgList = projectTaskInventoryEOService.verifyRoleCode(projectTaskInventoryVO); return Result.OK(msgList); } + + /** + * 处理历史数据 + * @param params + * @return + */ + @AutoLog(value = "项目库-任务清单表-处理历史数据") + @ApiOperation(value="项目库-任务清单表-处理历史数据", notes="项目库-任务清单表-处理历史数据") + @GetMapping(value = "/disposeHistoryData") + public Result disposeHistoryData(@RequestParam Map params){ + return this.projectTaskInventoryEOService.disposeHistoryData(params); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryEOService.java index 0ade9b8a2..1331b79cc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryEOService.java @@ -9,6 +9,7 @@ import com.jero.modules.project.vo.ProjectTaskInventoryVO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** * @Description: 项目库-任务清单表 @@ -102,4 +103,11 @@ public interface IProjectTaskInventoryEOService extends IService verifyRoleCode(ProjectTaskInventoryVO projectTaskInventoryVO); void exportXls(HttpServletResponse response, HttpServletRequest request, ProjectTaskInventoryEO projectTaskInventoryEO); + + /** + * 处理历史数据 + * @param params + * @return + */ + Result disposeHistoryData(Map params); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java index 062a0d5f1..d0a324741 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java @@ -1301,6 +1301,73 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl disposeHistoryData(Map params) { + List projectTaskInventoryEOList = this.projectTaskInventoryEOService.list(); + + //获取没有任务清单数据的法规清单数据 + List projectLawsInventoryIdList = projectTaskInventoryEOList.stream().map(ProjectTaskInventoryEO::getProjectLawsInventoryId).distinct().collect(Collectors.toList()); + QueryWrapper lawsInventoryQueryWrap = new QueryWrapper<>(); + lawsInventoryQueryWrap.lambda().notIn(ProjectLawsInventoryEO::getId,projectLawsInventoryIdList); + List projectLawsInventoryEOList = this.projectLawsInventoryEOService.list(lawsInventoryQueryWrap); + + //如果有(没有任务清单数据的法规清单数据),进行历史数据处理 + if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){ + + List projectLawsInventoryIds = projectLawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getId).distinct().collect(Collectors.toList()); + + QueryWrapper taskInventoryDetailQueryWrap = new QueryWrapper<>(); + taskInventoryDetailQueryWrap.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectLawsInventoryIds); + List projectTaskInventoryDetailEOS = this.projectTaskInventoryDetailEOMapper.selectList(taskInventoryDetailQueryWrap); + + List projectTaskInventoryEOAddList = new ArrayList<>(); + projectLawsInventoryEOList.forEach(lawsInventoryEO -> { + ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO(); + String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", ""); + projectTaskInventoryEO.setId(projectTaskInventoryId); + projectTaskInventoryEO.setProjectLawsInventoryId(lawsInventoryEO.getId()); + projectTaskInventoryEO.setStandId(lawsInventoryEO.getStandId()); + projectTaskInventoryEO.setCreateBy("admin"); + projectTaskInventoryEO.setSysOrgCode("A01"); + + if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOS)){ + //获取当前法规清单数据 启动的符合性流程数据 + List projectTaskInventoryDetailListTemp = projectTaskInventoryDetailEOS.stream().filter(taskInventoryDetail -> { + boolean flag = false; + if (StringUtils.equals(taskInventoryDetail.getProjectTaskInventoryId(), projectTaskInventoryEO.getProjectLawsInventoryId())) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailListTemp)){ + for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : projectTaskInventoryDetailListTemp) { + //流程实例id + String actiProcInstId = projectTaskInventoryDetailEO.getActiProcInstId(); + if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue())){ + projectTaskInventoryEO.setDesignPId(actiProcInstId); + projectTaskInventoryEO.setDesignFlowTaskStatus(ReviewResultEnum.TO_BE_CONFIRMED.getValue()); + projectTaskInventoryEO.setDesignStatus(DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + }else if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){ + projectTaskInventoryEO.setPrehomoPId(actiProcInstId); + projectTaskInventoryEO.setPrehomoFlowTaskStatus(ReviewResultEnum.TO_BE_CONFIRMED.getValue()); + projectTaskInventoryEO.setPrehomoStatus(DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + }else if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){ + projectTaskInventoryEO.setVerifyPId(actiProcInstId); + projectTaskInventoryEO.setVerifyFlowTaskStatus(ReviewResultEnum.TO_BE_CONFIRMED.getValue()); + projectTaskInventoryEO.setVerifyStatus(DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + } + } + } + } + + projectTaskInventoryEOAddList.add(projectTaskInventoryEO); + }); + this.projectTaskInventoryEOService.saveBatch(projectTaskInventoryEOAddList); + } + return new Result<>().success("处理任务清单历史数据成功!"); + } + public void setSheetStyle(HSSFSheet sheet){ for (int i = 0; i <= 19; i++){ sheet.setColumnWidth(i,4000);