预警 定时任务

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.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.util.*;
@@ -62,7 +63,7 @@ public class ScheduledJob {
// @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
@Scheduled(cron="*/5 * * * * ?")
@Async
// @Async
public void WarningSchedulingTasks() {
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("取消"+remove+"条预警");
@@ -100,6 +101,9 @@ public class ScheduledJob {
List<EarlyWarningEO> warningList = sarStandardWarningDao.getWarningId(term);
warningList.forEach(item->{
item.setId(UUIDUtils.randomUUID20());
});
//持久化至预警表 忽略标准id和标志位都一样的数据
if (warningList.size()!=0){
//此表的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 cancelWarning();
public int autoCancelWarning();
public List<EarlyWarningEO> getWarningId(TermDTO term);
}
@@ -34,19 +34,19 @@ public class EarlyWarningEO extends BaseEntity {
private String standId;
@ApiModelProperty("标准类别")
@TableField("STAND_TYPE")
@TableField(exist = false)
private String standType;
@ApiModelProperty("标准号")
@TableField("STAND_CODE")
@TableField(exist = false)
private String standCode;
@ApiModelProperty("标准名称")
@TableField("STAND_NAME")
@TableField(exist = false)
private String standName;
@ApiModelProperty("发布日期")
@TableField("PUT_TIME")
@TableField(exist = false)
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date putTime;
@@ -54,30 +54,26 @@ public class EarlyWarningEO extends BaseEntity {
private Date lastTime;
@ApiModelProperty("适用车型")
@TableField("APPLY_TYPE")
@TableField(exist = false)
private String applyType;
@ApiModelProperty("责任工程师")
@TableField("DUTY_ENGINEER")
@TableField(exist = false)
private String dutyEngineer;
@ApiModelProperty("条款(分解单)id")
@TableField("ITEMS_ID")
@TableField(exist = false)
private String itemsId;
@ApiModelProperty("条款(分解单)编号")
@TableField("ITEMS_NUM")
@TableField(exist = false)
private String itemsNum;
@ApiModelProperty("条款(分解单)名称")
@TableField("ITEMS_NAME")
private String itemsName;
@TableField("POLICY_ID")
private String policyId;
@TableField("POLICY_NAME")
private String policyName;
@TableField("MARK")
private String mark;
@@ -4,34 +4,24 @@
<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
<if test="warningEOS !=null and warningEOS.size()!=0">
<foreach collection="warningEOS" item="item" index="index" separator=",">
(
#{item.id}
,#{item.standId}
,#{item.standType}
,#{item.standCode}
,#{item.standName}
,#{item.putTime}
,#{item.applyType}
,#{item.dutyEngineer}
,#{item.itemsId}
,#{item.itemsNum}
,#{item.itemsName}
,#{item.policyId}
,#{item.policyName}
,#{item.mark}
,#{item.power}
)
</foreach>
</if>
</insert>
<delete id="cancelWarning">
DELETE
FROM
sar_stand_warning
<delete id="autoCancelWarning">
UPDATE sar_stand_warning
SET POWER ='0'
WHERE
STAND_ID IN (
SELECT
@@ -39,29 +29,29 @@
FROM
warning_date
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
SELECT
ID
FROM
sar_standards_info
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
SELECT
STAND_ID
FROM
sar_stand_items
WHERE
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')
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')
)
</delete>
<select id="getWarningId" resultType="com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO">
SELECT
law_id,
law_id as STAND_ID,
'-1' AS itemsId,
'stand' AS mark
FROM