From 1da5c464f48dca0be85647b1d4f284d92c9b3eba Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 10 十月 2022 10:52:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  123 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 121 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 595c3d6..1a9d2c7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -74,11 +74,15 @@
     @Autowired
     private BasErrLogService basErrLogService;
     @Autowired
+    private BasSteErrLogService basSteErrLogService;
+    @Autowired
     private BasCrnErrorMapper basCrnErrorMapper;
     @Autowired
     private BasSteService basSteService;
     @Autowired
     private WrkChargeService wrkChargeService;
+    @Autowired
+    private BasSteErrService basSteErrService;
     @Autowired
     private CommonService commonService;
 
@@ -1871,7 +1875,7 @@
                                 continue;
                             }
                             BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
-                            String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName();
+                            String errName = crnError==null? "鏈煡寮傚父":crnError.getErrName();
                             BasErrLog basErrLog = new BasErrLog(
                                     null,    // 缂栧彿
                                     wrkMast.getWrkNo(),    // 宸ヤ綔鍙�
@@ -1918,7 +1922,7 @@
                         // 璁板綍鏂板紓甯�
                         if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
                             BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
-                            String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName();
+                            String errName = crnError==null? "鏈煡寮傚父":crnError.getErrName();
                             BasErrLog basErrLog = new BasErrLog(
                                     null,    // 缂栧彿
                                     null,    // 宸ヤ綔鍙�
@@ -1964,6 +1968,121 @@
         }
     }
 
+    /**
+     * 绌挎杞﹀紓甯镐俊鎭褰�
+     */
+    @Async
+    public void recSteErr(){
+        Date now = new Date();
+        for (SteSlave ste : slaveProperties.getSte()) {
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
+            SteProtocol steProtocol = steThread.getSteProtocol();
+            if (steProtocol == null) {
+                continue;
+            }
+            // 鏈変换鍔�
+            if (steProtocol.getTaskNo() != 0) {
+                BasSteErrLog latest = basSteErrLogService.findLatestByTaskNo(ste.getId(), steProtocol.getTaskNo().intValue());
+                // 鏈夊紓甯�
+                if (latest == null) {
+                    if (steProtocol.getAlarm() != null && steProtocol.isAlarm()) {
+                        WrkMast wrkMast = wrkMastMapper.selectById(steProtocol.getTaskNo());
+                        if (wrkMast == null) {
+                            continue;
+                        }
+                        BasSteErr steErr = basSteErrService.selectById(steProtocol.getAlarm());
+                        String errName = steErr==null? "鏈煡寮傚父":steErr.getErrName();
+                        BasSteErrLog basSteErrLog = new BasSteErrLog(
+                                null,    // 缂栧彿
+                                wrkMast.getWrkNo(),    // 宸ヤ綔鍙�
+                                now,    // 鍙戠敓鏃堕棿
+                                null,    // 缁撴潫鏃堕棿
+                                wrkMast.getWrkSts(),    // 宸ヤ綔鐘舵��
+                                wrkMast.getIoType(),    // 鍏ュ嚭搴撶被鍨�
+                                ste.getId(),    // 鍫嗗灈鏈�
+                                null,    // plc
+                                wrkMast.getLocNo(),    // 鐩爣搴撲綅
+                                wrkMast.getStaNo(),    // 鐩爣绔�
+                                wrkMast.getSourceStaNo(),    // 婧愮珯
+                                wrkMast.getSourceLocNo(),    // 婧愬簱浣�
+                                wrkMast.getBarcode(),    // 鏉$爜
+                                (int) steProtocol.getAlarm(),    // 寮傚父鐮�
+                                errName,    // 寮傚父
+                                1,    // 寮傚父鎯呭喌
+                                now,    // 娣诲姞鏃堕棿
+                                null,    // 娣诲姞浜哄憳
+                                now,    // 淇敼鏃堕棿
+                                null,    // 淇敼浜哄憳
+                                "浠诲姟涓紓甯�"    // 澶囨敞
+                        );
+                        if (!basSteErrLogService.insert(basSteErrLog)) {
+                            log.error("绌挎杞lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", ste.getId(), errName);
+                        }
+                    }
+                } else {
+                    // 寮傚父淇
+                    if (steProtocol.getAlarm() == null || !steProtocol.isAlarm()) {
+                        latest.setEndTime(now);
+                        latest.setUpdateTime(now);
+                        latest.setStatus(2);
+                        if (!basSteErrLogService.updateById(latest)) {
+                            log.error("绌挎杞lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", ste.getId(), latest.getId());
+                        }
+                    }
+                }
+                // 鏃犱换鍔�
+            } else {
+                BasSteErrLog latest = basSteErrLogService.findLatest(ste.getId());
+                // 鏈夊紓甯�
+                if (steProtocol.getAlarm() != null && steProtocol.isAlarm()) {
+                    // 璁板綍鏂板紓甯�
+                    if (latest == null || (latest.getErrCode() != steProtocol.getAlarm().intValue())) {
+                        BasSteErr steErr = basSteErrService.selectById(steProtocol.getAlarm());
+                        String errName = steErr==null? "鏈煡寮傚父":steErr.getErrName();
+                        BasSteErrLog basSteErrLog = new BasSteErrLog(
+                                null,    // 缂栧彿
+                                null,    // 宸ヤ綔鍙�
+                                now,    // 鍙戠敓鏃堕棿
+                                null,    // 缁撴潫鏃堕棿
+                                null,    // 宸ヤ綔鐘舵��
+                                null,    // 鍏ュ嚭搴撶被鍨�
+                                ste.getId(),    // 鍫嗗灈鏈�
+                                null,    // plc
+                                null,    // 鐩爣搴撲綅
+                                null,    // 鐩爣绔�
+                                null,    // 婧愮珯
+                                null,    // 婧愬簱浣�
+                                null,    // 鏉$爜
+                                (int)steProtocol.getAlarm(),    // 寮傚父鐮�
+                                errName,    // 寮傚父
+                                1,    // 寮傚父鎯呭喌
+                                now,    // 娣诲姞鏃堕棿
+                                null,    // 娣诲姞浜哄憳
+                                now,    // 淇敼鏃堕棿
+                                null,    // 淇敼浜哄憳
+                                "鏃犱换鍔″紓甯�"    // 澶囨敞
+                        );
+                        if (!basSteErrLogService.insert(basSteErrLog)) {
+                            log.error("绌挎杞lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", ste.getId(), errName);
+                        }
+                    }
+                    // 鏃犲紓甯�
+                } else {
+                    // 寮傚父淇
+                    if (latest != null && latest.getStatus() == 1) {
+                        latest.setEndTime(now);
+                        latest.setUpdateTime(now);
+                        latest.setStatus(2);
+                        if (!basSteErrLogService.updateById(latest)) {
+                            log.error("绌挎杞lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", ste.getId(), latest.getId());
+                        }
+                    }
+                }
+            }
+        }
+    }
+
 
     // -------------------------------------------------------------------------------
 

--
Gitblit v1.9.1