From 11147dc89004599304489e1b26b4c7bf6c14df80 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 13 九月 2024 13:56:51 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   37 +++++++++++++++++++++++++++++++++----
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    1 +
 src/main/resources/mapper/WrkMastMapper.xml                 |    4 ++++
 3 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 60a15b5..14d09ac 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -12,6 +12,7 @@
 public interface WrkMastMapper extends BaseMapper<WrkMast> {
 
     WrkMast selectByLocNo(@Param("sourceLocNo") String sourceLocNo);
+    WrkMast selectByBarcodeTwo(@Param("barcode") String barcode);
 
     WrkMast selectByLocNo1(@Param("sourceLocNo") String sourceLocNo);
 
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 5e700ad..cef8ccb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4010,16 +4010,31 @@
                 } else {
                     staProtocol = staProtocol.clone();
                 }
-                if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==607 && staProtocol.getWorkNo()>20000 && staProtocol.isLoading() && staProtocol.isAutoing()){
+                String barcode = staProtocol.getBarcode();
+                if (!Cools.isEmpty(barcode)) {
+//                    log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+                    if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+                        continue;
+                    }
+                } else {
+                    continue;
+                }
+                if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==607 && staProtocol.getWorkNo()==0
+                        && staProtocol.isLoading() && staProtocol.isAutoing() && staProtocol.isInEnable()){
                     try {
                         BasDevp basDevp = basDevpService.selectById(staProtocol.getStaNo());
                         if (basDevp.getReportSign()==0){
+                            WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode);
+                            if (!Cools.isEmpty(wrkMast)){
+                                continue;
+                            }
                             LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
 
                             SearchLocParam param = new SearchLocParam();
                             param.setIoType(10);
                             param.setSourceStaNo(emptyInSta.getStaNo());
                             param.setLocType1(locTypeDto.getLocType1());
+                            param.setBarcode(barcode);
                             String response = new HttpHandler.Builder()
                                     .setUri(wmsUrl)
                                     .setPath("/rpc/pakin/loc/v1")
@@ -8538,9 +8553,23 @@
         if (staNo1!=0){
             SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
             StaProtocol staProtocol607 = devpThread.getStation().get(607);
-            if (staProtocol607.getWorkNo()<9001 && staProtocol607.getWorkNo()!=0 && staProtocol607.isLoading() && staProtocol607.isAutoing() && staProtocol607.getStaNo() == 607){
-                staProtocol607.setStaNo(staNo1);
-                boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(5, staProtocol607));
+            String barcode = staProtocol607.getBarcode();
+            if (!Cools.isEmpty(barcode)) {
+//                    log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+                if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+                    return;
+                }
+            } else {
+                return;
+            }
+            if (staProtocol607.getWorkNo()==0 && staProtocol607.isLoading() && staProtocol607.isAutoing()
+                    && staProtocol607.getStaNo() == 607 && staProtocol607.isInEnable()){
+                WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode);
+                if (!Cools.isEmpty(wrkMast)){
+                    staProtocol607.setWorkNo(wrkMast.getWrkNo());
+                    staProtocol607.setStaNo(staNo1);
+                    boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(5, staProtocol607));
+                }
             }
         } else {
 
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 79abf49..408efb85 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -70,6 +70,10 @@
         select top 1 * from asr_wrk_mast where source_loc_no = #{sourceLocNo} and  (ctn_no is null or ctn_no != 'Y')
     </select>
 
+    <select id="selectByBarcodeTwo"  resultMap="BaseResultMap">
+        select top 1 * from asr_wrk_mast where barcode = #{barcode} and  wrk_sts = 2
+    </select>
+
     <select id="selectByLocNo1"  resultMap="BaseResultMap">
         select top 1 * from asr_wrk_mast where source_loc_no = #{sourceLocNo} or loc_no = #{sourceLocNo}
     </select>

--
Gitblit v1.9.1