预警定时任务
This commit is contained in:
@@ -3,7 +3,7 @@ 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.TermDTO;
|
||||
|
||||
import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao;
|
||||
import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo;
|
||||
@@ -61,129 +61,57 @@ public class ScheduledJob {
|
||||
|
||||
|
||||
// @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<EarlyWarningEO> 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<EarlyWarningEO> warningList = new LinkedList<>();//需预警的标准和条款列表集合
|
||||
// //分解单(条款) 新车型 mark=1
|
||||
// List<EarlyWarningEO> 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<EarlyWarningEO> 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<String> 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<String> standIdZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ");
|
||||
//
|
||||
// List<EarlyWarningEO> 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("==================================预警结束======================================");
|
||||
//
|
||||
// }
|
||||
// }
|
||||
@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:在产车条款预警
|
||||
|
||||
2021/12/1 日需求修改
|
||||
分为标准预警与条款预警
|
||||
mark:标识预警的种类 stand 标准 item 条款
|
||||
*/
|
||||
|
||||
//删除不在预警范围的标准
|
||||
int remove = sarStandardWarningDao.cancelWarning();
|
||||
|
||||
logger.info("==========================================================================");
|
||||
logger.info("取消"+remove+"条预警");
|
||||
logger.info("开始执行预警!!!");
|
||||
logger.info("==========================================================================");
|
||||
|
||||
TermDTO term = new TermDTO(); //预警期限(当前日期至3个月后)
|
||||
|
||||
|
||||
List<EarlyWarningEO> warningList = sarStandardWarningDao.getWarningId(term);
|
||||
|
||||
//持久化至预警表 忽略标准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("==================================预警结束======================================");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -202,7 +130,7 @@ public class ScheduledJob {
|
||||
public void TextStatusSchedulingTasks() {
|
||||
QueryWrapper<SarStandardsInfo> wrapper = new QueryWrapper<>();
|
||||
|
||||
DataDTO data = new DataDTO(LocalDate.now(), LocalDate.now());
|
||||
TermDTO data = new TermDTO(LocalDate.now(), LocalDate.now());
|
||||
|
||||
/**
|
||||
*实施日期是当前系统时间的标准文本状态变为'现行有效'
|
||||
|
||||
@@ -13,10 +13,10 @@ import java.util.List;
|
||||
@Repository
|
||||
public interface SarStandardWarningDao extends BaseMapper<EarlyWarningEO> {
|
||||
|
||||
public int ignoreInsert(@Param(value = "warningEOS") LinkedList<EarlyWarningEO> warningEOS);
|
||||
public int ignoreInsert(@Param(value = "warningEOS") List<EarlyWarningEO> warningEOS);
|
||||
|
||||
|
||||
public int cancelWarning();
|
||||
|
||||
// public List<EarlyWarningEO> getWarningId(TermDTO term);
|
||||
public List<EarlyWarningEO> getWarningId(TermDTO term);
|
||||
}
|
||||
|
||||
+23
@@ -59,4 +59,27 @@
|
||||
</delete>
|
||||
|
||||
|
||||
<select id="getWarningId" resultType="com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO">
|
||||
SELECT
|
||||
law_id,
|
||||
'-1' AS itemsId,
|
||||
'stand' AS mark
|
||||
FROM
|
||||
warning_date AS warning
|
||||
WHERE
|
||||
DATE_FORMAT(warning.SSRQ,'%Y-%m-%d') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m-%d') AND DATE_FORMAT(#{endDate}, '%Y-%m-%d')
|
||||
UNION
|
||||
SELECT
|
||||
STAND_ID,
|
||||
ID AS itemsId,
|
||||
'item' AS mark
|
||||
FROM
|
||||
sar_stand_items AS item
|
||||
WHERE
|
||||
DATE_FORMAT(item.XCXSSRQ,'%Y-%m-%d') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m-%d') AND DATE_FORMAT(#{endDate}, '%Y-%m-%d')
|
||||
OR
|
||||
DATE_FORMAT(item.ZCCSSRQ,'%Y-%m-%d') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m-%d') AND DATE_FORMAT(#{endDate}, '%Y-%m-%d')
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user