From 0354705cc6c5f0f3fe2d294bebbf35063fe18781 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 24 Jan 2024 14:54:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=8D=E5=AE=A1=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=AF=8F=E6=97=A5=E4=BB=BB=E5=8A=A1=E6=BD=9C=E5=9C=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../laws/enterprise/job/ESRecheckPlanJob.java | 61 ++++++++++--------- 1 file changed, 31 insertions(+), 30 deletions(-) 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("企标复审计划定时任务执行完成"); }