Merge remote-tracking branch 'origin/develop_master' into develop_1
# Conflicts: # adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java
This commit is contained in:
@@ -7,6 +7,7 @@ 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;
|
||||
@@ -54,8 +55,8 @@ public class ScheduledJob {
|
||||
|
||||
|
||||
|
||||
// @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
|
||||
@Scheduled(cron="*/5 * * * * ?")
|
||||
@Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
|
||||
// @Scheduled(cron="*/5 * * * * ?")
|
||||
@Async
|
||||
public void WarningSchedulingTasks() {
|
||||
|
||||
@@ -76,61 +77,84 @@ public class ScheduledJob {
|
||||
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<WarningEO> warningList = new LinkedList<>();//需预警的标准和条款列表集合
|
||||
//分解单(条款) 新车型 mark=1
|
||||
List<WarningEO> itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ", "APPLY_ARCTIC");
|
||||
List<WarningEO> itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ");
|
||||
for (WarningEO warningEO : itemForXCXSSRQ) {
|
||||
warningEO.setId(UUIDUtils.randomUUID20())
|
||||
.setPower("1")
|
||||
.setMark("1")
|
||||
.setPutTime(warningEO.getXCXSSRQ())
|
||||
.setApplyType(warningEO.getApplyType());
|
||||
.setPutTime(warningEO.getXCXSSRQ());
|
||||
}
|
||||
warningList.addAll(itemForXCXSSRQ);
|
||||
|
||||
//分解单(条款) 在产车型 mark=2
|
||||
List<WarningEO> itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ", "APPLY_ARCTIC");
|
||||
List<WarningEO> itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ");
|
||||
for (WarningEO warningEO : itemForZCCSSRQ) {
|
||||
warningEO.setId(UUIDUtils.randomUUID20())
|
||||
.setPower("1")
|
||||
.setMark("2")
|
||||
.setPutTime(warningEO.getZCCSSRQ())
|
||||
.setApplyType(warningEO.getApplyType());
|
||||
.setPutTime(warningEO.getZCCSSRQ());
|
||||
|
||||
}
|
||||
warningList.addAll(itemForZCCSSRQ);
|
||||
|
||||
//标准 新车型 预警 mark=3
|
||||
List<WarningEO> standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ", "CLLX");
|
||||
List<WarningEO> standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ");
|
||||
for (WarningEO warningEO : standInfoXCXSSRQ) {
|
||||
warningEO.setId(UUIDUtils.randomUUID20())
|
||||
/**
|
||||
* //如果插入的值均为NULL,则根据索引的原理,
|
||||
* 全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的
|
||||
* 则此处设为 '-1'
|
||||
*/
|
||||
.setItemsId("-1")
|
||||
.setPower("1")
|
||||
.setMark("3")
|
||||
.setPutTime(warningEO.getXCXSSRQ())
|
||||
.setApplyType(warningEO.getApplyType())
|
||||
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
||||
|
||||
//实施日期达到预警时间,但新车型实施日期不在时间内
|
||||
if (term.isTerm(warningEO.getXCXSSRQ())){
|
||||
warningEO.setPutTime(warningEO.getXCXSSRQ());
|
||||
}
|
||||
|
||||
}
|
||||
warningList.addAll(standInfoXCXSSRQ);
|
||||
|
||||
|
||||
//标准 在产车型 mark=4
|
||||
List<WarningEO> standInfoZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ", "CLLX");
|
||||
List<WarningEO> standInfoZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ");
|
||||
for (WarningEO warningEO : standInfoZCCSSRQ) {
|
||||
warningEO.setId(UUIDUtils.randomUUID20())
|
||||
/**
|
||||
* 同上
|
||||
*/
|
||||
.setItemsId("-1")
|
||||
.setPower("1")
|
||||
.setMark("4")
|
||||
.setPutTime(warningEO.getZCCSSRQ())
|
||||
.setApplyType(warningEO.getApplyType())
|
||||
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
|
||||
//实施日期达到预警时间,但在产车实施日期不在时间内
|
||||
if (term.isTerm(warningEO.getZCCSSRQ())){
|
||||
warningEO.setPutTime(warningEO.getZCCSSRQ());
|
||||
}
|
||||
}
|
||||
warningList.addAll(standInfoZCCSSRQ);
|
||||
|
||||
//持久化至预警表 忽略标准id和标志位都一样的数据
|
||||
if (warningList.size()!=0){
|
||||
//此表的STAND_ID和MARK字段以及ITEMS_ID和MARK字段需两个建立唯一性约束
|
||||
//此表的STAND_ID和MARK字段以及ITEMS_ID字段需个建立唯一性约束
|
||||
int count = sarStandardWarningDao.ignoreInsert(warningList);
|
||||
System.out.println("已预警 " + count + " 条标准或条款!!");
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.adc.da.scheduled.dao;
|
||||
|
||||
import com.adc.da.scheduled.entity.WarningEO;
|
||||
import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -9,7 +11,7 @@ import org.springframework.stereotype.Repository;
|
||||
import java.util.LinkedList;
|
||||
|
||||
@Repository
|
||||
public interface SarStandardWarningDao extends IService<WarningEO> {
|
||||
public interface SarStandardWarningDao extends BaseMapper<EarlyWarningEO> {
|
||||
|
||||
public int ignoreInsert(@Param(value = "warningEOS") LinkedList<WarningEO> warningEOS);
|
||||
}
|
||||
|
||||
@@ -1,10 +1,18 @@
|
||||
package com.adc.da.scheduled.entity;
|
||||
|
||||
import com.alibaba.druid.sql.visitor.functions.Char;
|
||||
import com.sun.org.apache.bcel.internal.generic.NEW;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@@ -13,21 +21,56 @@ public class DataDTO {
|
||||
* 预警的期限为系统日期的次日至3个月后
|
||||
*/
|
||||
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
private LocalDate startDate;
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
private LocalDate endDate;
|
||||
|
||||
private String startDate;
|
||||
|
||||
private String endDate;
|
||||
|
||||
// private String str;
|
||||
|
||||
public DataDTO() {
|
||||
this.startDate =LocalDate.now().plusDays(1); //系统当前日期
|
||||
this.endDate = LocalDate.now().plusMonths(3);//系统当前日期3个月后
|
||||
LocalDate starDate = LocalDate.now();//系统当前日期
|
||||
LocalDate endDate = LocalDate.now().plusMonths(3);//系统当前日期3个月后
|
||||
|
||||
convertToStr(starDate,endDate);
|
||||
}
|
||||
|
||||
public DataDTO(LocalDate startDate,LocalDate endDate){
|
||||
this.startDate=startDate;
|
||||
this.endDate=endDate;
|
||||
convertToStr(startDate,endDate);
|
||||
}
|
||||
|
||||
//判断日期是否在期限内
|
||||
public boolean isTerm(Date date) {
|
||||
|
||||
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String dateString = formatter.format(date);
|
||||
int compareStart = dateString.compareTo(startDate);
|
||||
int compareEnd = dateString.compareTo(startDate);
|
||||
if (compareStart >= 0 && compareEnd <=0) {
|
||||
return true;
|
||||
} else return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 此时的mybatis-plus对localDate类型没有完全支持,则转换为字符串使用
|
||||
* @param startDate
|
||||
* @param endDate
|
||||
*/
|
||||
public void convertToStr(LocalDate startDate,LocalDate endDate){
|
||||
|
||||
/**
|
||||
* 使用DateTimeFormatter线程安全,但不晓得怎么支持Date类型转换为字符串 ¯\_(ツ)_/¯
|
||||
*/
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
|
||||
// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//线程不安全且不支持LocalDate
|
||||
|
||||
this.startDate =formatter.format(startDate);
|
||||
this.endDate=formatter.format(endDate);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,9 @@ public class WarningEO extends EarlyWarningEO {
|
||||
@DateTimeFormat(pattern = "YYYY-MM-dd")
|
||||
private Date ZCCSSRQ;
|
||||
|
||||
@DateTimeFormat(pattern = "YYYY-MM-dd")
|
||||
private Date SSRQ;
|
||||
|
||||
private String standNum;
|
||||
|
||||
private String standSort;
|
||||
|
||||
Reference in New Issue
Block a user