From 2fcd97552d16718cc7997629fd637a73a5a4483f Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 19 六月 2023 14:44:19 +0800
Subject: [PATCH] 删除

---
 src/main/java/com/gk/firework/Scheduls/WarningTask/NoEntryWarnTask.java |   71 +++++++++++++++++++++++++++++++++++
 1 files changed, 71 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gk/firework/Scheduls/WarningTask/NoEntryWarnTask.java b/src/main/java/com/gk/firework/Scheduls/WarningTask/NoEntryWarnTask.java
new file mode 100644
index 0000000..289b23f
--- /dev/null
+++ b/src/main/java/com/gk/firework/Scheduls/WarningTask/NoEntryWarnTask.java
@@ -0,0 +1,71 @@
+package com.gk.firework.Scheduls.WarningTask;
+
+import com.gk.firework.Domain.Enterprise;
+import com.gk.firework.Domain.StockInfo;
+import com.gk.firework.Domain.Vo.NoEntryVo;
+import com.gk.firework.Domain.WarnContentInfo;
+import com.gk.firework.Service.EnterpriseService;
+import com.gk.firework.Service.StockService;
+import com.gk.firework.Service.WarnContentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author : jingjy
+ * @date : 2021/6/16 15:55
+ */
+@Configuration
+@EnableScheduling
+@ConditionalOnProperty(prefix = "scheduling",name = "enabled",havingValue = "true")
+public class NoEntryWarnTask {
+
+    private static final String WARN_TYPE = "超期未入库";
+    private static final String WARN_LEVEL = "预警";
+    private static final Integer WARN_PERIOD = 30;
+    @Autowired
+    private EnterpriseService enterpriseService;
+    @Autowired
+    private WarnContentService warnContentService;
+    @Autowired
+    private StockService stockService;
+
+    @Scheduled(cron = "0 0 2 * * ?") //每天凌晨两点执行一次
+//    @Scheduled(cron = "0/5 * * * * ?") //每隔5秒执行一次
+    private void noEntryWarn(){
+        Calendar calendar = Calendar.getInstance();
+        Date date = new Date();
+        List<NoEntryVo> noEntryVos = stockService.selectNoEntryCount(calendar.getTime(),WARN_PERIOD);
+        for (NoEntryVo noEntryVo : noEntryVos){
+            insertWarnContent(noEntryVo,date);
+        }
+    }
+
+    private void insertWarnContent(NoEntryVo noEntryVo, Date date) {
+        Enterprise enterprise = enterpriseService.selectEnterpriseByName(noEntryVo.getName());
+        WarnContentInfo warnContentInfo = new WarnContentInfo();
+        warnContentInfo.setWarntype(WARN_TYPE);
+        warnContentInfo.setPeriod(WARN_PERIOD);
+        warnContentInfo.setEnterpriseid(enterprise.getId());
+        warnContentInfo.setWarnlevel(WARN_LEVEL);
+        warnContentInfo.setCreateddate(date);
+        warnContentInfo.setModifieddate(date);
+        warnContentInfo.setModifiedby("系统生成");
+        String content = noEntryVo.getName()+"有 "+noEntryVo.getNumber()+" 个产品出库超过30天没有进行入库操作!";
+        warnContentInfo.setWarncontent(content);
+
+        WarnContentInfo warnContentInfoExist = warnContentService.selectByWarn(WARN_TYPE,WARN_LEVEL,null,content);
+        if (warnContentInfoExist == null){
+            warnContentService.save(warnContentInfo);
+        }else {
+            warnContentInfoExist.setModifieddate(new Date());
+            warnContentService.updateById(warnContentInfoExist);
+        }
+    }
+}

--
Gitblit v1.9.2