From 75d0daa4f8dc2010ec92f35cac08a19d240ca45d Mon Sep 17 00:00:00 2001
From: ynhfasrs <ynhfasrs@qq.com>
Date: 星期五, 27 六月 2025 14:23:37 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   99 +++++++++++++++++++++++--------------------------
 1 files changed, 46 insertions(+), 53 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 293b2a6..196d4f0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -19,6 +19,7 @@
 import com.zy.asrs.utils.Utils;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
+import com.zy.common.utils.News;
 import com.zy.common.utils.RedisUtil;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
@@ -149,9 +150,9 @@
                     if (staProtocol.isAutoing()
                             && staProtocol.isLoading()
                             && staProtocol.isInEnable()
-                            && !staProtocol.isEmptyMk()
+//                            && !staProtocol.isEmptyMk()
                             && staProtocol.isPakMk()
-                            && staProtocol.getWorkNo() == 9999
+                            && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9998)
                     ) {
                         // 鑾峰彇鏉$爜鎵弿浠俊鎭�
                         BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
@@ -161,13 +162,13 @@
 
                         String barcode = barcodeThread.getBarcode();
                         if (Cools.isEmpty(barcode)) {
-                            log.info("鍏ュ簱淇″彿婊¤冻锛屾墭鐩樼爜鏈┖");
+                            News.watchInfo(String.valueOf(staProtocol.getSiteId()), "鍏ュ簱淇″彿婊¤冻锛屾墭鐩樼爜涓虹┖");
                             continue;
                         }
 
                         TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode));
                         if (taskWrk1 != null) {
-                            log.info("鎵樼洏鐮侊細" + barcode + "浠诲姟妗e瓨鍦�");
+                            News.watchInfo(String.valueOf(staProtocol.getSiteId()), "鎵樼洏鐮侊細" + barcode + "浠诲姟妗e瓨鍦�");
                             continue;
                         }
 
@@ -177,14 +178,15 @@
                         if (back) {
                             requestParam.put("wcsStatus", 1);//澶辫触
                             requestParam.put("wcsErrorMessage", errMsg);//澶辫触鍘熷洜
+                            News.watchInfo(String.valueOf(staProtocol.getSiteId()), errMsg);
                         }else {
                             requestParam.put("wcsStatus", 0);//鎴愬姛
                         }
 
-                        String response = "";
+                        String response = "None";
                         Boolean success = false;
                         try {
-                            Object object = redisUtil.get(RedisKeyType.IN_TASK_LOCK.key);
+                            Object object = redisUtil.get(RedisKeyType.IN_TASK_LOCK.key + inSta.getStaNo());
                             if(object != null) {
                                 continue;
                             }
@@ -196,18 +198,19 @@
                                     .build()
                                     .doPost();
                             JSONObject jsonObject = JSON.parseObject(response);
-                            redisUtil.set(RedisKeyType.IN_TASK_LOCK.key, "lock", 5);
+                            log.info(response);
+                            redisUtil.set(RedisKeyType.IN_TASK_LOCK.key + inSta.getStaNo(), "lock", 5);
                             if (jsonObject.getInteger("code") == 200) {
 
                             } else if (jsonObject.getInteger("code") == 500) {
-                                log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject));
+                                News.watchInfo(String.valueOf(staProtocol.getSiteId()), "鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,绯荤粺鍥為��,response=" + JSON.toJSONString(jsonObject));
 
-                                staProtocol.setWorkNo(9997);
-                                staProtocol.setStaNo(inSta.getBackSta().shortValue());
-                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                                staProtocol.setWorkNo(9997);
+//                                staProtocol.setStaNo(inSta.getBackSta().shortValue());
+//                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                                 continue;
                             }else {
-                                log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject));
+                                News.watchInfo(String.valueOf(staProtocol.getSiteId()), "鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject));
                                 continue;
                             }
 
@@ -219,18 +222,18 @@
                             // 鍒涙柊涓�涓叆搴撳伐浣滄。
                             TaskWrk taskWrk = taskWrkService.selectByTaskNo(String.valueOf(resultWrkNo));
                             if(taskWrk != null) {
-                                log.info("浠诲姟锛�" + resultWrkNo + "宸茬粡瀛樺湪");
+                                News.watchInfo(String.valueOf(staProtocol.getSiteId()), "浠诲姟锛�" + resultWrkNo + "宸茬粡瀛樺湪");
                                 continue;
                             }
 
                             LocMast locMast = locMastService.selectByLocNo(resultLocNo);
                             if (locMast == null) {
-                                log.info(resultLocNo + "搴撲綅涓嶅瓨鍦�");
+                                News.watchInfo(String.valueOf(staProtocol.getSiteId()), resultLocNo + "搴撲綅涓嶅瓨鍦�");
                                 continue;
                             }
 
                             if (!locMast.getLocSts().equals("O")) {
-                                log.info(resultLocNo + "搴撲綅涓嶅浜庣┖搴撲綅");
+                                News.watchInfo(String.valueOf(staProtocol.getSiteId()), resultLocNo + "搴撲綅涓嶅浜庣┖搴撲綅");
                                 continue;
                             }
 
@@ -246,13 +249,13 @@
                             taskWrk.setBarcode(barcode);//鏉$爜
                             taskWrk.setCrnNo(locMast.getCrnNo());
                             taskWrk.setTargetPoint(resultLocNo);
-                            taskWrk.setStartPoint(String.valueOf(staProtocol.getStaNo()));
+                            taskWrk.setStartPoint(String.valueOf(inSta.getStaNo()));
                             if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
                                 taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
                             }
 
                             if (!taskWrkService.insert(taskWrk)) {
-                                log.info("浠诲姟锛�" + resultWrkNo + "浠诲姟鍒涘缓澶辫触");
+                                News.watchInfo(String.valueOf(staProtocol.getSiteId()), "浠诲姟锛�" + resultWrkNo + "浠诲姟鍒涘缓澶辫触");
                                 continue;
                             }
 
@@ -390,7 +393,7 @@
             }
             BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
             if (basCrnp == null) {
-                log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                News.watchInfo(crn.getId() + "鍙峰爢鍨涙満", "{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
                 continue;
             }
 
@@ -445,7 +448,7 @@
                 // 鏌ヨ绔欑偣璇︾粏淇℃伅
                 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
                 if (staDetl == null) {
-                    log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+                    News.watchError(crnStn.getStaNo() + "绔欑偣", "鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
                     continue;
                 }
 
@@ -454,18 +457,21 @@
                     flag = true;
                 }
                 if (!flag) {
+//                    News.watchError(crnStn.getStaNo() + "绔欑偣", "鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐圭姸鎬佹娴嬪け璐ワ紝绔欑偣闇�瑕佹弧瓒筹細鑷姩銆佹湁鐗┿�佹湁宸ヤ綔鍙枫�佺珯鐐瑰彲鍏�");
                     continue;
                 }
 
 
                 // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
-                TaskWrk taskWrk = taskWrkMapper.selectPakIn(slave.getId(), staProtocol.getWorkNo().intValue(), staDesc.getStnNo().toString());
+                TaskWrk taskWrk = taskWrkMapper.selectPakIn(slave.getId(), staProtocol.getWorkNo(), staDesc.getStnNo().toString());
                 if (null == taskWrk) {
+                    News.watchError(crnStn.getStaNo() + "绔欑偣", "鍏ュ簱 ===>> 宸ヤ綔妗d笉瀛樺湪锛屾鏌ヤ换鍔℃槸鍚︾敓鎴�");
                     continue;
                 }
 
                 // 鍫嗗灈鏈烘帶鍒惰繃婊�
                 if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+                    News.watchError(slave.getId() + "鍙峰爢鍨涙満", "鍫嗗灈鏈哄繖纰屼腑");
                     continue;
                 }
 
@@ -529,7 +535,7 @@
                     }
                     // 宸ヤ綔妗g姸鎬佸垽鏂�
                     if (taskWrk.getIoType() != 2 || taskWrk.getTargetPoint() == null || taskWrk.getStartPoint() == null) {
-                        log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getStartPoint(), taskWrk.getIoType());
+                        News.watchError(taskWrk.getWrkNo() + "浠诲姟", "鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getStartPoint(), taskWrk.getIoType());
                         continue;
                     }
 
@@ -545,7 +551,7 @@
                     // 鏌ヨ绔欑偣璇︾粏淇℃伅
                     BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
                     if (staDetl == null) {
-                        log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+                        News.watchError(taskWrk.getWrkNo() + "浠诲姟", "鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
                         break;
                     }
 
@@ -560,7 +566,7 @@
                         }
                         int storeCount = basDevpService.getStoreCount();
                         if(storeCount >= maxCount){
-                            log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}",storeCount);
+                            News.watchError(taskWrk.getWrkNo() + "浠诲姟", "杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}", storeCount);
                             break;
                         }
 
@@ -690,37 +696,24 @@
                     if (taskWrkMapper.updateById(taskWrk) == 0) {
                         log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
                     }
-                    String response = "";
-                    Boolean bool=false;
-                    HashMap<String, Object> headParam = new HashMap<>();
-                    headParam.put("TaskNo", taskWrk.getTaskNo());
-                    try {
-                        response = new HttpHandler.Builder()
-                                // .setHeaders(headParam)
-                                .setUri(wmsUrl)
-                                .setPath(taskExecCallback)
-                                .setJson(JSON.toJSONString(headParam))
-                                .build()
-                                .doPost();
-                        JSONObject jsonObject = JSON.parseObject(response);
-                        if(jsonObject.get("ReturnStatus").equals(0)){
-                            bool = true;
-                            taskWrk.setStatus(2);
-                            taskWrkMapper.updateById(taskWrk);
-                        }
 
-                    } catch (Exception e) {
-                        log.error("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触", taskWrk);
-//                        throw new CoolException("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触");
-                    }finally {
-                        apiLogService.save("wcs娲惧彂绉诲簱浠诲姟涓婃姤wms"
-                                , wmsUrl + taskExecCallback
-                                , null
-                                , "127.0.0.1"
-                                , JSON.toJSONString(headParam)
-                                , response
-                                , bool
-                        );
+                    //涓婃姤-绉诲簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
+                    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
+                    HashMap<String, Object> hashMap = new HashMap<>();
+                    hashMap.put("taskNo", taskWrk.getTaskNo());
+                    hashMap.put("status", TaskStatusType.DISTRIBUTE.id);
+                    hashMap.put("ioType", 3);
+                    hashMap.put("barcode", taskWrk.getBarcode());
+                    hashMap.put("reportTime", format.format(new Date()));
+
+                    NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();
+                    customDataDto.setUri(wmsUrl);
+                    customDataDto.setPath(taskExecCallback);
+                    customDataDto.setData(JSON.toJSONString(hashMap));
+                    boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto);
+                    if(notifyResult) {
+                        taskWrk.setStatus(2);
+                        taskWrkService.updateById(taskWrk);
                     }
 
                 }

--
Gitblit v1.9.1