From 5aa831dffdfb0ca524362e8d649c28babc681ece Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期一, 30 六月 2025 16:43:18 +0800
Subject: [PATCH] #改造

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  698 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 500 insertions(+), 198 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 c22aa53..fdcb0d3 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.controller.CrnController;
 import com.zy.asrs.domain.enums.TaskStatusType;
@@ -31,7 +32,6 @@
 import com.zy.core.thread.RgvThread;
 import com.zy.core.thread.SiemensDevpThread;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -55,8 +55,6 @@
 
     @Autowired
     private SlaveProperties slaveProperties;
-    @Autowired
-    private WrkMastMapper wrkMastMapper;
     @Autowired
     private LocMastService locMastService;
     @Autowired
@@ -105,6 +103,11 @@
 
     @Value("${constant-parameters.avoidDistance}")
     private Long avoidDistance;
+    @Autowired
+    private TaskWrkLogServiceImpl taskWrkLogService;
+    @Autowired
+    private BasPlcerrorLogServiceImpl basPlcerrorLogService;
+    public Long currentTimeMilliConnectCrnAuto= 0L;
 
     public void generateStoreWrkFile() {
         try {
@@ -130,7 +133,7 @@
                     boolean back = false;
                     String errMsg = "-";
                     if (staProtocol.getGrossWt()>=600){
-                        errMsg = "瓒呴噸";
+                        errMsg = "瓒呴噸锛�"+staProtocol.getGrossWt()+"kg";
                         back = true;
                     }
                     if (staProtocol.isFrontErr()) {
@@ -153,10 +156,10 @@
                         errMsg = "鍙宠秴闄�";
                         back = true;
                     }
-                    if (!back && staProtocol.isWeightErr()) {
-                        errMsg = "瓒呴噸";
-                        back = true;
-                    }
+//                    if (!back && staProtocol.isWeightErr()) {
+//                        errMsg = "瓒呴噸";
+//                        back = true;
+//                    }
                     if (!back && staProtocol.isBarcodeErr()) {
                         errMsg = "鎵爜澶辫触";
                         back = true;
@@ -226,7 +229,7 @@
                             TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode));
                             if (!Cools.isEmpty(taskWrk1)) {
                                 log.info("鎵樼洏鐮侊細" + barcode + "浠诲姟妗e瓨鍦�");
-                                if (taskWrk1.getIoType() == 1 && taskWrk1.getStatus() < 3 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) {
+                                if (taskWrk1.getIoType() == 1 && taskWrk1.getStatus() < 3 && (taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString()) || taskWrk1.getStartPoint().equals(String.valueOf((staProtocol.getSiteId()+1))))) {
                                     StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
                                             .eq("CRN_NO", taskWrk1.getCrnNo()).eq("TYPE_NO", 1).eq("STN_NO", staProtocol.getSiteId()));
 
@@ -385,10 +388,10 @@
                         errMsg = "鍙宠秴闄�";
                         back = true;
                     }
-                    if (!back && staProtocol.isWeightErr()) {
-                        errMsg = "瓒呴噸";
-                        back = true;
-                    }
+//                    if (!back && staProtocol.isWeightErr()) {
+//                        errMsg = "瓒呴噸";
+//                        back = true;
+//                    }
                     // 閫�鍥�
                     if (back) {
                         if (stano == inSta.getBackSta().shortValue()) {
@@ -704,6 +707,86 @@
     }
 
     /**
+     * 鍫嗗灈鏈�5鍒嗛挓鏃犱换鍔″垯鍥炲埌婧愮偣
+     */
+    public void crnStnToOutStnSou() {
+        for (CrnSlave crn : slaveProperties.getCrn()) {
+            try{
+                // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                if (crnProtocol == null) {
+                    continue;
+                }
+                BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+                if (basCrnp == null) {
+                    log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                    continue;
+                }
+                if (System.currentTimeMillis()-currentTimeMilliConnectCrnAuto<1000*60*10){
+                    continue;
+                }
+                if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.statusType == CrnStatusType.IDLE && crnProtocol.getLoaded().equals((short)0) && crnProtocol.getLaneNo()!=0 && crnProtocol.getTaskNo() == 0 ) {
+                    if (crnProtocol.getBay()!=1 || crnProtocol.getLevel()!=1){
+                        //鑾峰彇宸ヤ綔妗�
+                        List<TaskWrk> taskWrks = taskWrkMapper.selectByLaneNo(crnProtocol.getLaneNo());
+                        if (!taskWrks.isEmpty()) {
+                            continue;
+                        }
+                        List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<TaskWrkLog>().eq("CRN_NO",crnProtocol.getLaneNo()).orderBy("COMPLETE_TIME",true));
+                        if (!taskWrkLogs.isEmpty()) {
+                            TaskWrkLog taskWrkLog = taskWrkLogs.get(0);
+                            Date completeTime = taskWrkLog.getCompleteTime();
+                            if (completeTime==null){
+                                completeTime = taskWrkLog.getCancelTime();
+                                if (completeTime==null){
+                                    completeTime = taskWrkLog.getModiTime();
+                                }
+                            }
+                            long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(completeTime, new Date());
+                            if (differenceInSeconds <= 60*10*1000) {
+                                return;
+                            }
+                        }
+                        // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+                        CrnCommand crnCommand = new CrnCommand();
+                        crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+                        crnCommand.setCrnNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
+                        crnCommand.setTaskNo((short)999); // 宸ヤ綔鍙�
+                        crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+                        crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  搴撲綅绉昏浆
+                        crnCommand.setSourcePosX((short) 0);     // 婧愬簱浣嶆帓
+                        crnCommand.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
+                        crnCommand.setSourcePosZ((short) 0);   // 婧愬簱浣嶅眰
+                        int row = crnProtocol.getLaneNo() * 2;
+                        crnCommand.setDestinationPosX((short) row);     // 鐩爣搴撲綅鎺�
+                        crnCommand.setDestinationPosY((short) 1);     // 鐩爣搴撲綅灞�
+                        crnCommand.setDestinationPosZ((short) 1);     // 鐩爣搴撲綅鍒�
+                        if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) {
+                            log.error("鍫嗗灈鏈鸿嚜鍔ㄥ洖婧愮偣澶辫触锛屽爢鍨涙満鍙�={}", crnProtocol.getCrnNo());
+
+                            if (System.currentTimeMillis()-currentTimeMilliConnectCrnAuto>1000*60*10){
+                                try{
+                                    DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+                                    deviceErrorService.addDeviceError("CrnErr", crnProtocol.getCrnNo(), "鍫嗗灈鏈鸿嚜鍔ㄥ洖婧愮偣澶辫触");
+                                } catch (Exception e2){
+                                }
+                                if (currentTimeMilliConnectCrnAuto == 0){
+                                    currentTimeMilliConnectCrnAuto = System.currentTimeMillis()-1000*60*10-1;
+                                } else {
+                                    currentTimeMilliConnectCrnAuto = System.currentTimeMillis();
+                                }
+                            }
+                        }
+                    }
+                }
+            } catch (Exception e){
+                log.error("鍫嗗灈鏈�5鍒嗛挓鏃犱换鍔″垯鍥炲埌婧愮偣澶辫触");
+            }
+        }
+    }
+
+    /**
      * 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
      */
     public synchronized void crnIoExecute() throws IOException {
@@ -730,8 +813,12 @@
                 }
             }
 
-            // 搴撲綅绉昏浆
-            this.locToLoc(crn, crnProtocol);
+            try{
+                // 搴撲綅绉昏浆
+                this.locToLoc(crn, crnProtocol);
+            } catch (Exception e) {
+                log.error("搴撲綅绉昏浆澶辫触");
+            }
 
             // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
@@ -1209,80 +1296,81 @@
      */
     public void storeFinished() throws InterruptedException {
         for (CrnSlave crnSlave : slaveProperties.getCrn()) {
-            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
-            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
-            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-            if (crnProtocol == null) {
-                continue;
-            }
-
-            CrnSlave crn = new CrnSlave(crnSlave);
-
-            if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
-                for (CrnSlave crnOther : slaveProperties.getCrn()) {
-                    if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
-                        crn.updateCrnInStn(crnOther);
-                    }
-                }
-            }
-
-            //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
-            if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
-                //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
-                TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue());
-                if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) {
-                    log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
+            try{
+                // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
+                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                if (crnProtocol == null) {
                     continue;
                 }
-//                Thread.sleep(300);
-                //纭瀹屾垚淇″彿
-                CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
-                crnOperatorParam.setCrnNo(crn.getId());
-                Date now = new Date();
 
-                crnController.crnTaskComplete(crnOperatorParam);
-                if (!Cools.isEmpty(taskWrk)) {
-                    if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
-                        taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
-                        taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
-                        //鏇存柊搴撲綅鐘舵��
-                        LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
-                        locMast.setLocSts("F");//F.鍦ㄥ簱
-                        locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
-                        locMast.setModiTime(now);
-                        locMast.setModiUser(9999L);
-                        locMastService.updateById(locMast);
-                    } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) {
-                        taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
-                        taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
-                        //鏇存柊搴撲綅鐘舵��
-                        LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
-                        locMast.setLocSts("O");//O.绌哄簱浣�
-                        locMast.setBarcode("");//鎵樼洏鐮�
-                        locMast.setModiTime(now);
-                        locMast.setModiUser(9999L);
-                        locMastService.updateById(locMast);
-                    } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) {
-                        taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
-                        taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
-                        //鏇存柊搴撲綅鐘舵��
-                        LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
-                        locMast.setLocSts("F");//F.鍦ㄥ簱
-                        locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
-                        locMast.setModiTime(now);
-                        locMast.setModiUser(9999L);
-                        locMastService.updateById(locMast);
+                CrnSlave crn = new CrnSlave(crnSlave);
 
-                        LocMast locMast1 = locMastService.selectByLocNo(taskWrk.getStartPoint());
-                        locMast1.setLocSts("O");//O.绌哄簱浣�
-                        locMast1.setBarcode("");//鎵樼洏鐮�
-                        locMast1.setModiTime(now);
-                        locMast1.setModiUser(9999L);
-                        locMastService.updateById(locMast1);
+                if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
+                    for (CrnSlave crnOther : slaveProperties.getCrn()) {
+                        if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
+                            crn.updateCrnInStn(crnOther);
+                        }
                     }
-                    taskWrk.setModiTime(now);
-                    taskWrk.setCompleteTime(now);
-                    taskWrkService.updateById(taskWrk);
+                }
+
+                //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
+                if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
+                    //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
+                    TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue());
+                    if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) {
+                        log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
+                        continue;
+                    }
+//                Thread.sleep(300);
+                    //纭瀹屾垚淇″彿
+                    CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
+                    crnOperatorParam.setCrnNo(crn.getId());
+                    Date now = new Date();
+
+                    crnController.crnTaskComplete(crnOperatorParam);
+                    if (!Cools.isEmpty(taskWrk)) {
+                        if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
+                            taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
+                            taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
+                            //鏇存柊搴撲綅鐘舵��
+                            LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+                            locMast.setLocSts("F");//F.鍦ㄥ簱
+                            locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
+                            locMast.setModiTime(now);
+                            locMast.setModiUser(9999L);
+                            locMastService.updateById(locMast);
+                        } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) {
+                            taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
+                            taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
+                            //鏇存柊搴撲綅鐘舵��
+                            LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+                            locMast.setLocSts("O");//O.绌哄簱浣�
+                            locMast.setBarcode("");//鎵樼洏鐮�
+                            locMast.setModiTime(now);
+                            locMast.setModiUser(9999L);
+                            locMastService.updateById(locMast);
+                        } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) {
+                            taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
+                            taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
+                            //鏇存柊搴撲綅鐘舵��
+                            LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+                            locMast.setLocSts("F");//F.鍦ㄥ簱
+                            locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
+                            locMast.setModiTime(now);
+                            locMast.setModiUser(9999L);
+                            locMastService.updateById(locMast);
+
+                            LocMast locMast1 = locMastService.selectByLocNo(taskWrk.getStartPoint());
+                            locMast1.setLocSts("O");//O.绌哄簱浣�
+                            locMast1.setBarcode("");//鎵樼洏鐮�
+                            locMast1.setModiTime(now);
+                            locMast1.setModiUser(9999L);
+                            locMastService.updateById(locMast1);
+                        }
+                        taskWrk.setModiTime(now);
+                        taskWrk.setCompleteTime(now);
+                        taskWrkService.updateById(taskWrk);
 
 
 //                    try {
@@ -1322,8 +1410,11 @@
 //                        log.error("wcs瀹岀粨浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e);
 ////                        throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
 //                    }
-                }
+                    }
 
+                }
+            } catch (Exception e){
+                log.error("鍫嗗灈鏈烘墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔澶辫触 ===>> [id:{}] [error:{}]", crnSlave.getId(), e.getMessage());
             }
         }
     }
@@ -1334,115 +1425,243 @@
     public void recCrnErr() {
         Date now = new Date();
         for (CrnSlave crn : slaveProperties.getCrn()) {
-            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
-            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
-            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-            if (crnProtocol == null) {
-                continue;
-            }
-            if (false) {
-//            if (crnProtocol.getModeType() != CrnModeType.STOP) {
-                // 鏈変换鍔�
-                if (crnProtocol.getTaskNo() != 0) {
-                    BasErrLog latest = basErrLogService.findLatestByTaskNo(crn.getId(), crnProtocol.getTaskNo().intValue());
-                    // 鏈夊紓甯�
-                    if (latest == null) {
+            try{
+                // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                if (crnProtocol == null) {
+                    continue;
+                }
+                if (crnProtocol.getModeType() != CrnModeType.STOP) {
+                    // 鏈変换鍔�
+                    if (crnProtocol.getTaskNo() != 0) {
+                        BasErrLog latest = basErrLogService.findLatestByTaskNo(crn.getId(), crnProtocol.getTaskNo().intValue());
+                        // 鏈夊紓甯�
+                        if (latest == null) {
+                            if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
+                                TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(crnProtocol.getTaskNo()));
+                                if (taskWrk == null) {
+                                    continue;
+                                }
+                                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm().intValue());
+                                String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
+                                BasErrLog basErrLog = new BasErrLog(
+                                        null,    // 缂栧彿
+                                        taskWrk.getWrkNo(),    // 宸ヤ綔鍙�
+                                        now,    // 鍙戠敓鏃堕棿
+                                        null,    // 缁撴潫鏃堕棿
+                                        taskWrk.getWrkSts().longValue(),    // 宸ヤ綔鐘舵��
+                                        taskWrk.getIoType(),    // 鍏ュ嚭搴撶被鍨�
+                                        taskWrk.getCrnNo(),    // 宸烽亾鍙�
+                                        crn.getId(),    // 鍫嗗灈鏈哄彿
+                                        taskWrk.getTargetPoint(),    // 鐩爣搴撲綅
+                                        0,    // 鐩爣绔�
+                                        0,    // 婧愮珯
+                                        taskWrk.getStartPoint(),    // 婧愬簱浣�
+                                        taskWrk.getBarcode(),    // 鏉$爜
+                                        (int) crnProtocol.getAlarm(),    // 寮傚父鐮�
+                                        errName,    // 寮傚父
+                                        1,    // 寮傚父鎯呭喌
+                                        taskWrk.getCreateTime(),    // 浠诲姟鏃堕棿(鎺ユ敹鏃堕棿)
+                                        null,    // 娣诲姞浜哄憳
+                                        now,    // 淇敼鏃堕棿
+                                        null,    // 淇敼浜哄憳
+                                        "浠诲姟涓紓甯�"    // 澶囨敞
+                                );
+                                if (!basErrLogService.insert(basErrLog)) {
+                                    log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
+                                }
+                            }
+                        } else {
+                            // 寮傚父淇
+                            if (crnProtocol.getAlarm() == null || crnProtocol.getAlarm() == 0) {
+                                latest.setEndTime(now);
+                                latest.setUpdateTime(now);
+                                latest.setStatus(2);
+                                if (!basErrLogService.updateById(latest)) {
+                                    log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
+                                }
+                            }
+                        }
+                        // 鏃犱换鍔�
+                    } else {
+                        BasErrLog latest = basErrLogService.findLatest(crn.getId());
+                        // 鏈夊紓甯�
                         if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
-                            WrkMast wrkMast = wrkMastMapper.selectById(crnProtocol.getTaskNo());
-                            if (wrkMast == null) {
-                                continue;
+                            // 璁板綍鏂板紓甯�
+                            if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
+                                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
+                                String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
+                                BasErrLog basErrLog = new BasErrLog(
+                                        null,    // 缂栧彿
+                                        null,    // 宸ヤ綔鍙�
+                                        now,    // 鍙戠敓鏃堕棿
+                                        null,    // 缁撴潫鏃堕棿
+                                        null,    // 宸ヤ綔鐘舵��
+                                        null,    // 鍏ュ嚭搴撶被鍨�
+                                        crn.getId(),    // 鍫嗗灈鏈�
+                                        null,    // plc
+                                        null,    // 鐩爣搴撲綅
+                                        null,    // 鐩爣绔�
+                                        null,    // 婧愮珯
+                                        null,    // 婧愬簱浣�
+                                        null,    // 鏉$爜
+                                        (int) crnProtocol.getAlarm(),    // 寮傚父鐮�
+                                        errName,    // 寮傚父
+                                        1,    // 寮傚父鎯呭喌
+                                        now,    // 娣诲姞鏃堕棿
+                                        null,    // 娣诲姞浜哄憳
+                                        now,    // 淇敼鏃堕棿
+                                        null,    // 淇敼浜哄憳
+                                        "鏃犱换鍔″紓甯�"    // 澶囨敞
+                                );
+                                if (!basErrLogService.insert(basErrLog)) {
+                                    log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
+                                }
                             }
-                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
-                            String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
-                            BasErrLog basErrLog = new BasErrLog(
-                                    null,    // 缂栧彿
-                                    wrkMast.getWrkNo(),    // 宸ヤ綔鍙�
-                                    now,    // 鍙戠敓鏃堕棿
-                                    null,    // 缁撴潫鏃堕棿
-                                    wrkMast.getWrkSts(),    // 宸ヤ綔鐘舵��
-                                    wrkMast.getIoType(),    // 鍏ュ嚭搴撶被鍨�
-                                    crn.getId(),    // 鍫嗗灈鏈�
-                                    null,    // plc
-                                    wrkMast.getLocNo(),    // 鐩爣搴撲綅
-                                    wrkMast.getStaNo(),    // 鐩爣绔�
-                                    wrkMast.getSourceStaNo(),    // 婧愮珯
-                                    wrkMast.getSourceLocNo(),    // 婧愬簱浣�
-                                    wrkMast.getBarcode(),    // 鏉$爜
-                                    (int) crnProtocol.getAlarm(),    // 寮傚父鐮�
-                                    errName,    // 寮傚父
-                                    1,    // 寮傚父鎯呭喌
-                                    now,    // 娣诲姞鏃堕棿
-                                    null,    // 娣诲姞浜哄憳
-                                    now,    // 淇敼鏃堕棿
-                                    null,    // 淇敼浜哄憳
-                                    "浠诲姟涓紓甯�"    // 澶囨敞
-                            );
-                            if (!basErrLogService.insert(basErrLog)) {
-                                log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
-                            }
-                        }
-                    } else {
-                        // 寮傚父淇
-                        if (crnProtocol.getAlarm() == null || crnProtocol.getAlarm() == 0) {
-                            latest.setEndTime(now);
-                            latest.setUpdateTime(now);
-                            latest.setStatus(2);
-                            if (!basErrLogService.updateById(latest)) {
-                                log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
-                            }
-                        }
-                    }
-                    // 鏃犱换鍔�
-                } else {
-                    BasErrLog latest = basErrLogService.findLatest(crn.getId());
-                    // 鏈夊紓甯�
-                    if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
-                        // 璁板綍鏂板紓甯�
-                        if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
-                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
-                            String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
-                            BasErrLog basErrLog = new BasErrLog(
-                                    null,    // 缂栧彿
-                                    null,    // 宸ヤ綔鍙�
-                                    now,    // 鍙戠敓鏃堕棿
-                                    null,    // 缁撴潫鏃堕棿
-                                    null,    // 宸ヤ綔鐘舵��
-                                    null,    // 鍏ュ嚭搴撶被鍨�
-                                    crn.getId(),    // 鍫嗗灈鏈�
-                                    null,    // plc
-                                    null,    // 鐩爣搴撲綅
-                                    null,    // 鐩爣绔�
-                                    null,    // 婧愮珯
-                                    null,    // 婧愬簱浣�
-                                    null,    // 鏉$爜
-                                    (int) crnProtocol.getAlarm(),    // 寮傚父鐮�
-                                    errName,    // 寮傚父
-                                    1,    // 寮傚父鎯呭喌
-                                    now,    // 娣诲姞鏃堕棿
-                                    null,    // 娣诲姞浜哄憳
-                                    now,    // 淇敼鏃堕棿
-                                    null,    // 淇敼浜哄憳
-                                    "鏃犱换鍔″紓甯�"    // 澶囨敞
-                            );
-                            if (!basErrLogService.insert(basErrLog)) {
-                                log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
-                            }
-                        }
-                        // 鏃犲紓甯�
-                    } else {
-                        // 寮傚父淇
-                        if (latest != null && latest.getStatus() == 1) {
-                            latest.setEndTime(now);
-                            latest.setUpdateTime(now);
-                            latest.setStatus(2);
-                            if (!basErrLogService.updateById(latest)) {
-                                log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
+                            // 鏃犲紓甯�
+                        } else {
+                            // 寮傚父淇
+                            if (latest != null && latest.getStatus() == 1) {
+                                latest.setEndTime(now);
+                                latest.setUpdateTime(now);
+                                latest.setStatus(2);
+                                if (!basErrLogService.updateById(latest)) {
+                                    log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
+                                }
                             }
                         }
                     }
                 }
+            } catch (Exception e){
+                log.error("鍫嗗灈鏈哄紓甯镐俊鎭褰曞け璐� ===>> [id:{}] [error:{}]", crn.getId(), e.getMessage());
             }
+        }
+    }
 
+    /**
+     * 鍫嗗灈鏈哄紓甯镐俊鎭褰�
+     */
+    public void recDevErr() {
+        Date now = new Date();
+        for (DevpSlave devpSlave : slaveProperties.getDevp()) {
+            try{
+                // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpSlave.getId());
+                Map<Integer, StaProtocol> station = devpThread.getStation();
+                for (StaProtocol staProtocol : station.values()){
+                    try{
+                        if (staProtocol == null) {
+                            continue;
+                        }
+//                        if (staProtocol.isAutoing()) {
+//                            // 鏈変换鍔�
+//                            if (staProtocol.getWorkNo() != 0) {
+////                                BasErrLog latest = basPlcerrorLogService.se(crn.getId(), crnProtocol.getTaskNo().intValue());
+//                                // 鏈夊紓甯�
+//                                if (latest == null) {
+//                                    if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
+//                                        TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(crnProtocol.getTaskNo()));
+//                                        if (taskWrk == null) {
+//                                            continue;
+//                                        }
+//                                        BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm().intValue());
+//                                        String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
+//                                        BasErrLog basErrLog = new BasErrLog(
+//                                                null,    // 缂栧彿
+//                                                taskWrk.getWrkNo(),    // 宸ヤ綔鍙�
+//                                                now,    // 鍙戠敓鏃堕棿
+//                                                null,    // 缁撴潫鏃堕棿
+//                                                taskWrk.getWrkSts().longValue(),    // 宸ヤ綔鐘舵��
+//                                                taskWrk.getIoType(),    // 鍏ュ嚭搴撶被鍨�
+//                                                crn.getId(),    // 鍫嗗灈鏈�
+//                                                null,    // plc
+//                                                taskWrk.getTargetPoint(),    // 鐩爣搴撲綅
+//                                                0,    // 鐩爣绔�
+//                                                0,    // 婧愮珯
+//                                                taskWrk.getStartPoint(),    // 婧愬簱浣�
+//                                                taskWrk.getBarcode(),    // 鏉$爜
+//                                                (int) crnProtocol.getAlarm(),    // 寮傚父鐮�
+//                                                errName,    // 寮傚父
+//                                                1,    // 寮傚父鎯呭喌
+//                                                taskWrk.getCreateTime(),    // 浠诲姟鏃堕棿(鎺ユ敹鏃堕棿)
+//                                                null,    // 娣诲姞浜哄憳
+//                                                now,    // 淇敼鏃堕棿
+//                                                null,    // 淇敼浜哄憳
+//                                                "浠诲姟涓紓甯�"    // 澶囨敞
+//                                        );
+//                                        if (!basErrLogService.insert(basErrLog)) {
+//                                            log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
+//                                        }
+//                                    }
+//                                } else {
+//                                    // 寮傚父淇
+//                                    if (crnProtocol.getAlarm() == null || crnProtocol.getAlarm() == 0) {
+//                                        latest.setEndTime(now);
+//                                        latest.setUpdateTime(now);
+//                                        latest.setStatus(2);
+//                                        if (!basErrLogService.updateById(latest)) {
+//                                            log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
+//                                        }
+//                                    }
+//                                }
+//                                // 鏃犱换鍔�
+//                            } else {
+//                                BasErrLog latest = basErrLogService.findLatest(crn.getId());
+//                                // 鏈夊紓甯�
+//                                if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
+//                                    // 璁板綍鏂板紓甯�
+//                                    if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
+//                                        BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
+//                                        String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
+//                                        BasErrLog basErrLog = new BasErrLog(
+//                                                null,    // 缂栧彿
+//                                                null,    // 宸ヤ綔鍙�
+//                                                now,    // 鍙戠敓鏃堕棿
+//                                                null,    // 缁撴潫鏃堕棿
+//                                                null,    // 宸ヤ綔鐘舵��
+//                                                null,    // 鍏ュ嚭搴撶被鍨�
+//                                                crn.getId(),    // 鍫嗗灈鏈�
+//                                                null,    // plc
+//                                                null,    // 鐩爣搴撲綅
+//                                                null,    // 鐩爣绔�
+//                                                null,    // 婧愮珯
+//                                                null,    // 婧愬簱浣�
+//                                                null,    // 鏉$爜
+//                                                (int) crnProtocol.getAlarm(),    // 寮傚父鐮�
+//                                                errName,    // 寮傚父
+//                                                1,    // 寮傚父鎯呭喌
+//                                                now,    // 娣诲姞鏃堕棿
+//                                                null,    // 娣诲姞浜哄憳
+//                                                now,    // 淇敼鏃堕棿
+//                                                null,    // 淇敼浜哄憳
+//                                                "鏃犱换鍔″紓甯�"    // 澶囨敞
+//                                        );
+//                                        if (!basErrLogService.insert(basErrLog)) {
+//                                            log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
+//                                        }
+//                                    }
+//                                    // 鏃犲紓甯�
+//                                } else {
+//                                    // 寮傚父淇
+//                                    if (latest != null && latest.getStatus() == 1) {
+//                                        latest.setEndTime(now);
+//                                        latest.setUpdateTime(now);
+//                                        latest.setStatus(2);
+//                                        if (!basErrLogService.updateById(latest)) {
+//                                            log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
+//                                        }
+//                                    }
+//                                }
+//                            }
+//                        }
+                    } catch (Exception devErr){
+                        log.error("杈撻�佺嚎绔欑偣寮傚父淇℃伅璁板綍澶辫触 ===>> [id:{}] [error:{}]", staProtocol.getStaNo(), devErr.getMessage());
+                    }
+                }
+            } catch (Exception e){
+                log.error("杈撻�佺嚎寮傚父淇℃伅璁板綍澶辫触 ===>> [id:{}] [error:{}]", devpSlave.getId(), e.getMessage());
+            }
         }
     }
 
@@ -1636,12 +1855,15 @@
             if (taskWrk != null) {
                 Integer stano = staProtocol.getStaNo();
                 if (staProtocol.getSiteId() == 1004 || staProtocol.getSiteId()==1020){
-
+                    // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
+                    if (!staProtocol.isLoading()) {
+                        return null;
+                    }
                     // 灏哄妫�娴嬪紓甯�
                     boolean back = false;
                     String errMsg = "-";
                     if (staProtocol.getGrossWt()>=600){
-                        errMsg = "瓒呴噸";
+                        errMsg = "瓒呴噸锛�"+staProtocol.getGrossWt()+"kg";
                         back = true;
                     }
                     if (staProtocol.isFrontErr()) {
@@ -1664,10 +1886,10 @@
                         errMsg = "鍙宠秴闄�";
                         back = true;
                     }
-                    if (!back && staProtocol.isWeightErr()) {
-                        errMsg = "瓒呴噸";
-                        back = true;
-                    }
+//                    if (!back && staProtocol.isWeightErr()) {
+//                        errMsg = "瓒呴噸";
+//                        back = true;
+//                    }
                     if (!back && staProtocol.isBarcodeErr()) {
                         errMsg = "鎵爜澶辫触";
                         back = true;
@@ -1717,6 +1939,52 @@
         }
         return null;
     }
+    public boolean deviceDetection(RgvSlave.RgvStn inSta,Integer rgvNo) {
+        ArrayList<Integer> arrayList = new ArrayList<Integer>() {{
+            add(1009);
+            add(1011);
+            add(1012);
+            add(1014);
+            add(1016);
+        }};
+        try{
+
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, inSta.getDevpPlcId());
+            ArrayList<Integer> listW = new ArrayList<Integer>();
+            ArrayList<Integer> listL = new ArrayList<Integer>();
+            for (Integer staNo : arrayList){
+                StaProtocol staProtocol = devpThread.getStation().get(staNo);
+                if (staProtocol == null) {
+                    RgvErrCache.updateRgvErr(rgvNo,staNo+"绔欑偣鏁版嵁涓㈠け");
+                    return false;
+                }
+                // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
+                if (staProtocol.getWorkNo() != 0) {
+                    if (!listW.contains(staProtocol.getWorkNo())) {
+                        listW.add(staProtocol.getWorkNo());
+                    }
+                }
+                // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
+                if (staProtocol.isLoading()) {
+                    if (!listL.contains(staProtocol.getStaNo())) {
+                        listL.add(staProtocol.getStaNo());
+                    }
+                }
+            }
+            if (listW.size()>=3){
+                RgvErrCache.updateRgvErr(rgvNo,"绛夊緟1012鎷i�夛紝闃叉鍫靛");
+                return false;
+            }
+            if (listL.size()>=3){
+                RgvErrCache.updateRgvErr(rgvNo,"绛夊緟1012鎷i�夛紝闃叉鍫靛");
+                return false;
+            }
+        } catch (Exception e){
+            RgvErrCache.updateRgvErr(rgvNo,"1012妫�娴嬪紓甯革細"+e.getMessage());
+            return false;
+        }
+        return true;
+    }
 
     public boolean rgvOtherStatusEnable(RgvSlave slave) {
         RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId());
@@ -1740,6 +2008,11 @@
                     boolean itSmall = new TrackRangeUtils().IsItSmall(rgvSlave);
                     if (basDevpPositions.isEmpty()) {
                         log.error("鑾峰彇鎵�鏈夌珯鐐逛俊鎭紓甯�");
+                        try{
+                            DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+                            deviceErrorService.addDeviceError("rgvErr", rgvSlave.getId(), "鎸囦护鐢熸垚锛氳幏鍙栨墍鏈夌珯鐐逛俊鎭紓甯�");
+                        } catch (Exception e2){
+                        }
                         continue;
                     }
                     List<TaskWrk> taskWrkList = new ArrayList<>();
@@ -1779,6 +2052,7 @@
                             if (rgvOtherIDLEOther(rgvSlave)){
                                 if (!rgvOtherIDLE(rgvSlave,staList.get(0))){
                                     System.out.println("绌洪棽灏辫繎璺宠繃==="+rgvSlave.getId()+"===");
+                                    RgvErrCache.updateRgvErr(rgvSlave.getId(),staList.get(0)+"绌洪棽灏辫繎璺宠繃");
 
                                     sign=true;
                                 }
@@ -1859,6 +2133,8 @@
                             if (rgvOtherIDLEOther2(rgvSlave)){
                                 if (!rgvOtherIDLE2(rgvSlave,staList.get(0))){
                                     System.out.println("杩愯灏辫繎璺宠繃==="+rgvSlave.getId()+"===");
+                                    RgvErrCache.updateRgvErr(rgvSlave.getId(),staList.get(0)+"杩愯灏辫繎璺宠繃");
+
                                     sign=true;
                                 }
                             }
@@ -2021,6 +2297,8 @@
                             }
 
                         }
+                        RgvErrCache.updateRgvErr(rgvSlave.getId(),"鏈煡璇㈠埌鍙墽琛屼换鍔�");
+
                     } else {
                         //鍙敤鍖哄煙灏辫繎鍙栬揣
                         //灏辫繎鎺掑簭
@@ -2051,6 +2329,11 @@
                 }
             } catch (Exception e) {
                 log.error("浠诲姟鐢熸垚澶辫触===銆嬪紓甯镐俊鎭細{}", e.getMessage());
+                try{
+                    DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+                    deviceErrorService.addDeviceError("rgvErr", rgvSlave.getId(), "鎸囦护鐢熸垚澶辫触");
+                } catch (Exception e2){
+                }
             }
         }
     }
@@ -2107,6 +2390,11 @@
                 if (targetPointConvert == null) {
                     return false;
                 }
+                if (targetPointConvert == 1009){
+                    if (!deviceDetection(rgvStn, rgvSlave.getId())){
+                        return false;
+                    }
+                }
 
                 BasDevpPosition basDevpPositionSou = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStn.getStaNo()));
                 BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", targetPointConvert));
@@ -2143,6 +2431,13 @@
                 }
             } catch (Exception e) {
                 log.error("浠诲姟鐢熸垚澶辫触issued1===銆嬪紓甯镐俊鎭細{}", e.getMessage());
+                RgvErrCache.updateRgvErr(rgvSlave.getId(),rgvStn.getStaNo()+"绔欑偣浠诲姟鐢熸垚澶辫触issued1");
+
+                try{
+                    DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+                    deviceErrorService.addDeviceError("rgvErr", rgvSlave.getId(), "浠诲姟鐢熸垚澶辫触issued1");
+                } catch (Exception e2){
+                }
                 return false;
             }
 
@@ -2160,6 +2455,13 @@
             }
         } catch (Exception e) {
             log.error("浠诲姟鐢熸垚澶辫触issued2===銆嬪紓甯镐俊鎭細{}", e.getMessage());
+            RgvErrCache.updateRgvErr(rgvSlave.getId(),rgvStn.getStaNo()+"绔欑偣浠诲姟鐢熸垚澶辫触issued2");
+
+            try{
+                DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+                deviceErrorService.addDeviceError("rgvErr", rgvSlave.getId(), "绔欑偣浠诲姟鐢熸垚澶辫触issued2");
+            } catch (Exception e2){
+            }
         }
         return true;
     }
@@ -2175,7 +2477,7 @@
             // 鍛戒护闆嗗悎
             List<LedCommand> commands = new ArrayList<>();
             // 宸ヤ綔妗i泦鍚�
-            List<WrkMast> wrkMasts = new ArrayList<>();
+            List<TaskWrk> taskWrks = new ArrayList<>();
             for (Integer staNo : led.getStaArr()) {
                 // 鑾峰彇鍙夎溅绔欑偣
                 StaProtocol staProtocol = devpThread.getStation().get(staNo);
@@ -2199,7 +2501,7 @@
                 ledCommand.getMatDtos().add(matDto);
                 commands.add(ledCommand);
             }
-            Set<Integer> workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet());
+            Set<Integer> workNos = taskWrks.stream().map(TaskWrk::getWrkNo).collect(Collectors.toSet());
             // 鑾峰彇LED绾跨▼
             LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
             // 鐩稿悓宸ヤ綔鍙烽泦鍚堝垯杩囨护
@@ -2218,10 +2520,10 @@
 
             try {
                 // 淇敼涓绘。led鏍囪
-                for (WrkMast wrkMast : wrkMasts) {
-                    wrkMast.setOveMk("Y");
-                    wrkMast.setModiTime(new Date());
-                    if (wrkMastMapper.updateById(wrkMast) == 0) {
+                for (TaskWrk taskWrk : taskWrks) {
+//                    taskWrk.setOveMk("Y");
+                    taskWrk.setModiTime(new Date());
+                    if (taskWrkMapper.updateById(taskWrk) == 0) {
 //                        News.errorNoLog(""+mark+" - 4"+" - 鏇存柊宸ヤ綔妗eけ璐�");
                         throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
                     }

--
Gitblit v1.9.1