From 7d626989e20297c0f52cd80a44c3763e2c2d9865 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期日, 27 四月 2025 22:53:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  152 ++++++++++++++++++++++++++------------------------
 1 files changed, 80 insertions(+), 72 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 f20e742..b1ae386 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -10,7 +10,6 @@
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.Result;
 import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.CommandUtils;
@@ -42,6 +41,7 @@
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.io.IOException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -96,9 +96,7 @@
     @Value("${wms.inboundTaskApplyPath}")
     private String inboundTaskApplyPath;
     @Value("${wms.TaskExecCallback}")
-    private String TaskExecCallback;
-    @Value("${wms.taskStatusFeedbackPath}")
-    private String taskStatusFeedbackPath;
+    private String taskExecCallback;
 
     public synchronized void generateStoreWrkFile1() {
         try {
@@ -167,13 +165,13 @@
                         }
 
                         HashMap<String, Object> requestParam = new HashMap<>();
-                        requestParam.put("BoxNo", barcode);//鎵樼洏鐮�
-                        requestParam.put("TerminalNo", inSta.getStaNo());//鍏ュ簱鍙�
+                        requestParam.put("barcode", barcode);//鎵樼洏鐮�
+                        requestParam.put("stationCode", inSta.getStaNo());//鍏ュ簱鍙�
                         if (back) {
-                            requestParam.put("WCSStatus", 1);//澶辫触
-                            requestParam.put("WCSErrorMessage", errMsg);//澶辫触鍘熷洜
+                            requestParam.put("wcsStatus", 1);//澶辫触
+                            requestParam.put("wcsErrorMessage", errMsg);//澶辫触鍘熷洜
                         }else {
-                            requestParam.put("WCSStatus", 0);//鎴愬姛
+                            requestParam.put("wcsStatus", 0);//鎴愬姛
                         }
 
                         String response = "";
@@ -193,73 +191,78 @@
                                 continue;
                             }
 
-                            int returnStatus = Integer.parseInt(jsonObject.get("ReturnStatus").toString());
-                            if (returnStatus == 0) {
-                                Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class);
-                                // 鍒涙柊涓�涓叆搴撳伐浣滄。
-                                TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo());
-                                if(taskWrk != null) {
-                                    log.info("浠诲姟锛�" + result.getTaskNo() + "宸茬粡瀛樺湪");
-                                    continue;
-                                }
+                            JSONObject result = jsonObject.getJSONObject("data");
+                            Integer resultWrkNo = result.getInteger("wrkNo");
+                            Integer resultStaNo = result.getInteger("staNo");
+                            String resultLocNo = result.getString("locNo");
 
-                                String locNo = Utils.getLocNo(result.getRow(), result.getFloor(), result.getColumn());
-                                LocMast locMast = locMastService.selectByLocNo(locNo);
-                                if (locMast == null) {
-                                    log.info(locNo + "搴撲綅涓嶅瓨鍦�");
-                                    continue;
-                                }
+                            // 鍒涙柊涓�涓叆搴撳伐浣滄。
+                            TaskWrk taskWrk = taskWrkService.selectByTaskNo(String.valueOf(resultWrkNo));
+                            if(taskWrk != null) {
+                                log.info("浠诲姟锛�" + resultWrkNo + "宸茬粡瀛樺湪");
+                                continue;
+                            }
 
-                                if (!locMast.getLocSts().equals("O")) {
-                                    log.info(locNo + "搴撲綅涓嶅浜庣┖搴撲綅");
-                                    continue;
-                                }
+                            LocMast locMast = locMastService.selectByLocNo(resultLocNo);
+                            if (locMast == null) {
+                                log.info(resultLocNo + "搴撲綅涓嶅瓨鍦�");
+                                continue;
+                            }
 
-                                Date now = new Date();
-                                taskWrk = new TaskWrk();
-                                taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
-                                taskWrk.setWrkNo(commonService.getWorkNo(WorkNoType.PAKIN.type));//鑾峰彇鍏ュ簱宸ヤ綔鍙�
-                                taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
-                                taskWrk.setWrkSts(2);//2.璁惧涓婅蛋
-                                taskWrk.setCreateTime(now);
-                                    taskWrk.setIoType(1);//浠诲姟绫诲瀷
-                                    taskWrk.setIoPri(13);//浼樺厛绾�
-                                    taskWrk.setBarcode(barcode);//鏉$爜
-                                    taskWrk.setCrnNo(locMast.getCrnNo());
-                                    taskWrk.setTargetPoint(locNo);
-                                    taskWrk.setStartPoint(String.valueOf(staProtocol.getStaNo()));
-                                    if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
-                                        taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
-                                    }
+                            if (!locMast.getLocSts().equals("O")) {
+                                log.info(resultLocNo + "搴撲綅涓嶅浜庣┖搴撲綅");
+                                continue;
+                            }
 
-                                    if (!taskWrkService.insert(taskWrk)) {
-                                        log.info("浠诲姟锛�" + result.getTaskNo() + "浠诲姟鍒涘缓澶辫触");
-                                    continue;
-                                }
+                            Date now = new Date();
+                            taskWrk = new TaskWrk();
+                            taskWrk.setTaskNo(String.valueOf(resultWrkNo));//浠诲姟鍙�
+                            taskWrk.setWrkNo(commonService.getWorkNo(WorkNoType.PAKIN.type));//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+                            taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+                            taskWrk.setWrkSts(2);//2.璁惧涓婅蛋
+                            taskWrk.setCreateTime(now);
+                            taskWrk.setIoType(1);//浠诲姟绫诲瀷
+                            taskWrk.setIoPri(13);//浼樺厛绾�
+                            taskWrk.setBarcode(barcode);//鏉$爜
+                            taskWrk.setCrnNo(locMast.getCrnNo());
+                            taskWrk.setTargetPoint(resultLocNo);
+                            taskWrk.setStartPoint(String.valueOf(staProtocol.getStaNo()));
+                            if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
+                                taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
+                            }
 
-                                locMast.setLocSts("S");
-                                locMast.setModiTime(new Date());
-                                locMastService.updateById(locMast);
+                            if (!taskWrkService.insert(taskWrk)) {
+                                log.info("浠诲姟锛�" + resultWrkNo + "浠诲姟鍒涘缓澶辫触");
+                                continue;
+                            }
 
-                                StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                                        .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
-                                staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
-                                staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
-                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                            locMast.setLocSts("S");
+                            locMast.setModiTime(new Date());
+                            locMastService.updateById(locMast);
 
-                                //涓婃姤
-                                HashMap<String, Object> hashMap = new HashMap<>();
-                                hashMap.put("TaskNo", taskWrk.getTaskNo());
+                            StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+                                    .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+                            staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+                            staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
 
-                                NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();
-                                customDataDto.setUri(wmsUrl);
-                                customDataDto.setPath(taskStatusFeedbackPath);
-                                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(TaskStatusType.DISTRIBUTE.id);//浠诲姟娲惧彂
-                                    taskWrkService.updateById(taskWrk);
-                                }
+                            //涓婃姤
+                            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", 1);
+                            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(TaskStatusType.DISTRIBUTE.id);//浠诲姟娲惧彂
+                                taskWrkService.updateById(taskWrk);
                             }
                         } catch (Exception e) {
                             log.error("璇锋眰鍏ュ簱璋冪敤鎺ュ彛澶辫触");
@@ -597,12 +600,17 @@
                             }
 
                             //涓婃姤-鍑哄簱浠诲姟寮�濮嬫椂锛學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("taskNo", taskWrk.getTaskNo());
+                            hashMap.put("status", TaskStatusType.DISTRIBUTE.id);
+                            hashMap.put("ioType", 1);
+                            hashMap.put("barcode", taskWrk.getBarcode());
+                            hashMap.put("reportTime", format.format(new Date()));
 
                             NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();
                             customDataDto.setUri(wmsUrl);
-                            customDataDto.setPath(taskStatusFeedbackPath);
+                            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) {
@@ -690,7 +698,7 @@
                         response = new HttpHandler.Builder()
                                 // .setHeaders(headParam)
                                 .setUri(wmsUrl)
-                                .setPath(taskStatusFeedbackPath)
+                                .setPath(taskExecCallback)
                                 .setJson(JSON.toJSONString(headParam))
                                 .build()
                                 .doPost();
@@ -706,7 +714,7 @@
 //                        throw new CoolException("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触");
                     }finally {
                         apiLogService.save("wcs娲惧彂绉诲簱浠诲姟涓婃姤wms"
-                                , wmsUrl + taskStatusFeedbackPath
+                                , wmsUrl + taskExecCallback
                                 , null
                                 , "127.0.0.1"
                                 , JSON.toJSONString(headParam)

--
Gitblit v1.9.1