预警 定时任务

This commit is contained in:
zhaokaiyao@91isoft.com
2021-12-01 19:08:59 +08:00
parent 90d84a7443
commit 960ea90b4a
4 changed files with 25 additions and 35 deletions
@@ -23,6 +23,7 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.*;
@@ -62,7 +63,7 @@ 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); Logger logger = LoggerFactory.getLogger(ScheduledJob.class);
@@ -88,7 +89,7 @@ public class ScheduledJob {
*/ */
//删除不在预警范围的标准 //删除不在预警范围的标准
int remove = sarStandardWarningDao.cancelWarning(); int remove = sarStandardWarningDao.autoCancelWarning();
logger.info("=========================================================================="); logger.info("==========================================================================");
logger.info("取消"+remove+"条预警"); logger.info("取消"+remove+"条预警");
@@ -100,6 +101,9 @@ public class ScheduledJob {
List<EarlyWarningEO> warningList = sarStandardWarningDao.getWarningId(term); List<EarlyWarningEO> warningList = sarStandardWarningDao.getWarningId(term);
warningList.forEach(item->{
item.setId(UUIDUtils.randomUUID20());
});
//持久化至预警表 忽略标准id和标志位都一样的数据 //持久化至预警表 忽略标准id和标志位都一样的数据
if (warningList.size()!=0){ if (warningList.size()!=0){
//此表的STAND_ID和MARK字段以及ITEMS_ID字段需个建立唯一性约束 //此表的STAND_ID和MARK字段以及ITEMS_ID字段需个建立唯一性约束
@@ -16,7 +16,7 @@ public interface SarStandardWarningDao extends BaseMapper<EarlyWarningEO> {
public int ignoreInsert(@Param(value = "warningEOS") List<EarlyWarningEO> warningEOS); public int ignoreInsert(@Param(value = "warningEOS") List<EarlyWarningEO> warningEOS);
public int cancelWarning(); public int autoCancelWarning();
public List<EarlyWarningEO> getWarningId(TermDTO term); public List<EarlyWarningEO> getWarningId(TermDTO term);
} }
@@ -34,19 +34,19 @@ public class EarlyWarningEO extends BaseEntity {
private String standId; private String standId;
@ApiModelProperty("标准类别") @ApiModelProperty("标准类别")
@TableField("STAND_TYPE") @TableField(exist = false)
private String standType; private String standType;
@ApiModelProperty("标准号") @ApiModelProperty("标准号")
@TableField("STAND_CODE") @TableField(exist = false)
private String standCode; private String standCode;
@ApiModelProperty("标准名称") @ApiModelProperty("标准名称")
@TableField("STAND_NAME") @TableField(exist = false)
private String standName; private String standName;
@ApiModelProperty("发布日期") @ApiModelProperty("发布日期")
@TableField("PUT_TIME") @TableField(exist = false)
@DateTimeFormat(pattern="yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd")
private Date putTime; private Date putTime;
@@ -54,30 +54,26 @@ public class EarlyWarningEO extends BaseEntity {
private Date lastTime; private Date lastTime;
@ApiModelProperty("适用车型") @ApiModelProperty("适用车型")
@TableField("APPLY_TYPE") @TableField(exist = false)
private String applyType; private String applyType;
@ApiModelProperty("责任工程师") @ApiModelProperty("责任工程师")
@TableField("DUTY_ENGINEER") @TableField(exist = false)
private String dutyEngineer; private String dutyEngineer;
@ApiModelProperty("条款(分解单)id") @ApiModelProperty("条款(分解单)id")
@TableField("ITEMS_ID") @TableField(exist = false)
private String itemsId; private String itemsId;
@ApiModelProperty("条款(分解单)编号") @ApiModelProperty("条款(分解单)编号")
@TableField("ITEMS_NUM") @TableField(exist = false)
private String itemsNum; private String itemsNum;
@ApiModelProperty("条款(分解单)名称")
@TableField("ITEMS_NAME")
private String itemsName;
@TableField("POLICY_ID") @TableField("POLICY_ID")
private String policyId; private String policyId;
@TableField("POLICY_NAME")
private String policyName;
@TableField("MARK") @TableField("MARK")
private String mark; private String mark;
@@ -4,34 +4,24 @@
<insert id="ignoreInsert" parameterType="java.util.LinkedList"> <insert id="ignoreInsert" parameterType="java.util.LinkedList">
REPLACE INTO sar_stand_warning (ID,STAND_ID, STAND_TYPE, STAND_CODE,STAND_NAME,PUT_TIME,APPLY_TYPE,DUTY_ENGINEER,ITEMS_ID,ITEMS_NUM,ITEMS_NAME,POLICY_ID,POLICY_NAME,MARK,POWER) REPLACE INTO sar_stand_warning (ID,STAND_ID,ITEMS_ID,POLICY_ID,MARK,POWER)
VALUES VALUES
<if test="warningEOS !=null and warningEOS.size()!=0"> <if test="warningEOS !=null and warningEOS.size()!=0">
<foreach collection="warningEOS" item="item" index="index" separator=","> <foreach collection="warningEOS" item="item" index="index" separator=",">
( (
#{item.id} #{item.id}
,#{item.standId} ,#{item.standId}
,#{item.standType}
,#{item.standCode}
,#{item.standName}
,#{item.putTime}
,#{item.applyType}
,#{item.dutyEngineer}
,#{item.itemsId} ,#{item.itemsId}
,#{item.itemsNum}
,#{item.itemsName}
,#{item.policyId} ,#{item.policyId}
,#{item.policyName}
,#{item.mark} ,#{item.mark}
,#{item.power} ,#{item.power}
) )
</foreach> </foreach>
</if> </if>
</insert> </insert>
<delete id="cancelWarning"> <delete id="autoCancelWarning">
DELETE UPDATE sar_stand_warning
FROM SET POWER ='0'
sar_stand_warning
WHERE WHERE
STAND_ID IN ( STAND_ID IN (
SELECT SELECT
@@ -39,29 +29,29 @@
FROM FROM
warning_date warning_date
WHERE WHERE
DATE_FORMAT(SSRQ, '%Y-%m-%d') lt; DATE_FORMAT(now(), '%Y-%m-%d') DATE_FORMAT(SSRQ, '%Y-%m-%d') &lt; DATE_FORMAT(now(), '%Y-%m-%d')
UNION UNION
SELECT SELECT
ID ID
FROM FROM
sar_standards_info sar_standards_info
WHERE WHERE
DATE_FORMAT(PUT_TIME, '%Y-%m-%d') lt; DATE_FORMAT(now(), '%Y-%m-%d') DATE_FORMAT(PUT_TIME, '%Y-%m-%d') &lt; DATE_FORMAT(now(), '%Y-%m-%d')
UNION UNION
SELECT SELECT
STAND_ID STAND_ID
FROM FROM
sar_stand_items sar_stand_items
WHERE WHERE
DATE_FORMAT(XCXSSRQ, '%Y-%m-%d') lt; DATE_FORMAT(now(), '%Y-%m-%d') DATE_FORMAT(XCXSSRQ, '%Y-%m-%d') &lt; DATE_FORMAT(now(), '%Y-%m-%d')
OR DATE_FORMAT(ZCCSSRQ, '%Y-%m-%d') lt; DATE_FORMAT(now(), '%Y-%m-%d') OR DATE_FORMAT(ZCCSSRQ, '%Y-%m-%d') &lt; DATE_FORMAT(now(), '%Y-%m-%d')
) )
</delete> </delete>
<select id="getWarningId" resultType="com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO"> <select id="getWarningId" resultType="com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO">
SELECT SELECT
law_id, law_id as STAND_ID,
'-1' AS itemsId, '-1' AS itemsId,
'stand' AS mark 'stand' AS mark
FROM FROM