From 716f7e3dec477b1dffe2ff33182116f558be60b0 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期三, 01 一月 2025 15:22:24 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   89 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 73 insertions(+), 16 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 56fd550..b874b5a 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;
@@ -2273,7 +2270,7 @@
                     staProtocolOther1 = staProtocolOther1.clone();
                 }
 
-                if (staProtocolOther1.isAutoing() || staProtocolOther1.getWorkNo()!=0){
+                if (staProtocolOther1.isLoading() || !staProtocolOther1.getWorkNo().equals(0)){
                     return;
                 }
 
@@ -2284,7 +2281,7 @@
                 } else {
                     staProtocolOther2 = staProtocolOther2.clone();
                 }
-                if (staProtocolOther2.isAutoing() || staProtocolOther2.getWorkNo()!=0){
+                if (staProtocolOther2.isLoading() || !staProtocolOther2.getWorkNo().equals(0)){
                     return;
                 }
             }
@@ -3098,18 +3095,26 @@
                 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;
                 }
-//                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L));
-//                if (wrkCount>=12){
-//                    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 wrkCountGt = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",11L));
+                if (wrkCountGt > 2){
+                    continue;
+                }
 //                RgvOneSign bigTurn = rgvOneSignMapper.selectOneSign("bigTurn");
 //                if (Cools.isEmpty(bigTurn)){
 //                    continue;
@@ -3266,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 {
@@ -3347,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);
+            }
+        }
     }
 
     /**
@@ -4022,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)) {
@@ -5132,7 +5158,7 @@
                             if (jarMaxLoc == 0 || basJarOther.getJarCount() == 0) {
                                 break;
                             }
-                            int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 6));
+                            int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 5));
                             if (count>0){
                                 break;
                             }
@@ -5941,9 +5967,9 @@
                 if (!basJarMastListOther.isEmpty() && basJarMastListOther.size() < basJarOther.getJarCount()){
                     return false;
                 }
-                if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){
-                    return false;
-                }
+//                if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){
+//                    return false;
+//                }
 
 //                //涓存椂
 //                if (basJar.getJarCode()==1){
@@ -8064,6 +8090,30 @@
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                     continue;
                 }
+                if (jarProtocol.getJarErr()==0 && (jarProtocol.getStatusType().equals(JarStatusType.WAITING1) || jarProtocol.getStatusType().equals(JarStatusType.MOVING))
+                        && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
+                        && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0
+                ){
+                    List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+                        add(6);//纭寲瀹屾垚
+                    }});
+                    if (!basJarMastList.isEmpty()){
+                        WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
+                        wrkMastExecuteSou.setWrkSts(3);
+                        List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
+                        for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+                            if (wrkMastExecute.getIoType() == 3){
+                                wrkMastExecute.setWrkSts(4);
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+                                    log.error("纭寲缃怞ar鍛戒护淇敼澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                            wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                                    return false;
+                                }
+                                return true;
+                            }
+                        }
+                    }
+                }
                 //WAITING2(4, "纭寲瀹屾垚"),
                 if (jarProtocol.getJarErr()==0 && jarProtocol.getStatusType().equals(JarStatusType.WAITING2)
                         && !jarProtocol.isRightDoor() && !jarProtocol.isLeftDoor()
@@ -8420,6 +8470,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