From f18dee1034da10cdd537f4cef94a6bcbe141c6a8 Mon Sep 17 00:00:00 2001
From: Administrator <pjb>
Date: 星期四, 05 六月 2025 18:13:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/glccwcs' into glccwcs

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |    3 +
 src/main/java/com/zy/asrs/entity/TaskWrk.java               |    4 +
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   95 ++++++++++++++++---------------
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   27 +++++---
 src/main/java/com/zy/asrs/entity/TaskWrkLog.java            |    4 +
 5 files changed, 77 insertions(+), 56 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index e7d2ebb..ced303e 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -177,6 +177,10 @@
     @TableField("mark_start")
     private Integer markStart;
 
+    @TableField("type")
+    private String type;
+
+
     public TaskWrk() {
     }
 
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
index 5aabe2f..29e06e5 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
@@ -167,6 +167,10 @@
     @TableField("transfer_mark")
     private Integer transferMark;
 
+
+    @TableField("type")
+    private String type;
+
     public TaskWrkLog() {
     }
 
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 fd462e2..b9824bf 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -164,7 +164,7 @@
                         }
                         String BoxNo = barcodeThread.getBarcode();
                         if (Cools.isEmpty(BoxNo)) {
-                            log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}",inSta.getBarcode(),BoxNo);
+                            log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}", inSta.getBarcode(), BoxNo);
                             continue;
                         }
                         TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo));
@@ -181,7 +181,7 @@
                         log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
                         TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam);
                         if (taskWrk == null) {
-                            log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}",storageEscalationParam);
+                            log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}", storageEscalationParam);
                             continue;
                         }
                         if (back) {
@@ -193,13 +193,13 @@
                             StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
                                     .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
                             if (staDesc == null) {
-                                log.error("缁勬墭鍏ュ簱璺緞涓嶅瓨鍦紝wrkNo={},crn={},stn_no={}",taskWrk.getWrkNo(),taskWrk.getCrnNo(),staProtocol.getSiteId());
+                                log.error("缁勬墭鍏ュ簱璺緞涓嶅瓨鍦紝wrkNo={},crn={},stn_no={}", taskWrk.getWrkNo(), taskWrk.getCrnNo(), staProtocol.getSiteId());
                                 continue;
                             }
                             staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
                             staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            log.info("缁勬墭鍏ュ簱鍛戒护鎺ㄩ�佽緭閫佺嚎闃熷垪鎴愬姛:{}",staProtocol);
+                            log.info("缁勬墭鍏ュ簱鍛戒护鎺ㄩ�佽緭閫佺嚎闃熷垪鎴愬姛:{}", staProtocol);
                         }
 
                     }
@@ -219,46 +219,49 @@
         for (CrnSlave crnSlave : slaveProperties.getCrn()) {
             // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
             for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
-                    try {
-                        // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
-                        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
-                        StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
-                        if (staProtocol == null) {
-                            continue;
-                        } else {
-                            staProtocol = staProtocol.clone();
-                        }
-                        if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
-                            // 鏌ヨ宸ヤ綔妗�
-                            TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo()-1));
-                            if (taskWrk == null) {
-                                continue;
-                            }
-                                log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
-                                staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
-                                staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
-                                boolean offer = false;
-                                try {
-                                    offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
-                                } catch (Exception e) {
-                                    log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
-                                    log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
-                                }
-                                if (offer) {
-                                    log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
-                                    taskWrk.setStatus(5);
-                                    taskWrk.setWrkSts(14);
-                                    taskWrk.setCompleteTime(new Date());
-                                    taskWrkService.updateById(taskWrk);
-
-                                } else {
-                                    log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
-                                }
-//                            }
-                        }
-                    } catch (Exception e) {
-                        log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+                try {
+                    // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+                    DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+                    StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+                    if (staProtocol == null) {
+                        continue;
+                    } else {
+                        staProtocol = staProtocol.clone();
                     }
+                    if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
+                        // 鏌ヨ宸ヤ綔妗�
+                        TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo() - 1));
+                        if (taskWrk == null) {
+                            continue;
+                        }
+                        log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
+                        staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+                        staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
+                        if (!Cools.isEmpty(taskWrk.getType())) {
+                            staProtocol.setHeight(taskWrk.getType());
+                        }
+                        boolean offer = false;
+                        try {
+                            offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+                        } catch (Exception e) {
+                            log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
+                            log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
+                        }
+                        if (offer) {
+                            log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
+                            taskWrk.setStatus(5);
+                            taskWrk.setWrkSts(14);
+                            taskWrk.setCompleteTime(new Date());
+                            taskWrkService.updateById(taskWrk);
+
+                        } else {
+                            log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
+                        }
+//                            }
+                    }
+                } catch (Exception e) {
+                    log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+                }
 //                }
 
             }
@@ -349,8 +352,8 @@
                 }
 
                 LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
-                if(!locMast.getLocSts().equals("O") && taskWrk.getWrkSts() == 2) {
-                    log.error("鍏ュ簱WMS鍒嗛厤搴撲綅{}鏈夎锛屽簱浣嶇姸鎬佷负{}",locMast.getLocNo(),locMast.getLocSts());
+                if (!locMast.getLocSts().equals("O") && taskWrk.getWrkSts() == 2) {
+                    log.error("鍏ュ簱WMS鍒嗛厤搴撲綅{}鏈夎锛屽簱浣嶇姸鎬佷负{}", locMast.getLocNo(), locMast.getLocSts());
                     taskWrk.setWrkSts(5);
                     taskWrk.setMemo("WMS鍒嗛厤搴撲綅鏈夎");
                     taskWrkService.updateById(taskWrk);
@@ -449,7 +452,7 @@
                             log.info(locMast.getLocNo() + "鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣");
                             continue;
                         }
-                    } else if (flag == 2){
+                    } else if (flag == 2) {
                         LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>()
                                 .eq("row1", (locMast.getRow1() - 1))
                                 .eq("bay1", locMast.getBay1())
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 7281ac6..51e79dd 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -67,6 +67,9 @@
     // 鐗╂枡鍙峰垪琛�
     private List<String> matIdList;
 
+    // 楂樺害
+    private String height;
+
     // 澶栧舰妫�娴� ------------------------------------------------------------------------
 
     // 鍓嶈秴闄�
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 066b51e..af6d15e 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -252,14 +252,14 @@
             }
 
             // 璇诲彇姝i潰鏉$爜
-            OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB103.0", (short) (5 * 40));
-            if (result3.IsSuccess) {
+            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB103.0", (short) (5 * 40));
+            if (result2.IsSuccess) {
                 for (int i = 0; i < 5; i++) {
-                    String barcode = siemensS7Net.getByteTransform().TransString(result3.Content, i * 40, 40, "UTF-8");
+                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 40, 40, "UTF-8");
                     if(!Cools.isEmpty()){
                         barcode = barcode.trim();
                     }
-                    List<String> barcodeList = Arrays.stream(barcode.split(";")).collect(Collectors.toList());
+                    List<String> barcodeList = Arrays.stream(barcode.split(",")).collect(Collectors.toList());
                     Iterator<String> iterator = barcodeList.iterator();
                     while (iterator.hasNext()){
                         String next = iterator.next();
@@ -270,7 +270,7 @@
                         }
                     }
 
-                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i+1);
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i);
                     if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                         barcodeThread.setBarcode(barcode);
                     }
@@ -482,14 +482,14 @@
         // 鐩爣绔欏湴鍧�
         String staNoAddress;
         // 楂樺害绫诲瀷鍦板潃
-        String heightAddress;
+        String heightAddress = null;
         if (index < 16) {
             workNoAddress = "DB100." + index * 4;
             staNoAddress = "DB100." + (index * 4 + 2);
-            heightAddress = "DB104." + (index * 4 + 2);
+            heightAddress = "DB104." + (index * 4);
         } else {
-            workNoAddress = "DB100." + (400 + (index-16) * 4);
-            staNoAddress = "DB100." + (400 + (index-16) * 4 + 2);
+            workNoAddress = "DB100." + (400 + (index - 16) * 4);
+            staNoAddress = "DB100." + (400 + (index - 16) * 4 + 2);
         }
 
         OperateResult writeResult;
@@ -499,7 +499,14 @@
         boolean writeFlag = false;
         while (writeCount < 5) {
             OperateResult writeResult1 = siemensS7Net.Write(workNoAddress, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
-            OperateResult writeResult2 = siemensS7Net.Write(staNoAddress, staProtocol.getStaNo());    // 鐩爣绔�
+            OperateResult writeResult2 = siemensS7Net.Write(staNoAddress, staProtocol.getStaNo());// 鐩爣绔�
+            if (!Cools.isEmpty(staProtocol.getHeight()) && heightAddress != null) {
+                OperateResult writeResult3 = siemensS7Net.Write(heightAddress, Short.valueOf(staProtocol.getHeight()));    // 楂樺害绫诲瀷
+                if (!writeResult3.IsSuccess) {
+                    log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触锛屽皾璇曢噸鏂板啓鍏ワ紝杈撳叆鍙傛暟={}锛岃緭鍑哄弬鏁�={}", JSON.toJSON(staProtocol), writeResult3);// 鍐欏叆杈撻�佺嚎鍛戒护澶辫触锛屽皾璇曢噸鏂板啓鍏ワ紝杈撳叆鍙傛暟={}锛岃緭鍑哄弬鏁�={}", JSON.toJSON(staProtocol), writeResult3);
+                    writeResult3 = siemensS7Net.Write(heightAddress, staProtocol.getHeight());    // 楂樺害绫诲瀷
+                }
+            }
             if (writeResult1.IsSuccess && writeResult2.IsSuccess) {
                 Thread.sleep(200);
                 OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 4, (short) 2);

--
Gitblit v1.9.1