From 03ef3a880085169d18f1e5eff30bc2a218994afd Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Sun, 25 Sep 2022 10:52:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=20=E6=B3=95=E8=A7=84=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=BA=E5=8D=B3=E5=B0=86=E5=AE=9E=E6=96=BD=E7=9A=84=E6=B3=95?= =?UTF-8?q?=E8=A7=84=EF=BC=8C=E6=A0=B9=E6=8D=AE=E6=96=B0=E8=BD=A6=E5=9E=8B?= =?UTF-8?q?=E5=AE=9E=E6=96=BD=E6=97=A5=E6=9C=9F=E5=92=8C=E5=9C=A8=E4=BA=A7?= =?UTF-8?q?=E8=BD=A6=E5=AE=9E=E6=96=BD=E6=97=A5=E6=9C=9F,=20=E5=88=B0?= =?UTF-8?q?=E6=9C=9F=E5=90=8E=E8=87=AA=E5=8A=A8=E6=9B=B4=E6=96=B0=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=BA=E7=8E=B0=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/document/enums/LawsStateEnum.java | 41 ++++++++++++ .../document/service/impl/TimedTaskLaws.java | 63 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/LawsStateEnum.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/TimedTaskLaws.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/LawsStateEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/LawsStateEnum.java new file mode 100644 index 000000000..9d580bac4 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/LawsStateEnum.java @@ -0,0 +1,41 @@ +package com.jero.modules.document.enums; + +/** + * @description + * 法规状态枚举 + * @date 2022/1/21 15:22 + * @auth zhn + */ +public enum LawsStateEnum { + ACTIVE("现行","1"), + ABOLISH("废止","2"), + THE_UPCOMING("即将实施","3"), + DRAFT("草稿","4"), + BE_REPLACED("被代替","5"); + + + + String name; + String value; + + private LawsStateEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/TimedTaskLaws.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/TimedTaskLaws.java new file mode 100644 index 000000000..06a5e1b27 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/TimedTaskLaws.java @@ -0,0 +1,63 @@ +package com.jero.modules.document.service.impl; + +import com.jero.modules.document.entity.BussDocumentLibraryEO; +import com.jero.modules.document.enums.LawsStateEnum; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @description + * @date 2022/9/25 10:03 + * @auth zhn + */ +public class TimedTaskLaws implements Job { + @Autowired + private BussDocumentLibraryEOServiceImpl bussDocumentLibraryEOService; + + /** + * 法规状态为即将实施的法规,根据新车型实施日期和在产车实施日期, 到期后自动更新状态为现行 + * @param jobExecutionContext + * @throws JobExecutionException + */ + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String currentTime = sdf.format(new Date()); + //获取所有的法规 + List bussDocumentLibraryEOList = bussDocumentLibraryEOService.list(); + if(bussDocumentLibraryEOList.size() != 0){ + for (BussDocumentLibraryEO bussDocumentLibraryEO : bussDocumentLibraryEOList) { + String xin1Che1Xing2Shi2Shi1Ri4Qi1Str = ""; + String implementTimestr = ""; + + String state = bussDocumentLibraryEO.getState();//状态 + //新车型实施日期 + Date xin1Che1Xing2Shi2Shi1Ri4Qi1 = bussDocumentLibraryEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1(); + //在产车实施日期 + Date implementTime = bussDocumentLibraryEO.getImplementTime(); + if(ObjectUtils.isNotEmpty(xin1Che1Xing2Shi2Shi1Ri4Qi1)){ + xin1Che1Xing2Shi2Shi1Ri4Qi1Str = sdf.format(xin1Che1Xing2Shi2Shi1Ri4Qi1); + } + if(ObjectUtils.isNotEmpty(implementTime)){ + implementTimestr = sdf.format(implementTime); + } + //法规状态为即将实施的法规,根据新车型实施日期和在产车实施日期, 到期后自动更新状态为现行 + if(StringUtils.isNotBlank(state) && LawsStateEnum.THE_UPCOMING.getValue().equals(state) + && (currentTime.equals(xin1Che1Xing2Shi2Shi1Ri4Qi1Str) || currentTime.equals(implementTimestr))){ + BussDocumentLibraryEO bussDocumentLibraryEOTemp = new BussDocumentLibraryEO(); + bussDocumentLibraryEOTemp.setId(bussDocumentLibraryEO.getId()); + bussDocumentLibraryEOTemp.setState(LawsStateEnum.ACTIVE.getValue()); + bussDocumentLibraryEOService.updateById(bussDocumentLibraryEOTemp); + } + } + } + } +}