From ce641926a957d238b202aa0d9dac3b8f15aff153 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期三, 14 五月 2025 14:43:00 +0800
Subject: [PATCH] 123

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   83 ++++++++++++--------
 src/main/java/com/zy/core/Test.java                         |  146 ++++++++++++++++++++++++++++++++++++
 2 files changed, 197 insertions(+), 32 deletions(-)

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 3b3bfa0..6a022bd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -890,7 +890,7 @@
                         wrkMast.setIoPri(14D);
                         wrkMastMapper.updateById(wrkMast);
                         // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                        moveLocForDeepLoc(slave, shallowLoc, mark,wrkMast.getTenant());
+                        moveLocForDeepLoc(slave, shallowLoc, mark, wrkMast.getTenant());
                         // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
 //                        moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
                     }
@@ -1065,7 +1065,7 @@
                                 wrkMast.setUpdMk("Y");
                                 wrkMastMapper.updateById(wrkMast);
                                 // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                                moveLocForDeepLoc(slave, shallowLoc, mark,wrkMast.getTenant());
+                                moveLocForDeepLoc(slave, shallowLoc, mark, wrkMast.getTenant());
                             }
                             News.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
                             continue;
@@ -1953,7 +1953,7 @@
      * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)
      * tip锛氬悓姝�
      */
-    private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc, Integer mark,Long tenant) {
+    private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc, Integer mark, Long tenant) {
 
         try {
             News.warnNoLog("" + mark + "moveLocForDeepLoc" + " - 0" + " - 寮�濮嬫墽琛�:鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)");
@@ -2330,7 +2330,7 @@
 
     public synchronized void autoEmptyOut() {
         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-        Integer autoOutSite = 12;
+        Integer autoOutSite = 103;
         //濡傛灉绔欑偣鍙嚭绂佺敤锛屽垯涓嶇敓鎴愮┖鐩樺嚭搴撲换鍔�
         StaProtocol staProtocol = devpThread.getStation().get(autoOutSite);
         if (staProtocol == null) {
@@ -2340,32 +2340,27 @@
         }
         if (staProtocol.isAutoing()  //鑷姩
                 && !staProtocol.isLoading()  //鏃犵墿
-                && staProtocol.isOutEnable()  //鍙嚭淇″彿
+//                && staProtocol.isOutEnable()  //鍙嚭淇″彿
                 && staProtocol.getWorkNo() == 0) {
-            WrkMast pakoutEmpty = wrkMastMapper.selectPakoutEmpty(autoOutSite);
-            if (null != pakoutEmpty) {
-                return;
+//            WrkMast pakoutEmpty = wrkMastMapper.selectPakoutEmpty(autoOutSite);
+//            if (null != pakoutEmpty) {
+//                return;
+//            }
+
+            LocMast byId = locMastService.getById("0200405");
+            if (byId != null&&byId.getLocSts().equalsIgnoreCase("D")){
+
             }
-            try {
-                String response = new HttpHandler.Builder().setUri(wmsUrl).setPath("/rpc/auto/emptyOut/v1").build().doPost();
-                JSONObject jsonObject = JSON.parseObject(response);
-                if (jsonObject.getInteger("code").equals(200)) {
-                    JSONObject data = (JSONObject) jsonObject.get("data");
-                    News.info((String) data.get("msg"));
-                } else {
-                    News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1", "", response);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            }
+
         }
     }
 
+    @Autowired
+    private WrkMastService wrkMastService;
+
     public synchronized void autoEmptyIn() {
         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-        Integer autoInSite = 12;
-        StaProtocol staProtocol = devpThread.getStation().get(autoInSite);
+        StaProtocol staProtocol = devpThread.getStation().get(103);
         if (staProtocol == null) {
             return;
         } else {
@@ -2373,20 +2368,44 @@
         }
         if (staProtocol.isAutoing()  //鑷姩
                 && staProtocol.isLoading()  //鏈夌墿
-                && staProtocol.isInEnable()  //鍙叆淇″彿
+//                && staProtocol.isInEnable()  //鍙叆淇″彿
                 && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() >= 9990) //宸ヤ綔鍙蜂负0鎴栬�呭伐浣滃彿鏄�9991~9999锛堣緭閫佹満鐣欑敤锛�
         ) {
 
             try {
-                LocTypeDto locTypeDto = new LocTypeDto((short) 1, (short) 1, (short) 1);
+                Date now = new Date();
+                // 鐢熸垚宸ヤ綔妗�
+                WrkMast wrkMast = new WrkMast();
+                int workNo = commonService.getWorkNo(0);
+                wrkMast.setWrkNo(workNo);
+                wrkMast.setIoTime(now);
+                wrkMast.setWrkSts(2L);
+                wrkMast.setIoPri(13D);
+                wrkMast.setIoType(10);
+                wrkMast.setCrnNo(1);
+                wrkMast.setSourceStaNo(101);
+                wrkMast.setStaNo(103);
+                wrkMast.setLocNo("0200405");
+                wrkMast.setFullPlt("N"); // 婊℃澘锛歂
+                wrkMast.setPicking("N"); // 鎷f枡
+                wrkMast.setExitMk("N"); // 閫�鍑�
+                wrkMast.setEmptyMk("Y"); // 绌烘澘
+                wrkMast.setLinkMis("Y");
+                // 鎿嶄綔浜哄憳鏁版嵁
+                wrkMast.setAppeTime(now);
+                wrkMast.setModiTime(now);
+                wrkMast.setMemo("鑷姩绌烘墭鍏ュ簱");
+                boolean res = wrkMastService.save(wrkMast);
 
-
-                String response = new HttpHandler.Builder().setUri(wmsUrl).setPath("/rpc/auto/emptyIn/v1").setJson(JSON.toJSONString(locTypeDto)).build().doPost();
-                JSONObject jsonObject = JSON.parseObject(response);
-                if (jsonObject.getInteger("code").equals(200)) {
-                    News.info((String) jsonObject.get("msg"));
-                } else {
-                    News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyIn/v1", JSON.toJSONString(locTypeDto), response);
+                // 鏇存柊鐩爣搴撲綅鐘舵��
+                LocMast locMast = locMastService.getById("0200405");
+                if (locMast.getLocSts().equals("O")) {
+                    locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+                    locMast.setModiUser(789L);
+                    locMast.setModiTime(now);
+                    if (!locMastService.updateById(locMast)) {
+                        throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+                    }
                 }
             } catch (Exception e) {
                 e.printStackTrace();
diff --git a/src/main/java/com/zy/core/Test.java b/src/main/java/com/zy/core/Test.java
new file mode 100644
index 0000000..084f59e
--- /dev/null
+++ b/src/main/java/com/zy/core/Test.java
@@ -0,0 +1,146 @@
+//package com.zy.core;
+//
+//import com.core.exception.CoolException;
+//import com.zy.asrs.entity.LocMast;
+//import com.zy.asrs.entity.WrkMast;
+//import com.zy.asrs.service.WrkMastService;
+//import com.zy.core.cache.MessageQueue;
+//import com.zy.core.cache.SlaveConnection;
+//import com.zy.core.enums.SlaveType;
+//import com.zy.core.model.Task;
+//import com.zy.core.model.protocol.StaProtocol;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.transaction.interceptor.TransactionAspectSupport;
+//
+//import java.util.Date;
+//
+//public class Test {
+//
+//    public synchronized void autoEmptyOut() {
+//        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+//        Integer autoOutSite = 103;
+//        //濡傛灉绔欑偣鍙嚭绂佺敤锛屽垯涓嶇敓鎴愮┖鐩樺嚭搴撲换鍔�
+//        StaProtocol staProtocol = devpThread.getStation().get(autoOutSite);
+//        if (staProtocol == null) {
+//            return;
+//        } else {
+//            staProtocol = staProtocol.clone();
+//        }
+//        if (staProtocol.isAutoing()  //鑷姩
+//                && !staProtocol.isLoading()  //鏃犵墿
+////                && staProtocol.isOutEnable()  //鍙嚭淇″彿
+//                && staProtocol.getWorkNo() == 0) {
+////            WrkMast pakoutEmpty = wrkMastMapper.selectPakoutEmpty(autoOutSite);
+////            if (null != pakoutEmpty) {
+////                return;
+////            }
+//
+//            LocMast locMast = locMastService.getById("0200404");
+//            if (locMast != null && locMast.getLocSts().equalsIgnoreCase("D")) {
+//                try {
+//                    Date now = new Date();
+//                    // 淇濆瓨宸ヤ綔妗�
+//                    WrkMast wrkMast = new WrkMast();
+//                    int workNo = commonService.getWorkNo(0);
+//                    wrkMast.setWrkNo(workNo);
+//                    wrkMast.setIoTime(now);
+//                    wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+//                    wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
+//                    wrkMast.setIoPri(999D);
+//                    wrkMast.setSourceStaNo(103); // 婧愮珯
+//                    wrkMast.setStaNo(0); // 鐩爣绔�
+//                    wrkMast.setCrnNo(1);
+//                    wrkMast.setSourceLocNo("0200404"); // 婧愬簱浣�
+//                    wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+//                    wrkMast.setPicking("N"); // 鎷f枡
+//                    wrkMast.setExitMk("N"); // 閫�鍑�
+//                    wrkMast.setEmptyMk("Y"); // 绌烘澘
+//                    wrkMast.setLinkMis("N");
+//                    wrkMast.setAppeUser(1L);
+//                    wrkMast.setTenant(1L);
+//                    wrkMast.setAppeTime(now);
+//                    wrkMast.setModiUser(1L);
+//                    wrkMast.setModiTime(now);
+//                    wrkMast.setMemo("鐢熸垚鑷姩绌烘澘鍑哄簱");
+//                    boolean res = wrkMastService.save(wrkMast);
+//                    // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
+//                    if (locMast.getLocSts().equals("D")) {
+//                        locMast.setLocSts("R");
+//                        locMast.setModiUser(1L);
+//                        locMast.setModiTime(now);
+//                        if (!locMastService.updateById(locMast)) {
+//                            throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+//                        }
+//                    }
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                }
+//            }
+//        }
+//    }
+//
+//    @Autowired
+//    private WrkMastService wrkMastService;
+//
+//    public synchronized void autoEmptyIn() {
+//        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+//        StaProtocol staProtocol = devpThread.getStation().get(103);
+//        if (staProtocol == null) {
+//            return;
+//        } else {
+//            staProtocol = staProtocol.clone();
+//        }
+//        if (staProtocol.isAutoing()  //鑷姩
+//                && staProtocol.isLoading()  //鏈夌墿
+////                && staProtocol.isInEnable()  //鍙叆淇″彿
+//            // && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() >= 9990) //宸ヤ綔鍙蜂负0鎴栬�呭伐浣滃彿鏄�9991~9999锛堣緭閫佹満鐣欑敤锛�
+//        ) {
+//            LocMast locMast = locMastService.getById("0200404");
+//            if (locMast != null && locMast.getLocSts().equalsIgnoreCase("O")) {
+//                try {
+//                    Date now = new Date();
+//                    // 鐢熸垚宸ヤ綔妗�
+//                    WrkMast wrkMast = new WrkMast();
+//                    int workNo = commonService.getWorkNo(0);
+//                    wrkMast.setWrkNo(workNo);
+//                    wrkMast.setIoTime(now);
+//                    wrkMast.setWrkSts(2L);
+//                    wrkMast.setIoPri(999D);
+//                    wrkMast.setIoType(10);
+//                    wrkMast.setTenant(1L);
+//                    wrkMast.setCrnNo(1);
+//                    wrkMast.setSourceStaNo(101);
+//                    wrkMast.setStaNo(103);
+//                    wrkMast.setLocNo("0200404");
+//                    wrkMast.setFullPlt("N"); // 婊℃澘锛歂
+//                    wrkMast.setPicking("N"); // 鎷f枡
+//                    wrkMast.setExitMk("N"); // 閫�鍑�
+//                    wrkMast.setEmptyMk("Y"); // 绌烘澘
+//                    wrkMast.setLinkMis("Y");
+//                    // 鎿嶄綔浜哄憳鏁版嵁
+//                    wrkMast.setAppeTime(now);
+//                    wrkMast.setModiTime(now);
+//                    wrkMast.setMemo("鑷姩绌烘墭鍏ュ簱");
+//                    boolean res = wrkMastService.save(wrkMast);
+//                    staProtocol.setWorkNo(Short.parseShort(wrkMast.getWrkNo() + ""));
+//                    staProtocol.setStaNo(Short.parseShort(wrkMast.getStaNo() + ""));
+//                    boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+//                    log.info("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒))锛�" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo());
+//                    // 鏇存柊鐩爣搴撲綅鐘舵��
+//                    if (locMast.getLocSts().equals("O")) {
+//                        locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+//                        locMast.setModiUser(789L);
+//                        locMast.setModiTime(now);
+//                        if (!locMastService.updateById(locMast)) {
+//                            throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+//                        }
+//                    }
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                }
+//            }
+//        }
+//    }
+//}

--
Gitblit v1.9.1