From 701542ac0a90cf0e3a0a81ec2bb8066b5de68e75 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期六, 28 三月 2026 11:21:17 +0800
Subject: [PATCH] 更新为正式部署许可证

---
 src/main/java/com/zy/asrs/task/ErrorStockScheduler.java |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java b/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
index 917cfc4..430243f 100644
--- a/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
@@ -1,18 +1,37 @@
 package com.zy.asrs.task;
 
+import com.alibaba.excel.util.StringUtils;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.BasErrLog;
+import com.zy.asrs.entity.mes.MesReturn;
+import com.zy.asrs.service.BasErrLogService;
+import com.zy.asrs.service.impl.RcsServiceImpl;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.handler.ErrorStockHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
 
 /**
  * Created by vincent on 2020/7/7
  */
 @Component
 public class ErrorStockScheduler {
+
+    @Value("${mes.url}")
+    public String MES_URL;
+
+    @Autowired
+    private BasErrLogService basErrLogService;
 
     private static final Logger log = LoggerFactory.getLogger(ErrorStockScheduler.class);
 
@@ -27,4 +46,59 @@
         }
     }
 
+
+
+    /**
+     * 姣忔棩鏁呴殰淇℃伅涓婃姤
+     */
+    @Scheduled(cron = "0 0 20 * * ? ")
+    public void faultReport() {
+        // 鑾峰彇浠婂ぉ鐨勫紑濮嬫椂闂�
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        Date todayStart = calendar.getTime();
+
+        // 鑾峰彇浠婂ぉ鐨勭粨鏉熸椂闂�
+        calendar.set(Calendar.HOUR_OF_DAY, 23);
+        calendar.set(Calendar.MINUTE, 59);
+        calendar.set(Calendar.SECOND, 59);
+        calendar.set(Calendar.MILLISECOND, 999);
+        Date todayEnd = calendar.getTime();
+
+        List<BasErrLog> basErrLogs = basErrLogService.selectList(
+                new EntityWrapper<BasErrLog>()
+                        .between("create_time", todayStart, todayEnd)
+                        .orderBy("create_time", false)
+        );
+
+        int totalCount = basErrLogs.size();
+        long totalTime = 0;
+
+        for (BasErrLog basErrLog : basErrLogs) {
+            if (basErrLog.getStartTime() != null && basErrLog.getEndTime() != null) {
+                totalTime += basErrLog.getEndTime().getTime() - basErrLog.getStartTime().getTime();
+            }
+        }
+
+        JSONObject params = new JSONObject();
+        params.put("totalCount", totalCount);
+        params.put("totalTime", totalTime / 1000);
+
+        String url = "ErrorLogReport";
+        String URL = MES_URL + url;
+        String response = RcsServiceImpl.sendPost(URL, JSONObject.toJSONString(params));
+        if (!StringUtils.isEmpty(response) && response.contains("Success")){
+            MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class);
+            if("1".equals(mesReturn.getSuccess())) {
+                log.info("涓婃姤瀹屾垚 ==> 鏁呴殰娆℃暟锛歿}, 鎬绘椂闀匡細{}", totalCount, totalTime);
+            }else {
+                log.error("涓婃姤澶辫触 ==> 鏁呴殰娆℃暟锛歿}, 鎬绘椂闀匡細{}", totalCount, totalTime);
+            }
+        }
+
+    }
+
 }

--
Gitblit v1.9.1