From 3117af535b6afe139201aefbe613b9189fe3ef63 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Mon, 29 Nov 2021 14:15:44 +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(=E4=B8=8D=E6=8E=A8=E9=80=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/scheduled/ScheduledJob.java | 248 +++++++++--------- .../da/scheduled/dao/SarStandardInfoDao.java | 3 +- .../scheduled/dao/SarStandardWarningDao.java | 2 +- .../sarStandWarning/SarStandardInfo.xml | 39 ++- 4 files changed, 148 insertions(+), 144 deletions(-) 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 beb4b269..2f1b1283 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 @@ -4,17 +4,19 @@ 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.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo; + import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.util.UUIDUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.sun.corba.se.spi.ior.iiop.IIOPFactories; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; @@ -25,6 +27,7 @@ import org.springframework.stereotype.Component; import java.time.LocalDate; import java.util.*; import java.util.regex.Pattern; +import java.util.stream.Collectors; @EnableScheduling @@ -57,121 +60,130 @@ public class ScheduledJob { - @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行 -// @Scheduled(cron="*/5 * * * * ?") - @Async - public void WarningSchedulingTasks() { - - - /** - * 1.查询标准属性字段表(sar_stand_attr_info) XCXSSEQ ZCCSSRQ ZRGCS - * 联接标准信息表sar_standards_info表的STAND_NAME - * 2.查询分解单(条款表) - * 3.查询预警表 - * 4.去掉预警表中已存在的的数据 - * 5.插入预警表 - */ - - /** - mark:标识预警的种类 - 3:新车标准预警 - 4:在产车标准预警 - 1:新车条款预警 - 2:在产车条款预警 - */ - - //删除不在预警范围的标准 - QueryWrapper earlyWarningEOQW = new QueryWrapper<>(); - earlyWarningEOQW.lt("PUT_TIME",LocalDate.now()); - int remove = sarStandardWarningDao.delete(earlyWarningEOQW); - System.out.println(remove); - - - System.out.println("开始执行预警!!!"); - - DataDTO term = new DataDTO(); //预警期限(当前日期至3个月后) - - LinkedList warningList = new LinkedList<>();//需预警的标准和条款列表集合 - //分解单(条款) 新车型 mark=1 - List itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ"); - for (WarningEO warningEO : itemForXCXSSRQ) { - warningEO.setId(UUIDUtils.randomUUID20()) - .setPower("1") - .setMark("1") - .setPutTime(warningEO.getXCXSSRQ()) - .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); - } - warningList.addAll(itemForXCXSSRQ); - - //分解单(条款) 在产车型 mark=2 - List itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ"); - for (WarningEO warningEO : itemForZCCSSRQ) { - warningEO.setId(UUIDUtils.randomUUID20()) - .setPower("1") - .setMark("2") - .setPutTime(warningEO.getZCCSSRQ()) - .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); - - } - warningList.addAll(itemForZCCSSRQ); - - //标准 新车型 预警 mark=3 - List standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ"); - for (WarningEO warningEO : standInfoXCXSSRQ) { - warningEO.setId(UUIDUtils.randomUUID20()) - /** - * //如果插入的值均为NULL,则根据索引的原理, - * 全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的 - * 则此处设为 '-1' - */ - .setItemsId("-1") - .setPower("1") - .setMark("3") - .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); - - - //实施日期达到预警时间,但在产车实施日期不在时间内 - /** - * 2021/9/9取消限制 - */ -// if (term.isTerm(warningEO.getXCXSSRQ())){ -// warningEO.setPutTime(warningEO.getXCXSSRQ()); -// } - warningEO.setPutTime(warningEO.getXCXSSRQ()); - - } - warningList.addAll(standInfoXCXSSRQ); - - - //标准 在产车型 mark=4 - List standInfoZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ"); - for (WarningEO warningEO : standInfoZCCSSRQ) { - warningEO.setId(UUIDUtils.randomUUID20()) - /** - * 同上 - */ - .setItemsId("-1") - .setPower("1") - .setMark("4") - .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); - //实施日期达到预警时间,但在产车实施日期不在时间内 - /** - * 2021/9/9取消限制 - */ -// if (term.isTerm(warningEO.getZCCSSRQ())){ -// warningEO.setPutTime(warningEO.getZCCSSRQ()); -// } - warningEO.setPutTime(warningEO.getZCCSSRQ()); - } - warningList.addAll(standInfoZCCSSRQ); - - //持久化至预警表 忽略标准id和标志位都一样的数据 - if (warningList.size()!=0){ - //此表的STAND_ID和MARK字段以及ITEMS_ID字段需个建立唯一性约束 - int count = sarStandardWarningDao.ignoreInsert(warningList); - System.out.println("已预警 " + count + " 条标准或条款!!"); - } - } +// @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行 +//// @Scheduled(cron="*/5 * * * * ?") +// @Async +// public void WarningSchedulingTasks() { +// Logger logger = LoggerFactory.getLogger(ScheduledJob.class); +// +// /** +// * 1.查询标准属性字段表(sar_stand_attr_info) XCXSSEQ ZCCSSRQ ZRGCS +// * 联接标准信息表sar_standards_info表的STAND_NAME +// * 2.查询分解单(条款表) +// * 3.查询预警表 +// * 4.去掉预警表中已存在的的数据 +// * 5.插入预警表 +// */ +// +// /** +// mark:标识预警的种类 +// 3:新车标准预警 +// 4:在产车标准预警 +// 1:新车条款预警 +// 2:在产车条款预警 +// */ +// +// //删除不在预警范围的标准 +// QueryWrapper earlyWarningEOQW = new QueryWrapper<>(); +// earlyWarningEOQW.lt("PUT_TIME",LocalDate.now()); +// int remove = sarStandardWarningDao.delete(earlyWarningEOQW); +// System.out.println(remove); +// +// +// System.out.println("开始执行预警!!!"); +// +// DataDTO term = new DataDTO(); //预警期限(当前日期至3个月后) +// +// LinkedList warningList = new LinkedList<>();//需预警的标准和条款列表集合 +// //分解单(条款) 新车型 mark=1 +// List itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ"); +// for (EarlyWarningEO warningEO : itemForXCXSSRQ) { +// warningEO.setId(UUIDUtils.randomUUID20()) +// .setPower("1") +// .setMark("1"); +//// .setPutTime(warningEO.getXCXSSRQ()); +//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); +// } +// warningList.addAll(itemForXCXSSRQ); +// +// //分解单(条款) 在产车型 mark=2 +// List itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ"); +// for (EarlyWarningEO warningEO : itemForZCCSSRQ) { +// warningEO.setId(UUIDUtils.randomUUID20()) +// .setPower("1") +// .setMark("2"); +//// .setPutTime(warningEO.getZCCSSRQ()); +//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); +// +// } +// warningList.addAll(itemForZCCSSRQ); +// +// //标准 新车型 预警 mark=3 +// List standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ"); +// for (EarlyWarningEO warningEO : standInfoXCXSSRQ) { +// warningEO.setId(UUIDUtils.randomUUID20()) +// /** +// * //如果插入的值均为NULL,则根据索引的原理, +// * 全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的 +// * 则此处设为 '-1' +// */ +// .setItemsId("-1") +// .setPower("1") +// .setMark("3"); +//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); +// +// +// //实施日期达到预警时间,但在产车实施日期不在时间内 +// /** +// * 2021/9/9取消限制 +// */ +//// if (term.isTerm(warningEO.getXCXSSRQ())){ +//// warningEO.setPutTime(warningEO.getXCXSSRQ()); +//// } +//// warningEO.setPutTime(warningEO.getXCXSSRQ()); +// +// } +// warningList.addAll(standInfoXCXSSRQ); +// +// +// //标准 在产车型 mark=4 +// List standIdZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ"); +// +// List standInfoZCCSSRQ = standIdZCCSSRQ.stream() +// .map(id -> { +// EarlyWarningEO earlyWarningEO = new EarlyWarningEO(); +// earlyWarningEO.setStandId(id) +// .setItemsId("-1") +// .setPower("1") +// .setMark("4"); +// return earlyWarningEO; +// }).collect(Collectors.toList()); +// warningList.addAll(standInfoZCCSSRQ); +// +// +//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); +// //实施日期达到预警时间,但在产车实施日期不在时间内 +// /** +// * 2021/9/9取消限制 +// */ +//// if (term.isTerm(warningEO.getZCCSSRQ())){ +//// warningEO.setPutTime(warningEO.getZCCSSRQ()); +//// } +//// warningEO.setPutTime(warningEO.getZCCSSRQ()); +// +// +// //持久化至预警表 忽略标准id和标志位都一样的数据 +// if (warningList.size()!=0){ +// //此表的STAND_ID和MARK字段以及ITEMS_ID字段需个建立唯一性约束 +// int count = sarStandardWarningDao.ignoreInsert(warningList); +// logger.info("==================================预警结束======================================"); +// logger.info("==================================预警结束======================================"); +// logger.info("已预警"+ count+"条标准或条款!!"); +// logger.info("==================================预警结束======================================"); +// logger.info("==================================预警结束======================================"); +// +// } +// } 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 index 4b2fb0c2..e94e6d07 100644 --- 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 @@ -4,6 +4,7 @@ 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.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -12,7 +13,7 @@ import java.util.List; @Repository public interface SarStandardInfoDao{ - public List selectWithinTerm(DataDTO date, String str); + public List selectWithinTerm(DataDTO date, String str); public int updateStandardInfo(@Param("id")String id, @Param("textStatus") String textStatus); 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 index 9e326220..004701e3 100644 --- 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 @@ -13,5 +13,5 @@ import java.util.LinkedList; @Repository public interface SarStandardWarningDao extends BaseMapper { - public int ignoreInsert(@Param(value = "warningEOS") LinkedList warningEOS); + public int ignoreInsert(@Param(value = "warningEOS") LinkedList warningEOS); } 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 index 905fe1e1..a8bedcc1 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml @@ -3,33 +3,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - SELECT - info.ID, - info.STAND_SORT, - info.STAND_YEAR, - info.STAND_NUMBER, - info.STAND_NAME, - info.STAND_TYPE, - attrInfo.CLLX, - attrInfo.ZRGCS, - attrInfo.SSRQ, - attrInfo.${str} + info.ID FROM sar_standards_info AS info JOIN sar_stand_attr_info AS attrInfo ON info.id = attrinfo.stand_id