From d2c0bccd2e6dde4cf2a614a67bbf0ed45e2bcbaf Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期五, 29 十一月 2024 13:59:22 +0800
Subject: [PATCH] # 213

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   71 +++++++++++++++++++++++++----------
 1 files changed, 51 insertions(+), 20 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 0bd70a4..486d852 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,6 +7,7 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.enums.LedErrorAreaType;
 import com.zy.asrs.domain.enums.WorkNoType;
@@ -57,13 +58,9 @@
 public class MainServiceImpl {
 
     public static final long COMMAND_TIMEOUT = 5 * 1000;
-//    private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
     private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
 
-//    private static final Integer jarMaxLoc1 = 7;
     private static  Integer jarMaxLoc = 0;
-//    private static  Integer signBigTurn = 0;
-//    private static  Integer signSmallTurn = 0;
     private static final Float jarTemperature = 50F;
     @Autowired
     private CommonService commonService;
@@ -236,6 +233,7 @@
                         devpThread.setPakMk(staProtocol.getSiteId(), false,238);
                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                         if (!result) {
+                            LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                             throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                         }
                         return;
@@ -281,6 +279,7 @@
                             devpThread.setPakMk(staProtocol.getSiteId(), false,283);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             if (!result) {
+                                LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                         } else {
@@ -408,6 +407,7 @@
                         devpThread.setPakMk(staProtocol.getSiteId(), false,422);
                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                         if (!result) {
+                            LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                             throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                         }
                         return;
@@ -453,6 +453,7 @@
                             devpThread.setPakMk(staProtocol.getSiteId(), false,467);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             if (!result) {
+                                LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                         } else  if (jsonObject.getInteger("code").equals(700)){
@@ -615,12 +616,7 @@
                         devpThread.setPakMk(staProtocol1.getSiteId(), false,637);
                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
                         if (!result) {
-                            if (ledThread != null) {
-                                ErrMsg errMsg1 = new ErrMsg();
-                                errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo());
-                                errMsg1.setArea("1");
-                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
-                            }
+                            LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                             throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                         }
                         return;
@@ -822,12 +818,7 @@
                         log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol1.getSiteId(),staProtocol1.getWorkNo(),barcode);
                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
                         if (!result) {
-                            if (ledThread != null) {
-                                ErrMsg errMsg1 = new ErrMsg();
-                                errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo());
-                                errMsg1.setArea("1");
-                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
-                            }
+                            LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                             throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                         }
                         return;
@@ -872,6 +863,7 @@
                             log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol1.getStaNo(),staProtocol1.getWorkNo(),barcode);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
                             if (!result) {
+                                LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                             try{
@@ -2278,7 +2270,7 @@
                     staProtocolOther1 = staProtocolOther1.clone();
                 }
 
-                if (staProtocolOther1.isAutoing() || staProtocolOther1.getWorkNo()!=0){
+                if (staProtocolOther1.isLoading() || !staProtocolOther1.getWorkNo().equals(0)){
                     return;
                 }
 
@@ -2289,7 +2281,7 @@
                 } else {
                     staProtocolOther2 = staProtocolOther2.clone();
                 }
-                if (staProtocolOther2.isAutoing() || staProtocolOther2.getWorkNo()!=0){
+                if (staProtocolOther2.isLoading() || !staProtocolOther2.getWorkNo().equals(0)){
                     return;
                 }
             }
@@ -3103,12 +3095,20 @@
                 continue;
             }
 
+            Integer turnBigInt = 0;
             if (wrkMast.booleanStaNoSign()){
                 RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("LineUp"+wrkMast.getStaNo());
                 if (Cools.isEmpty(rgvOneSign)){
                     continue;
                 }
-                if (rgvOneSign.getRgvOneSign()>=2){
+                RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig"+wrkMast.getStaNo());
+                if (Cools.isEmpty(trunBig)){
+                    continue;
+                }
+                turnBigInt = trunBig.getRgvOneSign();
+                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L));
+
+                if (trunBig.getRgvOneSign()+wrkCount+rgvOneSign.getRgvOneSign()>2){
                     continue;
                 }
 //                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L));
@@ -3271,6 +3271,9 @@
                     crnCommand.setDestinationPosX((short)0);     // 鐩爣搴撲綅鎺�
                     crnCommand.setDestinationPosY((short)0);     // 鐩爣搴撲綅鍒�
                     crnCommand.setDestinationPosZ((short)0);     // 鐩爣搴撲綅灞�
+                    if (wrkMast.booleanStaNoSign()){
+                        updateRgvOneSign("TrunBig"+wrkMast.getStaNo(),turnBigInt+1);
+                    }
                     if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
                         log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
                     } else {
@@ -3352,6 +3355,24 @@
 //            signBigTurn = 0;
 //        }
 
+    }
+
+    public void updateRgvOneSign(String signType,Integer oneSign){
+        RgvOneSignMapper rgvOneSignMapper = SpringUtils.getBean(RgvOneSignMapper.class);
+
+        try{
+            RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
+            if (!Cools.isEmpty(rgvOneSign)){
+                rgvOneSign.setRgvOneSign(oneSign);
+                rgvOneSignMapper.updateById(rgvOneSign);
+            }
+        } catch (Exception e){
+            RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
+            if (!Cools.isEmpty(rgvOneSign)){
+                rgvOneSign.setRgvOneSign(999);
+                rgvOneSignMapper.updateById(rgvOneSign);
+            }
+        }
     }
 
     /**
@@ -4027,7 +4048,7 @@
                 } else {
                     staProtocol = staProtocol.clone();
                 }
-                if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==0 && staProtocol.getWorkNo()==0
+                if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==0 && staProtocol.getWorkNo().equals(0)
                         && staProtocol.isLoading() && staProtocol.isAutoing() && staProtocol.isInEnable()){
                     String barcode = staProtocol.getBarcode();
                     if (!Cools.isEmpty(barcode)) {
@@ -4109,6 +4130,7 @@
                             devpThread.setPakMk(staProtocol.getSiteId(), false,4087);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             if (!result) {
+                                LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                         } else {
@@ -4172,6 +4194,7 @@
                             devpThread.setPakMk(staProtocol.getSiteId(), false,4150);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             if (!result) {
+                                LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                         } else {
@@ -4235,6 +4258,7 @@
                             devpThread.setPakMk(staProtocol.getSiteId(), false,4213);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             if (!result) {
+                                LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                         } else {
@@ -8422,6 +8446,13 @@
     /**
      *  ste鍏呯數浠诲姟鍒涘缓   //瀹屾垚
      */
+    public synchronized void signTrunBig() {
+        updateRgvOneSign("TrunSma126",0);
+        updateRgvOneSign("TrunSma131",0);
+        updateRgvOneSign("TrunBig310",0);
+        updateRgvOneSign("TrunBig312",0);
+    }
+
     public synchronized boolean jarChargeGenerate() {
         try{
             //80%鐢甸噺 鏃犱换鍔�  鍏呯數  >50鐢甸噺  鏈変换鍔�  鏂數

--
Gitblit v1.9.1