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/core/thread/RgvThread.java             |    1 
 src/main/java/com/zy/asrs/controller/OpenController.java    |   13 +-
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   98 +++++++++---------------
 src/main/java/com/zy/asrs/controller/MonitorController.java |    8 +-
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    2 
 src/main/resources/mapper/WrkMastMapper.xml                 |    4 
 src/main/java/com/zy/core/MainProcess.java                  |    2 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   80 +++++++++-----------
 src/main/resources/license.lic                              |    0 
 9 files changed, 91 insertions(+), 117 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 84604dd..5d5cb49 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -215,7 +215,7 @@
 
             Map<String, Object> map1 = new HashMap<>();
             map1.put("name", "绌�");
-            map1.put("value", 11200-used);
+            map1.put("value", 8064-used);
             pie.add(map1);
 
             Map<String, Object> map2 = new HashMap<>();
@@ -231,15 +231,15 @@
 
 
         // 搴撲綅浣跨敤鐜�
-        double usedDivides = Arith.divides(3, used, 11200);
+        double usedDivides = Arith.divides(3, used, 8064);
         double usedPr = Arith.multiplys(1, usedDivides, 100);
 
         return R.ok(
                 Cools.add("pie", pie)
                         .add("stockCunt", locUseRate.getFqty())
-                        .add("emptyCount", 11200-used)
+                        .add("emptyCount", 8064-used)
                         .add("noneCount", locUseRate.getXqty())
-                        .add("total", 11200)
+                        .add("total", 8064)
                         .add("used", used)
                         .add("usedPr", usedPr)
         );
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 35b839a..0fa8928 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -195,12 +195,13 @@
         if (Cools.isEmpty(param.getBarcode())) {
              return R.error("瀹瑰櫒缂栫爜[barcode]涓嶈兘涓虹┖");
         }
-        if (Cools.isEmpty(param.getStartPoint())) {
-             return R.error("璧风偣[startPoint]涓嶈兘涓虹┖");
-        }
-        if (Cools.isEmpty(param.getTargetPoint())) {
-             return R.error("鐩爣鐐筟targetPoint]涓嶈兘涓虹┖");
-        }
+
+//        if (Cools.isEmpty(param.getStartPoint())) {
+//             return R.error("璧风偣[startPoint]涓嶈兘涓虹┖");
+//        }
+//        if (Cools.isEmpty(param.getTargetPoint())) {
+//             return R.error("鐩爣鐐筟targetPoint]涓嶈兘涓虹┖");
+//        }
 
         try {
             boolean result = openService.taskCreate(param);
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 0132f30..3887b95 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -31,7 +31,7 @@
     WrkMast selectPakInStep1(@Param("sourceStaNo")Integer sourceStaNo, @Param("barcode")String barcode);
 
     WrkMast selectPakInStep5(@Param("staNo")Integer staNo,@Param("sheetNo")String sheetNo);
-
+    WrkMast selectPakInStep6(@Param("barcode")String barcode);
     /**
      * 鏌ヨ鍚屼竴鍙板爢鍨涙満涓嬫墍鏈夊嚭搴撲换鍔�
      * @param crnNo
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 f89c275..d5f5afb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -414,19 +414,18 @@
             // 閬嶅巻鎷f枡鍏ュ簱鍙�
             for (DevpSlave.Sta pickSta : devp.getPickSta()) {
 //                // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-//                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
-//                if (barcodeThread == null) {
-//                    continue;
-//                }
-//                String barcode = barcodeThread.getBarcode();
-//                if(!Cools.isEmpty(barcode)) {
-//                    log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
-//                    if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-//                        continue;
-//                    }
-//                } else {
-//                    continue;
-//                }
+                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
+                if (barcodeThread == null) {
+                    continue;
+                }
+                String barcode = barcodeThread.getBarcode();
+                if(!Cools.isEmpty(barcode)) {
+                    if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+                        continue;
+                    }
+                } else {
+                    continue;
+                }
 
                 // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
@@ -440,9 +439,9 @@
 //                // 鍏ュ嚭搴撴ā寮忓垽鏂�
 //                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
 
-                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() ) {
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && staProtocol.getWorkNo() == 9998) {
 //                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
-                    WrkMast wrkMast = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"7");
+                    WrkMast wrkMast = wrkMastMapper.selectPakInStep6(barcode);
                     if (wrkMast == null) {
                         // 鏃犳嫞鏂欐暟鎹�
                         continue;
@@ -455,59 +454,38 @@
                     //   鑾峰彇搴撲綅鍙�
                     try {
                         SearchLocParam param = new SearchLocParam();
+                        Integer staNo = wrkMast.getSourceStaNo();
                         param.setBarcode(wrkMast.getBarcode());
                         param.setIoType(wrkMast.getIoType());
                         param.setSourceStaNo(pickSta.getStaNo()); //浣滀笟绔欑偣
                         param.setLocType1((short)1);
-                        String response = "";
-                        log.info("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS===>>鍙傛暟锛�" + param);
-                        try {
-                            response = new HttpHandler.Builder()
-                                    .setUri(wmsUrl)
-                                    .setPath("/rpc/pakin2/loc/v1")
-                                    .setJson(JSON.toJSONString(param))
-                                    .setTimeout(15, TimeUnit.SECONDS)
-                                    .build()
-                                    .doPost();
-                        } catch(Exception e){
-                            log.error("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS===>>鍙傛暟锛�" + param);
-                            log.error("stnToCrnStnPick2===>>鐩樼偣鏌ュ簱浣嶅叆搴撴帴鍙eけ璐�", e);
-                            e.printStackTrace();
-                            continue;
+                        wrkMast.setIoType(wrkMast.getIoType() - 50);
+                        wrkMast.setWrkSts(2L);
+                        wrkMast.setSourceStaNo(wrkMast.getStaNo()-1);
+                        wrkMast.setStaNo(staNo - 2);
+                        wrkMast.setLocNo(wrkMast.getSourceLocNo());
+                        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
+                        if(locMast.getLocSts().equals("P")){
+                            locMast.setLocSts("Q");
+                            locMastService.updateById(locMast);
                         }
-                        log.info("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS===>>鍙傛暟锛�" + param);
-                        log.info("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"涓嬪彂鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS杩斿洖缁撴灉===>>" + response);
-                        if(response.equals("")) {
-                            continue;
-                        }
-                        JSONObject jsonObject = JSON.parseObject(response);
-//                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
-                        Integer code = jsonObject.getInteger("code");
-                        if (code == 200) {
-                            StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-                            if (Cools.isEmpty(dto) || Cools.isEmpty(dto.getStaNo())) {
-                                log.error("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣鍐嶅叆搴撴煡璇㈠簱浣嶅け璐�===>>" + jsonObject.toJSONString());
-                            } else {
-                                log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣鍐嶅叆搴撴煡璇㈠簱浣嶆垚鍔�===>>" + jsonObject.toJSONString());
-                                try {
-                                    // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-                                    staProtocol.setWorkNo(wrkMast.getWrkNo());
-                                    staProtocol.setStaNo(dto.getStaNo().shortValue());
-                                    devpThread.setPakMk(staProtocol.getSiteId(), false,1096);
+                        if (wrkMastService.updateById(wrkMast)) {
+                            try {
+                                // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+                                staProtocol.setWorkNo(wrkMast.getWrkNo());
+                                staProtocol.setStaNo((short)(wrkMast.getSourceStaNo() - 1));
+                                devpThread.setPakMk(staProtocol.getSiteId(), false,9998);
 //                                    ledThread.errorReset();
-                                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                                    if (!result) {
-                                        log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
-                                    }
-                                    log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣/鎷f枡鍐嶅叆搴撲换鍔′笅鍙戞垚鍔�===>>" + staProtocol);
-                                } catch (Exception e) {
-                                    log.error("鐩樼偣鍐嶅叆搴撳け璐�===>>" + e);
-                                    e.printStackTrace();
-                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                                if (!result) {
+                                    log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
                                 }
+                                log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣/鎷f枡鍐嶅叆搴撲换鍔′笅鍙戞垚鍔�===>>" + staProtocol);
+                            } catch (Exception e) {
+                                log.error("鐩樼偣鍐嶅叆搴撳け璐�===>>" + e);
+                                e.printStackTrace();
+                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             }
-                        } else {
-                            log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin2/loc/v1", JSON.toJSONString(param), response);
                         }
                     } catch (Exception e) {
                         log.error("stnToCrnStnPick2===>>fail", e);
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 cec7994..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());
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 5b9255f..89d0bce 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -58,7 +58,7 @@
 //                    continue;
 //                }
                 //鐩樼偣鎷f枡鍐嶅叆搴�
-//                mainService.stnToCrnStnPick();
+                mainService.stnToCrnStnPick();
 
                 // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
                 mainService.generateStoreWrkFile(); // 缁勬墭
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 0eb2902..9b34b35 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -415,6 +415,7 @@
                                     RgvErrCache.updateRgvErr(slave.getId(),errorRgv);
                                     break;
                                 }
+                                Thread.sleep(1000);
                             }
                             if (taskProtocol.getTargetPosition()<=rgvProtocol.getRgvPos()+50
                                     && taskProtocol.getTargetPosition()>=rgvProtocol.getRgvPos()-50){
diff --git a/src/main/resources/license.lic b/src/main/resources/license.lic
index 9d26a95..3be34d8 100644
--- a/src/main/resources/license.lic
+++ b/src/main/resources/license.lic
Binary files differ
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 55e863a..f0c02d2 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -119,7 +119,9 @@
     <select id="selectPakInStep5" resultMap="BaseResultMap">
         select top 1 * from dbo.asr_wrk_mast where sta_no=#{staNo} and wrk_sts = 14 and io_type>100 and sheet_no!=#{sheetNo}
     </select>
-
+    <select id="selectPakInStep6" resultMap="BaseResultMap">
+        select top 1 * from dbo.asr_wrk_mast where barcode=#{barcode} and wrk_sts = 14
+    </select>
     <select id="selectPakInStep12" resultMap="BaseResultMap">
         select * from dbo.asr_wrk_mast where wrk_sts=2 and crn_no=#{crnNo} and (io_type=1 or io_type=10 or io_type=53 or io_type=54 or io_type=57) order by io_pri desc,io_time,wrk_no ASC
     </select>

--
Gitblit v1.9.1