From b7a584c8d96765e681508910cd7ba21a6b32420a Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期四, 20 三月 2025 19:07:22 +0800
Subject: [PATCH] 配置信息

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  199 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 130 insertions(+), 69 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 506e3c6..814365d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,10 +7,7 @@
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.mapper.BasCrnErrorMapper;
-import com.zy.asrs.mapper.BasDevpMapper;
-import com.zy.asrs.mapper.WrkChargeMapper;
-import com.zy.asrs.mapper.WrkMastMapper;
+import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.model.LocTypeDto;
@@ -95,6 +92,8 @@
     private WrkChargeMapper wrkChargeMapper;
     @Autowired
     private BasDevpMapper basDevpMapper;
+    @Autowired
+    private WaitPakinMapper waitPakinMapper;
 
     /**
      * 缁勬墭
@@ -121,45 +120,45 @@
                         && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999))
                         && staProtocol.isPakMk()) {
 
-                    //20230201. 2鍙峰爢鍨涙満鏈夊嚭搴撲换鍔℃椂锛岀姝㈡柊鏉垮叆搴�
-                    if (staProtocol.getWorkNo() == 9995) {
-                        if ( inSta.getStaNo()==103 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) {
-                            //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
-                            staProtocol.setWorkNo((short) 9999);
-                            staProtocol.setStaNo((short)100);
-                            devpThread.setPakMk(staProtocol.getSiteId(), false);
-                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            News.error("MainServiceImpl  generateStoreWrkFile"+"103涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
-                            continue;
-                        }
-                        if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
-                            //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
-                            staProtocol.setWorkNo((short) 9999);
-                            staProtocol.setStaNo((short)200);
-                            devpThread.setPakMk(staProtocol.getSiteId(), false);
-                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            News.error("MainServiceImpl  generateStoreWrkFile"+"203涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
-                            continue;
-                        }
-                        if ( inSta.getStaNo()==113 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) {
-                            //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
-                            staProtocol.setWorkNo((short) 9999);
-                            staProtocol.setStaNo((short)114);
-                            devpThread.setPakMk(staProtocol.getSiteId(), false);
-                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            News.error("MainServiceImpl  generateStoreWrkFile"+"103涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
-                            continue;
-                        }
-                        if ( inSta.getStaNo()==213 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) {
-                            //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
-                            staProtocol.setWorkNo((short) 9999);
-                            staProtocol.setStaNo((short)214);
-                            devpThread.setPakMk(staProtocol.getSiteId(), false);
-                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            News.error("MainServiceImpl  generateStoreWrkFile"+"203涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
-                            continue;
-                        }
-                    }
+//                    //20230201. 2鍙峰爢鍨涙満鏈夊嚭搴撲换鍔℃椂锛岀姝㈡柊鏉垮叆搴�
+//                    if (staProtocol.getWorkNo() == 9995) {
+//                        if ( inSta.getStaNo()==103 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) {
+//                            //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+//                            staProtocol.setWorkNo((short) 9999);
+//                            staProtocol.setStaNo((short)100);
+//                            devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                            News.error("MainServiceImpl  generateStoreWrkFile"+"103涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+//                            continue;
+//                        }
+//                        if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
+//                            //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+//                            staProtocol.setWorkNo((short) 9999);
+//                            staProtocol.setStaNo((short)200);
+//                            devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                            News.error("MainServiceImpl  generateStoreWrkFile"+"203涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+//                            continue;
+//                        }
+//                        if ( inSta.getStaNo()==113 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) {
+//                            //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+//                            staProtocol.setWorkNo((short) 9999);
+//                            staProtocol.setStaNo((short)114);
+//                            devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                            News.error("MainServiceImpl  generateStoreWrkFile"+"103涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+//                            continue;
+//                        }
+//                        if ( inSta.getStaNo()==213 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) {
+//                            //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+//                            staProtocol.setWorkNo((short) 9999);
+//                            staProtocol.setStaNo((short)214);
+//                            devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                            News.error("MainServiceImpl  generateStoreWrkFile"+"203涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+//                            continue;
+//                        }
+//                    }
 
                     // 鑾峰彇鏉$爜鎵弿浠俊鎭�
                     BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
@@ -240,14 +239,14 @@
                             if (!result) {
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
-                        } else if (code == 500){
-                            if (ledThread != null) {
-                                String errorMsg = jsonObject.getString("msg");
-                                if (!Cools.isEmpty(errorMsg)) {
-                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
-                                }
-                            }
-                            News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+//                        } else if (code == 500){
+//                            if (ledThread != null) {
+//                                String errorMsg = jsonObject.getString("msg");
+//                                if (!Cools.isEmpty(errorMsg)) {
+//                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+//                                }
+//                            }
+//                            News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                         } else if (code == 700) {
                             staProtocol.setWorkNo((short) 9995);
                             staProtocol.setStaNo(inSta.getBackSta().shortValue());
@@ -259,22 +258,39 @@
                                 String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
                                 MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                             }
-                        } else if (code == 1000){
+                        } else if (code == 500 || code == 1000){
                             if (inSta.getStaNo().equals(103)){
                                 staProtocol.setWorkNo((short)9996);
                                 staProtocol.setStaNo((short)203);
-                            }else {
+                            }
+                            if (inSta.getStaNo().equals(203)){
                                 staProtocol.setWorkNo((short)9996);
                                 staProtocol.setStaNo((short)103);
+                            }if (inSta.getStaNo().equals(113)){
+                                staProtocol.setWorkNo((short)9995);
+                                staProtocol.setStaNo((short)114);
+                            }else if (inSta.getStaNo().equals(213)){
+                                staProtocol.setWorkNo((short)9995);
+                                staProtocol.setStaNo((short)214);
                             }
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-
-                            // led 寮傚父鏄剧ず
-                            if (ledThread != null) {
-                                String errorMsg = barcode + "闇�瑕佹崲鍏ュ簱绔欍�傜洰鏍囩珯锛�"+staProtocol.getStaNo();
-                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                            String data = jsonObject.getString("data");
+                            String msg = jsonObject.getString("msg");
+                            if (code == 500){
+                                // led 寮傚父鏄剧ず
+                                if (ledThread != null) {
+                                    String errorMsg ="鍏ュ簱绔欙細" + staProtocol.getStaNo() + "---" + barcode + "妫�绱㈠簱浣嶅け璐�,璇锋鏌ュ簱瀛樺墿浣欍��===>>" + data + "--" + msg;
+                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                                }
+                            } else if (code == 1000){
+                                // led 寮傚父鏄剧ず
+                                if (ledThread != null) {
+                                    String errorMsg ="鍏ュ簱绔欙細" + staProtocol.getStaNo() + "---" + barcode + "闇�瑕佹崲鍏ュ簱绔欍��";
+                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                                }
                             }
+
                         }
                     } catch (Exception e) {
                         e.printStackTrace();
@@ -1205,7 +1221,8 @@
                 }
             }
             if(flag){
-                return false;
+                continue;
+//                return false;
             }
 
             // 鍒ゆ柇鏄惁宸插瓨鍦ㄥ皬杞︾粦瀹氫换鍔�
@@ -1527,9 +1544,11 @@
                 } else {
                     List<String> shallowLocs = Utils.getShallowLocs(wrkMast.getSourceLocNo());
                     if (!Cools.isEmpty(shallowLocs)) {
+                        // 娴呭簱浣嶇粍鏈夎揣
                         for (String shallowLocNo : shallowLocs) {
                             LocMast shallowLoc = locMastService.selectById(shallowLocNo);
                             WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
+                            // 娴呭簱浣嶅湪浣滀笟涓�
                             if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
                                 if (Cools.isEmpty(waitWrkMast)){
                                     News.error("搴撲綅寮傚父");
@@ -1557,7 +1576,8 @@
                                         break;
                                     }
                                 }
-                            }else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
+                            // 娴呭簱浣嶇粍鏈夎揣锛屼笖娌℃湁鍦ㄤ綔涓氫腑
+                            } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
                                 if (null == waitWrkMast) {
                                     // 鐢熸垚涓�绗旂Щ搴撲换鍔″伐浣滄。銆佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵��
                                     // 娌℃湁浣滀笟涓殑鍑哄簱浠诲姟鏃讹紝鎵嶈兘鐢熸垚绉诲簱浠诲姟
@@ -4610,7 +4630,8 @@
             }
             LocMast loc = null;
 
-            if(shallowLoc.getLocType2() == 3){ //浣庨娣风洿鎺ュ嚭搴�
+            if(shallowLoc.getLocType2() == 3 || shallowLoc.getLocType2() == 1){
+                //浣庨娣风洿鎺ュ嚭搴�
                 // 鑾峰彇宸ヤ綔鍙�
                 int workNo = commonService.getWorkNo(0);
                 Date now = new Date();
@@ -4655,13 +4676,20 @@
                         WrkDetl wrkDetl = new WrkDetl();
                         wrkDetl.sync(locDetl);
                         wrkDetl.setWrkNo(workNo);
-                        wrkDetl.setIoTime(new Date());
+                        wrkDetl.setIoTime(now);
                         wrkDetl.setAnfme(locDetl.getAnfme());
-                        wrkDetl.setAppeTime(new Date());
-                        wrkDetl.setModiTime(new Date());
+                        wrkDetl.setAppeTime(now);
+                        wrkDetl.setModiTime(now);
                         if (!wrkDetlService.insert(wrkDetl)) {
                             throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
                         }
+                        // 鐢熸垚瀵瑰簲鐨勭粍鎵樻。
+                        WaitPakin waitPakin = new WaitPakin();
+                        waitPakin.sync(wrkDetl);
+                        waitPakin.setModiTime(now);
+                        waitPakin.setAppeTime(now);
+                        waitPakinMapper.insert(waitPakin);
+
                     }
                 }
                 // 淇敼婧愬簱浣嶇姸鎬�
@@ -4919,9 +4947,25 @@
 //                                    }
                                     }
                                 } else {
-                                    // 鍏ュ簱妯″紡
-                                    devpThread.ioModeOf3F = IoModeType.PAKIN_MODE;
-
+                                    CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 1);
+                                    CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                                    if (crnProtocol != null) {
+                                        if (crnProtocol.getTaskNo() != 0) {
+                                            if (crnProtocol.isStatusEnd()){
+                                                // 鍑哄簱妯″紡
+                                                devpThread.ioModeOf3F = IoModeType.PAKOUT_MODE;
+                                            }  else {
+                                                // 鍏ュ簱妯″紡
+                                                devpThread.ioModeOf3F = IoModeType.PAKIN_MODE;
+                                            }
+                                        } else {
+                                            // 鍏ュ簱妯″紡
+                                            devpThread.ioModeOf3F = IoModeType.PAKIN_MODE;
+                                        }
+                                    } else {
+                                        // 鍏ュ簱妯″紡
+                                        devpThread.ioModeOf3F = IoModeType.PAKIN_MODE;
+                                    }
                                 }
                             }
                             break;
@@ -4948,8 +4992,25 @@
 //                                    }
                                     }
                                 } else {
-                                    // 鍏ュ簱妯″紡
-                                    devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
+                                    CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 3);
+                                    CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                                    if (crnProtocol != null) {
+                                        if (crnProtocol.getTaskNo() != 0) {
+                                            if (crnProtocol.isStatusEnd()){
+                                                // 鍑哄簱妯″紡
+                                                devpThread.ioModeOf3F = IoModeType.PAKOUT_MODE;
+                                            }  else {
+                                                // 鍏ュ簱妯″紡
+                                                devpThread.ioModeOf3F = IoModeType.PAKIN_MODE;
+                                            }
+                                        } else {
+                                            // 鍏ュ簱妯″紡
+                                            devpThread.ioModeOf3F = IoModeType.PAKIN_MODE;
+                                        }
+                                    } else {
+                                        // 鍏ュ簱妯″紡
+                                        devpThread.ioModeOf3F = IoModeType.PAKIN_MODE;
+                                    }
                                 }
                             }
                             break;

--
Gitblit v1.9.1