From d635a99e20e207b40b16b8536c02a0b74df63c61 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期一, 23 三月 2026 14:19:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   95 +++++++++++++++++++++++------------------------
 1 files changed, 46 insertions(+), 49 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 5195001..d07afd0 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -180,52 +180,44 @@
             // 2. 淇濆瓨WrkMast
             WrkMast wrkMast = new WrkMast();
             int workNo = getWorkNo(0);
-            if(param.getIoType() == 2 || param.getIoType() == 12){
-                wrkMast.setWrkNo(workNo);
-                wrkMast.setUserNo(param.getTaskNo());
-                wrkMast.setIoType(param.getIoType() != 2?10:1);
-                wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
-                wrkMast.setBarcode(param.getBarcode());
-                wrkMast.setMemo(param.getMemo());
-                wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
-                wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
-                wrkMast.setLocNo(param.getTargetLocNo());
-                wrkMast.setSourceLocNo(param.getSourceLocNo());
-            }else if(param.getIoType() == 22 || param.getIoType() == 32){
-                wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode()));
-                wrkMast.setWrkSts(param.getIoType() != 32 ? 53L: 57L);
-                wrkMast.setWrkNo(workNo);
-                wrkMast.setUserNo(param.getTaskNo());
-                wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
-                wrkMast.setBarcode(param.getBarcode());
-                wrkMast.setMemo(param.getMemo());
-                wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
-                wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
-                wrkMast.setLocNo(param.getTargetLocNo());
-                wrkMast.setSourceLocNo(param.getSourceLocNo());
-            }else if(param.getIoType() == 3){
-                wrkMast.setWrkNo(workNo);
-                wrkMast.setUserNo(param.getTaskNo());
+
+            Integer sourceStaNo = (param.getStartPoint() == null || param.getStartPoint().isEmpty())
+                    ? null : Integer.valueOf(param.getStartPoint());
+
+            Integer targetStaNo = (param.getTargetPoint() == null || param.getTargetPoint().isEmpty())
+                    ? null : Integer.valueOf(param.getTargetPoint());
+
+            if (param.getIoType() == 2 || param.getIoType() == 12) {
+
+                wrkMast.setIoType(param.getIoType() != 2 ? 10 : 1);
+
+            } else if (param.getIoType() == 22 || param.getIoType() == 32) {
+
+                wrkMast = wrkMastService.selectOne(
+                        new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())
+                );
+
+                wrkMast.setWrkSts(param.getIoType() != 32 ? 53L : 57L);
+
+            } else if (param.getIoType() == 3) {
+                wrkMast.setEmptyMk("N");
                 wrkMast.setIoType(11);
-                wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 12.0);
-                wrkMast.setBarcode(param.getBarcode());
-                wrkMast.setMemo(param.getMemo());
-                wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
-                wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
-                wrkMast.setLocNo(param.getTargetLocNo());
-                wrkMast.setSourceLocNo(param.getSourceLocNo());
-            }else{
-                wrkMast.setWrkNo(workNo);
-                wrkMast.setUserNo(param.getTaskNo());
+
+            } else {
+
                 wrkMast.setIoType(ioType);
-                wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
-                wrkMast.setBarcode(param.getBarcode());
-                wrkMast.setMemo(param.getMemo());
-                wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
-                wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
-                wrkMast.setLocNo(param.getTargetLocNo());
-                wrkMast.setSourceLocNo(param.getSourceLocNo());
             }
+
+            /* 鍏叡瀛楁 */
+            wrkMast.setWrkNo(workNo);
+            wrkMast.setUserNo(param.getTaskNo());
+            wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
+            wrkMast.setBarcode(param.getBarcode());
+            wrkMast.setMemo(param.getMemo());
+            wrkMast.setSourceStaNo(sourceStaNo);
+            wrkMast.setStaNo(targetStaNo);
+            wrkMast.setLocNo(param.getTargetLocNo());
+            wrkMast.setSourceLocNo(param.getSourceLocNo());
 
             if(Inbound){
                 wrkMast.setWrkSts(2L);
@@ -268,7 +260,7 @@
             }
 
             // 3. 淇濆瓨WrkDetl
-            if (param.getDetlList() != null && !param.getDetlList().isEmpty()) {
+            if (param.getDetlList() != null && !param.getDetlList().isEmpty() && param.getIoType()!=3) {
                 for (TaskCreateParam.Detl detl : param.getDetlList()) {
                     WrkDetl wrkDetl = new WrkDetl();
                     wrkDetl.setWrkNo(wrkMast.getWrkNo());
@@ -342,17 +334,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