diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java index e0b51741..113ac85f 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java @@ -56,6 +56,37 @@ public class ESRecheckPlanJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + // 任务1 遍历所有复审计划数据 如果当前时间超过复审日期7天,则显示下一次复审日期 + IPage page = new Page<>(1, Integer.MAX_VALUE); + List records = esRecheckPlanMapper.page(page, new ESQueryCommonDTO()).getRecords(); + records.forEach(recheckPlan -> { + // 获取复审日期前7天的时间戳 + long sevenDaysAfterRecheck = recheckPlan.getRecheckDate().getTime() + (8L * 24 * 60 * 60 * 1000); + // 检查当前时间是否在复审日期前7天内 + if (System.currentTimeMillis() > sevenDaysAfterRecheck) { + // 获取发布日期 + Date releaseDate = recheckPlan.getReleaseDate(); + // 使用Calendar进行日期的加减 + Calendar calendar = Calendar.getInstance(); + if (releaseDate != null) { + calendar.setTime(releaseDate); // 设置发布日期 + calendar.add(Calendar.YEAR, 6); // 在发布日期的基础上加三年 + // 如果新的日期小于等于复审日期,则在复审日期的基础上加三年 + if (calendar.getTime().getTime() <= recheckPlan.getRecheckDate().getTime()) { + calendar.setTime(recheckPlan.getRecheckDate()); + calendar.add(Calendar.YEAR, 3); + } + // 将新的复审日期设置回对象中 + recheckPlan.setRecheckDate(calendar.getTime()); + recheckPlan.setRecheckResult(null); + } + } + }); + List enterpriseStandardRecheckPlans = BeanCopyUtils + .copyBeanList(records, EnterpriseStandardRecheckPlan.class); + esRecheckPlanService.updateBatchById(enterpriseStandardRecheckPlans); + + // 任务2 遍历所有企标,如果企标发布日期已经达到35个月,则自动发起复审流程 List allEs = esService.list(new LambdaQueryWrapper() .eq(LawsEnterpriseStandard::getDelFlag, YesOrNoEnum.NO.getValue()) .ne(LawsEnterpriseStandard::getStandardState, StandardStateEnum.ABOLISH.getStateValue()) @@ -111,36 +142,6 @@ public class ESRecheckPlanJob implements Job { } } } - - // 遍历所有复审计划数据 如果当前时间超过复审日期7天,则显示下一次复审日期 - IPage page = new Page<>(1, Integer.MAX_VALUE); - List records = esRecheckPlanMapper.page(page, new ESQueryCommonDTO()).getRecords(); - records.forEach(recheckPlan -> { - // 获取复审日期前7天的时间戳 - long sevenDaysAfterRecheck = recheckPlan.getRecheckDate().getTime() + (8L * 24 * 60 * 60 * 1000); - // 检查当前时间是否在复审日期前7天内 - if (System.currentTimeMillis() > sevenDaysAfterRecheck) { - // 获取发布日期 - Date releaseDate = recheckPlan.getReleaseDate(); - // 使用Calendar进行日期的加减 - Calendar calendar = Calendar.getInstance(); - if (releaseDate != null) { - calendar.setTime(releaseDate); // 设置发布日期 - calendar.add(Calendar.YEAR, 6); // 在发布日期的基础上加三年 - // 如果新的日期小于等于复审日期,则在复审日期的基础上加三年 - if (calendar.getTime().getTime() <= recheckPlan.getRecheckDate().getTime()) { - calendar.setTime(recheckPlan.getRecheckDate()); - calendar.add(Calendar.YEAR, 3); - } - // 将新的复审日期设置回对象中 - recheckPlan.setRecheckDate(calendar.getTime()); - recheckPlan.setRecheckResult(null); - } - } - }); - List enterpriseStandardRecheckPlans = BeanCopyUtils - .copyBeanList(records, EnterpriseStandardRecheckPlan.class); - esRecheckPlanService.updateBatchById(enterpriseStandardRecheckPlans); log.info("企标复审计划定时任务执行完成"); }