From ebfde8bd5255d9ab41e484af4dad3a6d63b3c16d Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Fri, 20 Aug 2021 14:33:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E6=A0=87=E5=87=86=E9=A2=84?= =?UTF-8?q?=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/scheduled/ScheduledJob.java | 116 ++++++++++++++++-- .../da/scheduled/dao/SarStandardInfoDao.java | 17 +++ .../da/scheduled/dao/SarStandardItemDao.java | 17 +++ .../scheduled/dao/SarStandardWarningDao.java | 15 +++ .../com/adc/da/scheduled/entity/DataDTO.java | 18 +++ .../adc/da/scheduled/entity/WarningEO.java | 22 ++++ .../sarStandWarning/SarStandardInfo.xml | 38 ++++++ .../sarStandWarning/SarStandardItem.xml | 35 ++++++ .../sarStandWarning/SarStandardWarningDao.xml | 31 +++++ 9 files changed, 300 insertions(+), 9 deletions(-) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardInfoDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardItemDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/DataDTO.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/WarningEO.java create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardItem.xml create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java index 0937f48d..36f8023f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java @@ -1,5 +1,11 @@ package com.adc.da.scheduled; +import com.adc.da.scheduled.dao.SarStandardInfoDao; +import com.adc.da.scheduled.dao.SarStandardItemDao; +import com.adc.da.scheduled.dao.SarStandardWarningDao; +import com.adc.da.scheduled.entity.DataDTO; +import com.adc.da.scheduled.entity.WarningEO; +import com.adc.da.util.UUIDUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -8,7 +14,9 @@ import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import java.util.Date; +import java.time.LocalDate; +import java.util.LinkedList; +import java.util.List; @EnableScheduling @Component @@ -22,17 +30,107 @@ public class ScheduledJob { @Value("${isNotScheduled}") private boolean isNotScheduled; //是否开启定时器 +// +// @Scheduled(cron="*/5 * * * * ?") +// @Async +// public void StandScheduledJob(){ +// System.out.println("hello"); +//// if(isNotScheduled){ +//// System.out.println(Thread.currentThread().getName() + " cron=0 0 1 1 * ? --- " + new Date()+"---START-01"); +//// System.out.println(Thread.currentThread().getName() + " cron=0 0 1 1 * ? --- " + new Date()+"---End-01"); +//// try{ +//// Thread.sleep(2000); +//// }catch(Exception e){ +//// } +//// } +// } + + @Autowired + private SarStandardWarningDao sarStandardWarningDao; + + @Autowired + private SarStandardItemDao sarStandardItemDao; + + @Autowired + private SarStandardInfoDao sarStandardInfoDao; + + +// @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行 @Scheduled(cron="*/5 * * * * ?") @Async - public void StandScheduledJob(){ - if(isNotScheduled){ - System.out.println(Thread.currentThread().getName() + " cron=0 0 1 1 * ? --- " + new Date()+"---START-01"); - System.out.println(Thread.currentThread().getName() + " cron=0 0 1 1 * ? --- " + new Date()+"---End-01"); - try{ - Thread.sleep(2000); - }catch(Exception e){ - } + public void schedulingTasks() { + + + /** + * 1.查询标准属性字段表(sar_stand_attr_info) XCXSSEQ ZCCSSRQ ZRGCS + * 联接标准信息表sar_standards_info表的STAND_NAME + * 2.查询分解单(条款表) + * 3.查询预警表 + * 4.去掉预警表中已存在的的数据 + * 5.插入预警表 + */ + + /** + mark:标识预警的种类 + 3:新车标准预警 + 4:在产车标准预警 + 1:新车条款预警 + 2:在产车条款预警 + */ + System.out.println("开始执行预警!!!"); + //预警期限 + DataDTO dataDTO = new DataDTO(); + dataDTO.setStartDate(LocalDate.now().plusDays(1)) //系统日期的下一天 + .setEndDate(LocalDate.now().plusMonths(3).plusDays(1));//系统日期3个月后 + + LinkedList warningList = new LinkedList<>(); + + //分解单(条款) 新车型 mark=1 + List itemForXCXSSRQ = sarStandardItemDao.select(dataDTO, "XCXSSRQ"); + for (WarningEO warningEO : itemForXCXSSRQ) { + warningEO.setId(UUIDUtils.randomUUID20()) + .setPower("1") + .setMark("1") + .setPutTime(warningEO.getXCXSSRQ()); + } + warningList.addAll(itemForXCXSSRQ); + + //分解单(条款) 在产车型 mark=2 + List itemForZCCSSRQ = sarStandardItemDao.select(dataDTO, "ZCCSSRQ"); + for (WarningEO warningEO : itemForZCCSSRQ) { + warningEO.setId(UUIDUtils.randomUUID20()) + .setPower("1") + .setMark("2") + .setPutTime(warningEO.getZCCSSRQ()); + } + warningList.addAll(itemForZCCSSRQ); + + //标准 新车型 预警 mark=3 + List standInfoXCXSSRQ = sarStandardInfoDao.select(dataDTO, "XCXSSRQ"); + for (WarningEO warningEO : standInfoXCXSSRQ) { + warningEO.setId(UUIDUtils.randomUUID20()) + .setPower("1") + .setMark("3") + .setPutTime(warningEO.getXCXSSRQ()); + } + warningList.addAll(standInfoXCXSSRQ); + + + //标准 在产车型 mark=4 + List standInfoZCCSSRQ = sarStandardInfoDao.select(dataDTO, "ZCCSSRQ"); + for (WarningEO warningEO : standInfoZCCSSRQ) { + warningEO.setId(UUIDUtils.randomUUID20()) + .setPower("1") + .setMark("4") + .setPutTime(warningEO.getZCCSSRQ()); + } + warningList.addAll(standInfoZCCSSRQ); + + //持久化至预警表 忽略标准id和标志位都一样的数据 + if (warningList.size()!=0){ + int count = sarStandardWarningDao.ignoreInsert(warningList); + System.out.println("已预警 " + count + " 条标准或条款!!"); } } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardInfoDao.java new file mode 100644 index 00000000..f2679cbc --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardInfoDao.java @@ -0,0 +1,17 @@ +package com.adc.da.scheduled.dao; + + +import com.adc.da.scheduled.entity.DataDTO; +import com.adc.da.scheduled.entity.WarningEO; +import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO; + +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface SarStandardInfoDao{ + + public List select(DataDTO date, String str); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardItemDao.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardItemDao.java new file mode 100644 index 00000000..401c9fa4 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardItemDao.java @@ -0,0 +1,17 @@ +package com.adc.da.scheduled.dao; + +import com.adc.da.scheduled.entity.DataDTO; +import com.adc.da.scheduled.entity.WarningEO; +import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface SarStandardItemDao extends BaseMapper{ + + public List select(DataDTO date, String str); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java new file mode 100644 index 00000000..76b2394b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java @@ -0,0 +1,15 @@ +package com.adc.da.scheduled.dao; + +import com.adc.da.scheduled.entity.WarningEO; +import com.baomidou.mybatisplus.extension.service.IService; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.LinkedList; + +@Repository +public interface SarStandardWarningDao extends IService { + + public int ignoreInsert(@Param(value = "warningEOS") LinkedList warningEOS); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/DataDTO.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/DataDTO.java new file mode 100644 index 00000000..a1977028 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/DataDTO.java @@ -0,0 +1,18 @@ +package com.adc.da.scheduled.entity; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.time.LocalDate; + +@Data +@Accessors(chain = true) +public class DataDTO { + + private LocalDate startDate; + + private LocalDate endDate; + + private String str; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/WarningEO.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/WarningEO.java new file mode 100644 index 00000000..dcfa2df3 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/WarningEO.java @@ -0,0 +1,22 @@ +package com.adc.da.scheduled.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.experimental.Accessors; +import lombok.experimental.SuperBuilder; + +import java.util.Date; + +@Data +@Accessors(chain = true) +public class WarningEO extends EarlyWarningEO { + private static final long serialVersionUID = 1L; + + private Date XCXSSRQ; + + private Date ZCCSSRQ; + +} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml new file mode 100644 index 00000000..3d82bdd6 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardItem.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardItem.xml new file mode 100644 index 00000000..58a4b8eb --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardItem.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml new file mode 100644 index 00000000..95d5ca67 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml @@ -0,0 +1,31 @@ + + + + + + + INSERT IGNORE INTO sar_stand_warning (ID, STAND_TYPE, STAND_CODE,STAND_NAME,PUT_TIME,APPLY_TYPE,DUTY_ENGINEER,ITEMS_ID,ITEMS_NAME,POLICY_ID,POLICY_NAME,MARK,POWER) + VALUES + + + ( + #{item.id} + ,#{item.standType} + ,#{item.standCode} + ,#{item.standName} + ,#{item.putTime} + ,#{item.applyType} + ,#{item.dutyEngineer} + ,#{item.itemsId} + ,#{item.itemsName} + ,#{item.policyId} + ,#{item.policyName} + ,#{item.mark} + ,#{item.power} + ) + + + + + +