From fe94feb60561eb7571fe781de975b12288925a15 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期二, 03 三月 2026 16:55:25 +0800
Subject: [PATCH] #26-03-10-00

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   38 +++++++++++++++++++++++++++++---------
 1 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index e2922d6..cec7994 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.WrkDetl;
 import com.zy.asrs.entity.WrkLastno;
 import com.zy.asrs.entity.WrkMast;
@@ -56,7 +57,8 @@
     
     @Autowired
     private WrkDetlService wrkDetlService;
-    
+    @Autowired
+    private LocMastService locMastService;
     @Autowired
     private SlaveProperties slaveProperties;
 
@@ -231,10 +233,10 @@
                 wrkMast.setWrkSts(11L);
             }
             String locNo = null;
-            if(param.getSourceLocNo() != null){
+            if (param.getSourceLocNo() != null && !param.getSourceLocNo().isEmpty()) {
                 locNo = param.getSourceLocNo();
             }
-            if(param.getTargetLocNo() !=null){
+            if (param.getTargetLocNo() != null && !param.getTargetLocNo().isEmpty()) {
                 locNo = param.getTargetLocNo();
             }
 // 鍙栧墠涓や綅
@@ -255,6 +257,7 @@
             }
 
             wrkMast.setCrnNo(crnNo);
+            wrkMast.setIoTime(new Date());
             wrkMast.setModiTime(new Date());
             wrkMast.setAppeTime(new Date());
             wrkMast.setWrkDate(new Date());
@@ -278,7 +281,19 @@
                     wrkDetlService.insert(wrkDetl);
                 }
             }
-            
+            if(param.getIoType() == 2 || param.getIoType() == 12){
+                locMastService.updateLocMast(param.getTargetLocNo(),"S");
+            }else if(param.getIoType() == 3){
+                locMastService.updateLocMast(param.getSourceLocNo(),"R");
+                locMastService.updateLocMast(param.getTargetLocNo(),"S");
+            }else if(param.getIoType() == 22 || param.getIoType() == 32){
+                locMastService.updateLocMast(param.getTargetLocNo(),"Q");
+            }else if(param.getIoType() == 1 || param.getIoType() == 11){
+                locMastService.updateLocMast(param.getSourceLocNo(),"R" );
+            }else{
+                locMastService.updateLocMast(param.getSourceLocNo(),"P" );
+            }
+
             // 4. 涓嬪彂缁橮LC
             if(Inbound){
                 writeToPlc(wrkMast);
@@ -327,17 +342,22 @@
              if (devpThread == null) continue;
              
              // 妫�鏌ヨPLC鏄惁绠$悊璇ョ珯鐐�
-             if (devpThread.getStation().containsKey(sourceStaNo.shortValue())) {
-                 StaProtocol staProtocol = devpThread.getStation().get(sourceStaNo.shortValue());
-                 if (staProtocol != null && staProtocol.getWorkNo() == 9998) {
+             if (devpThread.getStation().containsKey(sourceStaNo)) {
+                 StaProtocol staProtocol = devpThread.getStation().get(sourceStaNo);
+                 if (staProtocol == null) {
+                     continue;
+                 } else {
+                     staProtocol = staProtocol.clone();
+                 }
+                 if (staProtocol != null && staProtocol.getWorkNo() == 9999) {
 
                      staProtocol.setWorkNo(wrkMast.getWrkNo());
                      if (wrkMast.getStaNo() != null) {
-                        staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                        staProtocol.setStaNo((short)(wrkMast.getSourceStaNo()- 1));
                      }
                      
                      // 涓嬪彂PLC鎸囦护
-                     devpThread.setPakMk(staProtocol.getSiteId(), false, 283);
+                     devpThread.setPakMk(staProtocol.getSiteId(), false, 9999);
                      boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                      
                      if (result) {

--
Gitblit v1.9.1