定时标准预警(不推送)
This commit is contained in:
@@ -4,17 +4,19 @@ import com.adc.da.scheduled.dao.SarStandardInfoDao;
|
|||||||
import com.adc.da.scheduled.dao.SarStandardItemDao;
|
import com.adc.da.scheduled.dao.SarStandardItemDao;
|
||||||
import com.adc.da.scheduled.dao.SarStandardWarningDao;
|
import com.adc.da.scheduled.dao.SarStandardWarningDao;
|
||||||
import com.adc.da.scheduled.entity.DataDTO;
|
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.dao.SarStandAttrInfoDao;
|
||||||
import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo;
|
import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo;
|
||||||
|
|
||||||
import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO;
|
import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO;
|
||||||
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
|
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
|
||||||
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
|
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
|
||||||
import com.adc.da.util.UUIDUtils;
|
import com.adc.da.util.UUIDUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.sun.corba.se.spi.ior.iiop.IIOPFactories;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
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.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Component;
|
|||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
@@ -57,121 +60,130 @@ public class ScheduledJob {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
|
// @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
|
||||||
// @Scheduled(cron="*/5 * * * * ?")
|
//// @Scheduled(cron="*/5 * * * * ?")
|
||||||
@Async
|
// @Async
|
||||||
public void WarningSchedulingTasks() {
|
// public void WarningSchedulingTasks() {
|
||||||
|
// Logger logger = LoggerFactory.getLogger(ScheduledJob.class);
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* 1.查询标准属性字段表(sar_stand_attr_info) XCXSSEQ ZCCSSRQ ZRGCS
|
// * 1.查询标准属性字段表(sar_stand_attr_info) XCXSSEQ ZCCSSRQ ZRGCS
|
||||||
* 联接标准信息表sar_standards_info表的STAND_NAME
|
// * 联接标准信息表sar_standards_info表的STAND_NAME
|
||||||
* 2.查询分解单(条款表)
|
// * 2.查询分解单(条款表)
|
||||||
* 3.查询预警表
|
// * 3.查询预警表
|
||||||
* 4.去掉预警表中已存在的的数据
|
// * 4.去掉预警表中已存在的的数据
|
||||||
* 5.插入预警表
|
// * 5.插入预警表
|
||||||
*/
|
// */
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
mark:标识预警的种类
|
// mark:标识预警的种类
|
||||||
3:新车标准预警
|
// 3:新车标准预警
|
||||||
4:在产车标准预警
|
// 4:在产车标准预警
|
||||||
1:新车条款预警
|
// 1:新车条款预警
|
||||||
2:在产车条款预警
|
// 2:在产车条款预警
|
||||||
*/
|
// */
|
||||||
|
//
|
||||||
//删除不在预警范围的标准
|
// //删除不在预警范围的标准
|
||||||
QueryWrapper<EarlyWarningEO> earlyWarningEOQW = new QueryWrapper<>();
|
// QueryWrapper<EarlyWarningEO> earlyWarningEOQW = new QueryWrapper<>();
|
||||||
earlyWarningEOQW.lt("PUT_TIME",LocalDate.now());
|
// earlyWarningEOQW.lt("PUT_TIME",LocalDate.now());
|
||||||
int remove = sarStandardWarningDao.delete(earlyWarningEOQW);
|
// int remove = sarStandardWarningDao.delete(earlyWarningEOQW);
|
||||||
System.out.println(remove);
|
// System.out.println(remove);
|
||||||
|
//
|
||||||
|
//
|
||||||
System.out.println("开始执行预警!!!");
|
// System.out.println("开始执行预警!!!");
|
||||||
|
//
|
||||||
DataDTO term = new DataDTO(); //预警期限(当前日期至3个月后)
|
// DataDTO term = new DataDTO(); //预警期限(当前日期至3个月后)
|
||||||
|
//
|
||||||
LinkedList<WarningEO> warningList = new LinkedList<>();//需预警的标准和条款列表集合
|
// LinkedList<EarlyWarningEO> warningList = new LinkedList<>();//需预警的标准和条款列表集合
|
||||||
//分解单(条款) 新车型 mark=1
|
// //分解单(条款) 新车型 mark=1
|
||||||
List<WarningEO> itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ");
|
// List<EarlyWarningEO> itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ");
|
||||||
for (WarningEO warningEO : itemForXCXSSRQ) {
|
// for (EarlyWarningEO warningEO : itemForXCXSSRQ) {
|
||||||
warningEO.setId(UUIDUtils.randomUUID20())
|
// warningEO.setId(UUIDUtils.randomUUID20())
|
||||||
.setPower("1")
|
// .setPower("1")
|
||||||
.setMark("1")
|
// .setMark("1");
|
||||||
.setPutTime(warningEO.getXCXSSRQ())
|
//// .setPutTime(warningEO.getXCXSSRQ());
|
||||||
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
||||||
}
|
// }
|
||||||
warningList.addAll(itemForXCXSSRQ);
|
// warningList.addAll(itemForXCXSSRQ);
|
||||||
|
//
|
||||||
//分解单(条款) 在产车型 mark=2
|
// //分解单(条款) 在产车型 mark=2
|
||||||
List<WarningEO> itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ");
|
// List<EarlyWarningEO> itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ");
|
||||||
for (WarningEO warningEO : itemForZCCSSRQ) {
|
// for (EarlyWarningEO warningEO : itemForZCCSSRQ) {
|
||||||
warningEO.setId(UUIDUtils.randomUUID20())
|
// warningEO.setId(UUIDUtils.randomUUID20())
|
||||||
.setPower("1")
|
// .setPower("1")
|
||||||
.setMark("2")
|
// .setMark("2");
|
||||||
.setPutTime(warningEO.getZCCSSRQ())
|
//// .setPutTime(warningEO.getZCCSSRQ());
|
||||||
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
warningList.addAll(itemForZCCSSRQ);
|
// warningList.addAll(itemForZCCSSRQ);
|
||||||
|
//
|
||||||
//标准 新车型 预警 mark=3
|
// //标准 新车型 预警 mark=3
|
||||||
List<WarningEO> standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ");
|
// List<String> standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ");
|
||||||
for (WarningEO warningEO : standInfoXCXSSRQ) {
|
// for (EarlyWarningEO warningEO : standInfoXCXSSRQ) {
|
||||||
warningEO.setId(UUIDUtils.randomUUID20())
|
// warningEO.setId(UUIDUtils.randomUUID20())
|
||||||
/**
|
// /**
|
||||||
* //如果插入的值均为NULL,则根据索引的原理,
|
// * //如果插入的值均为NULL,则根据索引的原理,
|
||||||
* 全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的
|
// * 全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的
|
||||||
* 则此处设为 '-1'
|
// * 则此处设为 '-1'
|
||||||
*/
|
// */
|
||||||
.setItemsId("-1")
|
// .setItemsId("-1")
|
||||||
.setPower("1")
|
// .setPower("1")
|
||||||
.setMark("3")
|
// .setMark("3");
|
||||||
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
||||||
|
//
|
||||||
|
//
|
||||||
//实施日期达到预警时间,但在产车实施日期不在时间内
|
// //实施日期达到预警时间,但在产车实施日期不在时间内
|
||||||
/**
|
// /**
|
||||||
* 2021/9/9取消限制
|
// * 2021/9/9取消限制
|
||||||
*/
|
// */
|
||||||
// if (term.isTerm(warningEO.getXCXSSRQ())){
|
//// if (term.isTerm(warningEO.getXCXSSRQ())){
|
||||||
// warningEO.setPutTime(warningEO.getXCXSSRQ());
|
//// warningEO.setPutTime(warningEO.getXCXSSRQ());
|
||||||
// }
|
//// }
|
||||||
warningEO.setPutTime(warningEO.getXCXSSRQ());
|
//// warningEO.setPutTime(warningEO.getXCXSSRQ());
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
warningList.addAll(standInfoXCXSSRQ);
|
// warningList.addAll(standInfoXCXSSRQ);
|
||||||
|
//
|
||||||
|
//
|
||||||
//标准 在产车型 mark=4
|
// //标准 在产车型 mark=4
|
||||||
List<WarningEO> standInfoZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ");
|
// List<String> standIdZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ");
|
||||||
for (WarningEO warningEO : standInfoZCCSSRQ) {
|
//
|
||||||
warningEO.setId(UUIDUtils.randomUUID20())
|
// List<EarlyWarningEO> standInfoZCCSSRQ = standIdZCCSSRQ.stream()
|
||||||
/**
|
// .map(id -> {
|
||||||
* 同上
|
// EarlyWarningEO earlyWarningEO = new EarlyWarningEO();
|
||||||
*/
|
// earlyWarningEO.setStandId(id)
|
||||||
.setItemsId("-1")
|
// .setItemsId("-1")
|
||||||
.setPower("1")
|
// .setPower("1")
|
||||||
.setMark("4")
|
// .setMark("4");
|
||||||
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
// return earlyWarningEO;
|
||||||
//实施日期达到预警时间,但在产车实施日期不在时间内
|
// }).collect(Collectors.toList());
|
||||||
/**
|
// warningList.addAll(standInfoZCCSSRQ);
|
||||||
* 2021/9/9取消限制
|
//
|
||||||
*/
|
//
|
||||||
// if (term.isTerm(warningEO.getZCCSSRQ())){
|
//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
||||||
// warningEO.setPutTime(warningEO.getZCCSSRQ());
|
// //实施日期达到预警时间,但在产车实施日期不在时间内
|
||||||
// }
|
// /**
|
||||||
warningEO.setPutTime(warningEO.getZCCSSRQ());
|
// * 2021/9/9取消限制
|
||||||
}
|
// */
|
||||||
warningList.addAll(standInfoZCCSSRQ);
|
//// if (term.isTerm(warningEO.getZCCSSRQ())){
|
||||||
|
//// warningEO.setPutTime(warningEO.getZCCSSRQ());
|
||||||
//持久化至预警表 忽略标准id和标志位都一样的数据
|
//// }
|
||||||
if (warningList.size()!=0){
|
//// warningEO.setPutTime(warningEO.getZCCSSRQ());
|
||||||
//此表的STAND_ID和MARK字段以及ITEMS_ID字段需个建立唯一性约束
|
//
|
||||||
int count = sarStandardWarningDao.ignoreInsert(warningList);
|
//
|
||||||
System.out.println("已预警 " + count + " 条标准或条款!!");
|
// //持久化至预警表 忽略标准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("==================================预警结束======================================");
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ package com.adc.da.scheduled.dao;
|
|||||||
import com.adc.da.scheduled.entity.DataDTO;
|
import com.adc.da.scheduled.entity.DataDTO;
|
||||||
import com.adc.da.scheduled.entity.WarningEO;
|
import com.adc.da.scheduled.entity.WarningEO;
|
||||||
|
|
||||||
|
import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@@ -12,7 +13,7 @@ import java.util.List;
|
|||||||
@Repository
|
@Repository
|
||||||
public interface SarStandardInfoDao{
|
public interface SarStandardInfoDao{
|
||||||
|
|
||||||
public List<WarningEO> selectWithinTerm(DataDTO date, String str);
|
public List<String> selectWithinTerm(DataDTO date, String str);
|
||||||
|
|
||||||
public int updateStandardInfo(@Param("id")String id, @Param("textStatus") String textStatus);
|
public int updateStandardInfo(@Param("id")String id, @Param("textStatus") String textStatus);
|
||||||
|
|
||||||
|
|||||||
@@ -13,5 +13,5 @@ import java.util.LinkedList;
|
|||||||
@Repository
|
@Repository
|
||||||
public interface SarStandardWarningDao extends BaseMapper<EarlyWarningEO> {
|
public interface SarStandardWarningDao extends BaseMapper<EarlyWarningEO> {
|
||||||
|
|
||||||
public int ignoreInsert(@Param(value = "warningEOS") LinkedList<WarningEO> warningEOS);
|
public int ignoreInsert(@Param(value = "warningEOS") LinkedList<EarlyWarningEO> warningEOS);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,33 +3,24 @@
|
|||||||
<mapper namespace="com.adc.da.scheduled.dao.SarStandardInfoDao">
|
<mapper namespace="com.adc.da.scheduled.dao.SarStandardInfoDao">
|
||||||
|
|
||||||
<!-- Result Map-->
|
<!-- Result Map-->
|
||||||
<resultMap id="resultMap" type="com.adc.da.scheduled.entity.WarningEO" >
|
<!-- <resultMap id="resultMap" type="com.adc.da.scheduled.entity.WarningEO" >-->
|
||||||
<id column="ID" property="standId" />
|
<!-- <id column="ID" property="standId" />-->
|
||||||
<result column="STAND_NUMBER" property="standNum" />
|
<!-- <result column="STAND_NUMBER" property="standNum" />-->
|
||||||
<result column="STAND_NAME" property="standName" />
|
<!-- <result column="STAND_NAME" property="standName" />-->
|
||||||
<result column="STAND_SORT" property="standSort"/>
|
<!-- <result column="STAND_SORT" property="standSort"/>-->
|
||||||
<result column="STAND_YEAR" property="standYear"/>
|
<!-- <result column="STAND_YEAR" property="standYear"/>-->
|
||||||
<result column="XCXSSRQ" property="XCXSSRQ"/>
|
<!-- <result column="XCXSSRQ" property="XCXSSRQ"/>-->
|
||||||
<result column="ZCCSSRQ" property="ZCCSSRQ"/>
|
<!-- <result column="ZCCSSRQ" property="ZCCSSRQ"/>-->
|
||||||
<result column="SSRQ" property="SSRQ"/>
|
<!-- <result column="SSRQ" property="SSRQ"/>-->
|
||||||
<result column="CLLX" property="applyType" />
|
<!-- <result column="CLLX" property="applyType" />-->
|
||||||
<result column="STAND_TYPE" property="standType" />
|
<!-- <result column="STAND_TYPE" property="standType" />-->
|
||||||
<result column="ZRGCS" property="dutyEngineer" />
|
<!-- <result column="ZRGCS" property="dutyEngineer" />-->
|
||||||
</resultMap>
|
<!-- </resultMap>-->
|
||||||
|
|
||||||
<!-- 查询条件 -->
|
<!-- 查询条件 -->
|
||||||
<select id="selectWithinTerm" resultMap="resultMap" parameterType="com.adc.da.scheduled.entity.DataDTO">
|
<select id="selectWithinTerm" resultType="java.lang.String" parameterType="com.adc.da.scheduled.entity.DataDTO">
|
||||||
SELECT
|
SELECT
|
||||||
info.ID,
|
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}
|
|
||||||
FROM
|
FROM
|
||||||
sar_standards_info AS info
|
sar_standards_info AS info
|
||||||
JOIN sar_stand_attr_info AS attrInfo ON info.id = attrinfo.stand_id
|
JOIN sar_stand_attr_info AS attrInfo ON info.id = attrinfo.stand_id
|
||||||
|
|||||||
Reference in New Issue
Block a user