From 07559603c6ae9a98139716b6443a4a7b6dd66755 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期日, 14 一月 2024 16:24:47 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |    4 +-
 src/main/java/com/zy/core/model/DevpSlave.java              |    1 
 src/main/java/com/zy/asrs/entity/BasDevp.java               |    2 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   58 ++++++++++++++++++++++++++++
 src/main/java/com/zy/core/MainProcess.java                  |    2 +
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   12 +++---
 src/main/resources/application.yml                          |   15 ++++---
 7 files changed, 77 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/BasDevp.java b/src/main/java/com/zy/asrs/entity/BasDevp.java
index 0f5c1c3..2097e20 100644
--- a/src/main/java/com/zy/asrs/entity/BasDevp.java
+++ b/src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -214,7 +214,7 @@
     @TableField("cart_pos")
     private Integer cartPos;
 
-    @ApiModelProperty(value = "鎷嗗灈涓婁紶鍙犵洏鍥炲簱鏍囪")
+    @ApiModelProperty(value = "1妤兼媶鍨涗笂浼犲彔鐩樺洖搴撴爣璁�")
     @TableField("report_sign")
     private Integer reportSign;
 
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 e36752f..9530193 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -228,6 +228,62 @@
     }
 
     /**
+     * 缁勬墭
+     * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿閫氱煡妗佹灦鐮佸灈
+     */
+    public synchronized void generateStoreWrkFileFull2LouM() {
+        // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            // 閬嶅巻鐮佸灈鍙�
+            for (DevpSlave.Sta driveSta : devp.getDriveSta()) {
+                // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, driveSta.getBarcode());
+                if (barcodeThread == null) {
+                    continue;
+                }
+                String barcode = barcodeThread.getBarcode();
+
+                if (!Cools.isEmpty(barcode) && !barcode.equals("") && !barcode.equals("      ")) {
+                    if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+                        continue;
+                    }
+                } else {
+                    continue;
+                }
+
+                // 鑾峰彇鐮佸灈鍙d俊鎭�
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(driveSta.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+                if (staProtocol.isAutoing()
+                        && staProtocol.isLoading()
+                        && staProtocol.isInEnable()
+                        && staProtocol.isEmptyMk()
+                        && (staProtocol.getWorkNo() == 0 || (staProtocol.getWorkNo()>9899 && staProtocol.getWorkNo()<10000) )
+                ) {
+                    try {
+                        BasDevp basDevp = basDevpService.selectById(driveSta.getStaNo());
+                        if (basDevp.getReportSign()>0){
+                            continue;
+                        }
+                        basDevp.setBarcode(barcode);
+                        basDevp.setReportSign(1);
+                        basDevpService.updateById(basDevp);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    }
+                }
+            }
+        }
+    }
+
+    /**
      * wms鍏ュ簱
      * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 1 ==>> 2
      */
@@ -3954,7 +4010,7 @@
                 if (staProtocol.isAutoing()
                         && staProtocol.isLoading()
                         && staProtocol.isInEnable()
-                        && staProtocol.getWorkNo() == 0
+                        && (staProtocol.getWorkNo() == 0 || (staProtocol.getWorkNo()>9899 && staProtocol.getWorkNo()<10000))
                 ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) {
 
                     //浠诲姟瀹屾垚
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 14f0d11..0480680 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -53,6 +53,8 @@
 //                    mainService.ioConvert();
                     // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
                     mainService.generateStoreWrkFile(); // 缁勬墭
+                    // 鍏ュ簱  ===>> 鐮佸灈浣嶈幏鍙栫┖鏉挎潯鐮佷俊鎭�
+                    mainService.generateStoreWrkFileFull2LouM(); // 缁勬墭
 //                    mainService.generateStoreWrkFile0(); // WMS鍏ュ簱
                     // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
                     mainService.stnToCrnStnPick();
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index 217dfa9..2859b73 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -20,6 +20,7 @@
     private Integer slot;
 
     private List<Sta> inSta = new ArrayList<>();
+    private List<Sta> driveSta = new ArrayList<>();
 
     private List<Sta> emptyInSta = new ArrayList<>();
 
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 1d0c7c9..dac0c1e 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -58,10 +58,10 @@
     public BasDevp toSqlModel(){
         BasDevp basDevp = new BasDevp();
         basDevp.setDevNo(siteId);
-        basDevp.setWrkNo(workNo.intValue());
+        basDevp.setWrkNo(workNo);
         basDevp.setAutoing(autoing?"Y":"N");
         basDevp.setLoading(loading?"Y":"N");
-        if (basDevp.getLoading().equals("N")){
+        if (basDevp.getLoading().equals("N") && basDevp.getAutoing().equals("Y")){
             basDevp.setReportSign(0);
         }
         basDevp.setInEnable(inEnable?"Y":"N");
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index a05385d..b0a2fd5 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -71,7 +71,7 @@
     /**
      * 鏉$爜鏁伴噺
      */
-    private int barcodeSize = 3;
+    private int barcodeSize = 5;
 
     /**
      * 鍏ュ嚭搴撴ā寮�
@@ -247,10 +247,10 @@
 
         //鏉$爜鎵弿鍣�
         Thread.sleep(200);
-        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.288",(short)(barcodeSize*10));
-        if (result2.IsSuccess) {
-            for (int i = 0; i < barcodeSize; i++) {
-                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*10,6, "UTF-8");
+        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840",(short)(barcodeSize*8));
+        if (result2.IsSuccess && staNoSize==staNos2.size()) {
+            for (int i = 0; i < barcodeSize; i++) {  //1:217  2:221  3:null 4:215  5:219
+                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,6, "UTF-8");
                 BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
                 if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                     barcodeThread.setBarcode(barcode);
@@ -261,7 +261,7 @@
         //RGV灏忚溅
         Thread.sleep(200);
         OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.160",(short)2);
-        if (result3.IsSuccess) {
+        if (result3.IsSuccess && staNoSize==staNos2.size()) {
             Integer siteId = 16;
             StaProtocol staProtocol = station.get(siteId);
             if (null == staProtocol) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index af0cf06..11c7ed9 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -342,7 +342,6 @@
     # 鍏ュ簱鍙�1
     inSta[0]:
       staNo: 122
-      barcode: ${wcs-slave.barcode[0].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[0]:
       staNo: 122
@@ -352,23 +351,18 @@
     # 鎷f枡鍏ュ簱鍙�1
     pickSta2[0]:
       staNo: 118
-      barcode: ${wcs-slave.barcode[0].id}
     # 鎷f枡鍏ュ簱鍙�1
     pickSta2[1]:
       staNo: 119
-      barcode: ${wcs-slave.barcode[0].id}
     # 鎷f枡鍏ュ簱鍙�1
     pickSta2[2]:
       staNo: 120
-      barcode: ${wcs-slave.barcode[0].id}
     # 鎷f枡鍏ュ簱鍙�1
     pickSta2[3]:
       staNo: 121
-      barcode: ${wcs-slave.barcode[0].id}
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[0]:
       staNo: 122
-      barcode: ${wcs-slave.barcode[0].id}
     # Rgv鍑哄簱鍙�1
     outRgvSta[0]:
       staNo: 102
@@ -433,7 +427,14 @@
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[0]:
       staNo: 212
-      barcode: ${wcs-slave.barcode[0].id}
+    # 2妤肩爜鍨涗綅缃�
+    driveSta[0]:
+      staNo: 215
+      barcode: ${wcs-slave.barcode[3].id}
+    # 2妤肩爜鍨涗綅缃�
+    driveSta[1]:
+      staNo: 219
+      barcode: ${wcs-slave.barcode[4].id}
 
   # 鏉$爜鎵弿浠�
   barcode[0]:

--
Gitblit v1.9.1