From 352b3946e1afb9a27c96f58bb138e2ba5a010ec0 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 21 六月 2024 19:52:07 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 38 insertions(+), 12 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 cc21f70..eb15ae1 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -109,6 +109,8 @@
     private WrkMastSplitTwinService wrkMastSplitTwinService;
     @Autowired
     private BasJarMastService basJarMastService;
+    @Autowired
+    private WrkMastExecuteService wrkMastExecuteService;
 
     @Value("${wms.url}")
     private String wmsUrl;
@@ -4411,18 +4413,42 @@
      */
     public synchronized void jarGenerateWrkMastSta() {
         for (JarSlave jarSlave : slaveProperties.getJar()) {
-            try{
-                Integer count = basJarMastService.getJarMastByJarIdCount(jarSlave.getId().longValue());
-                if (count>=7){
+            for(JarSlave.StaStn staStn : jarSlave.getJarInSta()){
+                // 鑾峰彇纭寲缃愬叆搴撶珯淇℃伅
+                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, staStn.getDevpPlcId());
+                StaProtocol staProtocol = devpThread.getStation().get(staStn.getStaNo());
+                if (staProtocol == null) {
                     continue;
+                } else {
+                    staProtocol = staProtocol.clone();
                 }
-                BasJarMast jarMastByJarIdMax = basJarMastService.getJarMastByJarIdMax(jarSlave.getId().longValue());
-                if (!Cools.isEmpty(jarMastByJarIdMax) && jarMastByJarIdMax.getJarLocDigit()==7){
-                    continue;
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo()!=0){
+                    try{
+                        if (basJarMastService.selectJarMastOperation(jarSlave.getId(),1)!=0){
+                            break;
+                        }
+                        if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
+                            break;
+                        }
+                        if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=7){
+                            continue;
+                        }
+                        BasJarMast jarMastByJarIdMax = basJarMastService.getJarMastByJarIdMax(jarSlave.getId());
+                        if (!Cools.isEmpty(jarMastByJarIdMax) && jarMastByJarIdMax.getJarLocDigit()==7){
+                            continue;
+                        }
+                        WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
+                        if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=2){
+                            continue;
+                        }
+                        if (jarGenerateWrkMastStaExecute(jarSlave,wrkMast)){
+                            return;
+                        };
+                    }catch (Exception e){
+                        log.error(jarSlave.getId()+"鍙峰皬杞﹀浣嶇嚎绋嬫姤閿欙紒"+e);
+                    }
+                    break;
                 }
-                jarGenerateWrkMastStaExecute(jarSlave);
-            }catch (Exception e){
-                log.error(jarSlave.getId()+"鍙峰皬杞﹀浣嶇嚎绋嬫姤閿欙紒"+e);
             }
         }
     }
@@ -4430,7 +4456,7 @@
     /**
      *  Jar浠诲姟鍒涘缓  鎵ц
      */
-    public synchronized boolean jarGenerateWrkMastStaExecute(JarSlave jarSlave) {
+    public synchronized boolean jarGenerateWrkMastStaExecute(JarSlave jarSlave,WrkMast wrkMast) {
         try{
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
             JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
@@ -4451,8 +4477,8 @@
                 return false;
             }
 
-            //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��
-            if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.jarErr==0){
+            //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
+            if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && !jarOtherProtocol.isLeftDoor()){
 
             }
 

--
Gitblit v1.9.1