From 8b9b604e379f92dc61fb55e1454b7f1d107428d9 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 16 六月 2025 16:14:17 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/utils/CommandUtils.java            |  112 ++++++++++
 src/main/java/com/zy/asrs/controller/SiteController.java     |    4 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java  |  383 +++++++++++++++++-----------------
 src/main/java/com/zy/asrs/entity/param/Result.java           |   21 +
 src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java |   78 +++---
 src/main/resources/application-prod.yml                      |   14 +
 pom.xml                                                      |    2 
 src/main/java/com/zy/asrs/service/ToWmsService.java          |    4 
 8 files changed, 382 insertions(+), 236 deletions(-)

diff --git a/pom.xml b/pom.xml
index f8501f5..6db2168 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
     <groupId>com.zy</groupId>
-    <artifactId>scwcs</artifactId>
+    <artifactId>wcs</artifactId>
     <version>1.0.0</version>
     <packaging>war</packaging>
 
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 183e4c1..741daa3 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -48,8 +48,8 @@
             SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
             Map<String, Object> map2 = new HashMap<>();
             map2.put("floor", 2);
-            map2.put("modeVal", devpThread.ioModeOf1F.id);
-            map2.put("modeDesc", devpThread.ioModeOf1F.desc);
+            map2.put("modeVal", devpThread.ioModeOf1F1.id);
+            map2.put("modeDesc", devpThread.ioModeOf1F1.desc);
             res.add(map2);
         }
         return R.ok().add(res);
diff --git a/src/main/java/com/zy/asrs/entity/param/Result.java b/src/main/java/com/zy/asrs/entity/param/Result.java
new file mode 100644
index 0000000..94e8945
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/Result.java
@@ -0,0 +1,21 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class Result {
+    /**
+     * 鍒嗛厤鐨勮揣浣嶆墍灞炰换鍔D
+     */
+    private String taskNo;
+    /**
+     * 搴撲綅鍙�
+     */
+    private String locNo;
+    /**
+     * 鍫嗗灈鏈虹紪鍙�
+     */
+    private Integer crnNo;
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/ToWmsService.java b/src/main/java/com/zy/asrs/service/ToWmsService.java
index 5a8fc50..ee50a3c 100644
--- a/src/main/java/com/zy/asrs/service/ToWmsService.java
+++ b/src/main/java/com/zy/asrs/service/ToWmsService.java
@@ -1,10 +1,10 @@
 package com.zy.asrs.service;
 
 import com.zy.asrs.entity.TaskWrk;
-import com.zy.asrs.entity.wms.StorageEscalationParam;
+import com.zy.asrs.entity.param.StorageEscalationParam;
 import com.zy.asrs.entity.wms.WmsResult;
 
-public interface ToWmsService {
+public interface  ToWmsService {
 
     void addReportLog(TaskWrk taskWrk);
 
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 8e98ef9..01f354a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -12,7 +12,6 @@
 import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.domain.param.CrnOperatorParam;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.Result;
 import com.zy.asrs.entity.param.StorageEscalationParam;
 import com.zy.asrs.entity.param.TaskOverToWms;
 import com.zy.asrs.mapper.BasCrnErrorMapper;
@@ -388,172 +387,172 @@
         }
     }
 
-    //鎷f枡鍥炲簱
-    public synchronized void PickingAndReturningToTheWarehouse() throws IOException, InterruptedException {
-        try {
-            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
-            for (DevpSlave devp : slaveProperties.getDevp()) {
-                // 閬嶅巻鍏ュ簱鍙�
-                for (DevpSlave.Sta inSta : devp.getPickSta()) {
-                    StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
-                    // 鑾峰彇鍏ュ簱绔欎俊鎭�
-                    DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
-                    if (staProtocol == null) {
-                        continue;
-                    } else {
-                        staProtocol = staProtocol.clone();
-                    }
-                    Short workNo = staProtocol.getWorkNo();
-                    //led
-                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-
-                    // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
-                    if (staProtocol.isAutoing() && staProtocol.isLoading()
-                            && staProtocol.isInEnable()
-                            && staProtocol.isPakMk()) {
-                        // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-                        String BoxNo = "";
-                        //绔欑偣鎷f枡鍥炲簱浠诲姟鏄細鏈変竴鏉�
-                        TaskWrk taskWrkk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("start_point", staProtocol.getSiteId()));
-                        if (!Cools.isEmpty(taskWrkk)) {
-                            continue;
-                        }
-                        if (!staProtocol.isEmptyMk() && staProtocol.getWorkNo() < 9990) {
-
-                            TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("wrk_no", workNo));
-
-                            if (!Cools.isEmpty(taskWrk1)) {
-                                BoxNo = taskWrk1.getBarcode();
-                            } else {
-                                TaskWrkLog taskWrkLog = taskWrkLogService.selectOne(new EntityWrapper<TaskWrkLog>().eq("wrk_no", workNo).orderBy("modi_time", false));
-                                if (taskWrkLog != null) {
-                                    BoxNo = taskWrkLog.getBarcode();
-                                }
-                            }
-                        }
-                        log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
-                        storageEscalationParam.setBoxNo(BoxNo);
-                        //鏄惁婊℃澘 1婊℃澘  0绌烘澘
-                        storageEscalationParam.setStaType(staProtocol.isEmptyMk() ? 0 : 1);
-                        //搴撲綅绫诲瀷 1楂樺簱浣� 0浣庡簱浣�
-                        storageEscalationParam.setLocType(staProtocol.isHigh() ? 1 : 0);
-                        storageEscalationParam.setTerminalNo(staProtocol.getSiteId());
-                        String response = "";
-                        Boolean success = false;
-                        try {
-                            response = new HttpHandler.Builder()
-                                    .setUri(wmsUrl)
-                                    .setPath(inboundTaskApplyPath)
-                                    .setJson(JSON.toJSONString(storageEscalationParam))
-                                    .build()
-                                    .doPost();
-                            JSONObject jsonObject = JSON.parseObject(response);
-
-                            if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) {
-                                Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class);
-
-                                // 鍒涙柊涓�涓叆搴撳伐浣滄。
-                                TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo());
-                                if (Cools.isEmpty(taskWrk)) {
-                                    taskWrk = createTask1(result, BoxNo, staProtocol.getSiteId());
-                                    if (Cools.isEmpty(taskWrk)) {
-                                        log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛�={}", taskWrk.getOriginTargetPoint());
-                                    } else {
-                                        taskWrkService.insert(taskWrk);
-                                        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));
-                                        HashMap<String, Object> hashMap = new HashMap<>();
-                                        hashMap.put("TaskNo", taskWrk.getTaskNo());
-                                        try {
-                                            //寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
-                                            response = new HttpHandler.Builder()
-                                                    .setUri(wmsUrl)
-                                                    .setPath(taskStatusFeedbackPath)
-                                                    .setJson(JSON.toJSONString(hashMap))
-                                                    .build()
-                                                    .doPost();
-                                            JSONObject jsonObject1 = JSON.parseObject(response);
-                                            Boolean bool = false;
-                                            if (jsonObject1.get("ReturnStatus").equals(0)) {
-                                                taskWrk.setStatus(2);//娲惧彂浠诲姟
-                                                bool = true;
-                                                taskWrkService.updateById(taskWrk);
-                                            }
-                                            apiLogService.save("wcs寮�濮嬪叆搴撲换鍔′笂鎶ms"
-                                                    , wmsUrl + TaskExecCallback
-                                                    , null
-                                                    , "127.0.0.1"
-                                                    , JSON.toJSONString(hashMap)
-                                                    , response
-                                                    , bool
-                                            );
-                                        } catch (Exception e) {
-
-                                        }
-                                    }
-                                } else {
-                                    // led 寮傚父鏄剧ず
-                                    if (ledThread != null) {
-                                        String errorMsg = "浠诲姟宸插瓨鍦紒锛侊紒锛�";
-                                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
-                                    }
-                                    staProtocol.setWorkNo((short) 9991);
-                                    staProtocol.setStaNo(inSta.getBackSta().shortValue());
-                                    devpThread.setPakMk(staProtocol.getSiteId(), false);
-                                    MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                                }
-
-                            } else {
-                                // led 寮傚父鏄剧ず
-                                if (ledThread != null) {
-                                    String errorMsg = jsonObject.getString("ErrorMessage");
-                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
-                                }
-                                staProtocol.setWorkNo((short) 9991);
-                                staProtocol.setStaNo(inSta.getBackSta().shortValue());
-                                devpThread.setPakMk(staProtocol.getSiteId(), false);
-                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            }
-
-                        } catch (Exception e) {
-                            log.error("璇锋眰鍏ュ簱璋冪敤鎺ュ彛澶辫触");
-                            log.error("寮傚父淇℃伅鎵撳嵃锛�" + e);
-                            try {
-                                BasDevp basDevp = basDevpService.selectById(inSta.getStaNo());
-                                if (Cools.isEmpty(basDevp)) {
-                                    log.error("绔欑偣鍙峰紓甯�" + inSta.getStaNo());
-                                } else if (basDevp.getStaErr() != 0) {
-                                    basDevp.setStaErr(2);
-                                    basDevpService.updateById(basDevp);
-                                }
-                            } catch (Exception e1) {
-                                // 閫�鍥�
-                                log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + "寮傚父淇℃伅" + e1);
-                            }
-                        } finally {
-                            apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛"
-                                    , wmsUrl + inboundTaskApplyPath
-                                    , null
-                                    , "127.0.0.1"
-                                    , JSON.toJSONString(storageEscalationParam)
-                                    , response
-                                    , success
-                            );
-                        }
-                        log.info("鍏ュ簱璇锋眰鍙傛暟=" + JSON.toJSONString(BoxNo));
-                        log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟=" + JSON.toJSONString(response));
-                    }
-                }
-            }
-        } catch (Exception e) {
-            log.error("generateStoreWrkFile e", e);
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-        }
-    }
+//    //鎷f枡鍥炲簱
+//    public synchronized void PickingAndReturningToTheWarehouse() throws IOException, InterruptedException {
+//        try {
+//            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+//            for (DevpSlave devp : slaveProperties.getDevp()) {
+//                // 閬嶅巻鍏ュ簱鍙�
+//                for (DevpSlave.Sta inSta : devp.getPickSta()) {
+//                    StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
+//                    // 鑾峰彇鍏ュ簱绔欎俊鎭�
+//                    DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+//                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+//                    if (staProtocol == null) {
+//                        continue;
+//                    } else {
+//                        staProtocol = staProtocol.clone();
+//                    }
+//                    Short workNo = staProtocol.getWorkNo();
+//                    //led
+//                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+//
+//                    // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+//                    if (staProtocol.isAutoing() && staProtocol.isLoading()
+//                            && staProtocol.isInEnable()
+//                            && staProtocol.isPakMk()) {
+//                        // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+//                        String BoxNo = "";
+//                        //绔欑偣鎷f枡鍥炲簱浠诲姟鏄細鏈変竴鏉�
+//                        TaskWrk taskWrkk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("start_point", staProtocol.getSiteId()));
+//                        if (!Cools.isEmpty(taskWrkk)) {
+//                            continue;
+//                        }
+//                        if (!staProtocol.isEmptyMk() && staProtocol.getWorkNo() < 9990) {
+//
+//                            TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("wrk_no", workNo));
+//
+//                            if (!Cools.isEmpty(taskWrk1)) {
+//                                BoxNo = taskWrk1.getBarcode();
+//                            } else {
+//                                TaskWrkLog taskWrkLog = taskWrkLogService.selectOne(new EntityWrapper<TaskWrkLog>().eq("wrk_no", workNo).orderBy("modi_time", false));
+//                                if (taskWrkLog != null) {
+//                                    BoxNo = taskWrkLog.getBarcode();
+//                                }
+//                            }
+//                        }
+//                        log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
+//                        storageEscalationParam.setBoxNo(BoxNo);
+//                        //鏄惁婊℃澘 1婊℃澘  0绌烘澘
+//                        storageEscalationParam.setStaType(staProtocol.isEmptyMk() ? 0 : 1);
+//                        //搴撲綅绫诲瀷 1楂樺簱浣� 0浣庡簱浣�
+//                        storageEscalationParam.setLocType(staProtocol.isHigh() ? 1 : 0);
+//                        storageEscalationParam.setTerminalNo(staProtocol.getSiteId());
+//                        String response = "";
+//                        Boolean success = false;
+//                        try {
+//                            response = new HttpHandler.Builder()
+//                                    .setUri(wmsUrl)
+//                                    .setPath(inboundTaskApplyPath)
+//                                    .setJson(JSON.toJSONString(storageEscalationParam))
+//                                    .build()
+//                                    .doPost();
+//                            JSONObject jsonObject = JSON.parseObject(response);
+//
+//                            if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) {
+//                                Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class);
+//
+//                                // 鍒涙柊涓�涓叆搴撳伐浣滄。
+//                                TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo());
+//                                if (Cools.isEmpty(taskWrk)) {
+//                                    taskWrk = createTask1(result, BoxNo, staProtocol.getSiteId());
+//                                    if (Cools.isEmpty(taskWrk)) {
+//                                        log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛�={}", taskWrk.getOriginTargetPoint());
+//                                    } else {
+//                                        taskWrkService.insert(taskWrk);
+//                                        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));
+//                                        HashMap<String, Object> hashMap = new HashMap<>();
+//                                        hashMap.put("TaskNo", taskWrk.getTaskNo());
+//                                        try {
+//                                            //寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
+//                                            response = new HttpHandler.Builder()
+//                                                    .setUri(wmsUrl)
+//                                                    .setPath(taskStatusFeedbackPath)
+//                                                    .setJson(JSON.toJSONString(hashMap))
+//                                                    .build()
+//                                                    .doPost();
+//                                            JSONObject jsonObject1 = JSON.parseObject(response);
+//                                            Boolean bool = false;
+//                                            if (jsonObject1.get("ReturnStatus").equals(0)) {
+//                                                taskWrk.setStatus(2);//娲惧彂浠诲姟
+//                                                bool = true;
+//                                                taskWrkService.updateById(taskWrk);
+//                                            }
+//                                            apiLogService.save("wcs寮�濮嬪叆搴撲换鍔′笂鎶ms"
+//                                                    , wmsUrl + TaskExecCallback
+//                                                    , null
+//                                                    , "127.0.0.1"
+//                                                    , JSON.toJSONString(hashMap)
+//                                                    , response
+//                                                    , bool
+//                                            );
+//                                        } catch (Exception e) {
+//
+//                                        }
+//                                    }
+//                                } else {
+//                                    // led 寮傚父鏄剧ず
+//                                    if (ledThread != null) {
+//                                        String errorMsg = "浠诲姟宸插瓨鍦紒锛侊紒锛�";
+//                                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+//                                    }
+//                                    staProtocol.setWorkNo((short) 9991);
+//                                    staProtocol.setStaNo(inSta.getBackSta().shortValue());
+//                                    devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                                    MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                                }
+//
+//                            } else {
+//                                // led 寮傚父鏄剧ず
+//                                if (ledThread != null) {
+//                                    String errorMsg = jsonObject.getString("ErrorMessage");
+//                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+//                                }
+//                                staProtocol.setWorkNo((short) 9991);
+//                                staProtocol.setStaNo(inSta.getBackSta().shortValue());
+//                                devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                            }
+//
+//                        } catch (Exception e) {
+//                            log.error("璇锋眰鍏ュ簱璋冪敤鎺ュ彛澶辫触");
+//                            log.error("寮傚父淇℃伅鎵撳嵃锛�" + e);
+//                            try {
+//                                BasDevp basDevp = basDevpService.selectById(inSta.getStaNo());
+//                                if (Cools.isEmpty(basDevp)) {
+//                                    log.error("绔欑偣鍙峰紓甯�" + inSta.getStaNo());
+//                                } else if (basDevp.getStaErr() != 0) {
+//                                    basDevp.setStaErr(2);
+//                                    basDevpService.updateById(basDevp);
+//                                }
+//                            } catch (Exception e1) {
+//                                // 閫�鍥�
+//                                log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + "寮傚父淇℃伅" + e1);
+//                            }
+//                        } finally {
+//                            apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛"
+//                                    , wmsUrl + inboundTaskApplyPath
+//                                    , null
+//                                    , "127.0.0.1"
+//                                    , JSON.toJSONString(storageEscalationParam)
+//                                    , response
+//                                    , success
+//                            );
+//                        }
+//                        log.info("鍏ュ簱璇锋眰鍙傛暟=" + JSON.toJSONString(BoxNo));
+//                        log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟=" + JSON.toJSONString(response));
+//                    }
+//                }
+//            }
+//        } catch (Exception e) {
+//            log.error("generateStoreWrkFile e", e);
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//        }
+//    }
 
     public synchronized void generateStoreWrkFile() throws IOException, InterruptedException {
         try {
@@ -1705,31 +1704,31 @@
         return response;
     }
 
-    private TaskWrk createTask1(Result result, String barcode, Integer staNo) {
-        String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn());
-
-        Date now = new Date();
-        TaskWrk taskWrk = new TaskWrk();
-        int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
-        taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
-        taskWrk.setWrkNo(workNo1);
-        taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
-        taskWrk.setCreateTime(now);
-        taskWrk.setIoType(1);//浠诲姟绫诲瀷 鍏ュ簱
-        taskWrk.setIoPri(13);//浼樺厛绾�
-        taskWrk.setBarcode(barcode);//鏉$爜
-        taskWrk.setTargetPoint(locNo);
-        taskWrk.setStartPoint(staNo + "");
-        taskWrk.setCrnNo(Integer.valueOf(result.getAlley()));//鍫嗗灈鏈哄彿
-
-        if (taskWrk.getIoType() == 1) {
-            taskWrk.setWrkSts(2);
-            if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
-                taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
-            }
-        }
-        return taskWrk;
-    }
+//    private TaskWrk createTask1(Result result, String barcode, Integer staNo) {
+//        String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn());
+//
+//        Date now = new Date();
+//        TaskWrk taskWrk = new TaskWrk();
+//        int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+//        taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
+//        taskWrk.setWrkNo(workNo1);
+//        taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+//        taskWrk.setCreateTime(now);
+//        taskWrk.setIoType(1);//浠诲姟绫诲瀷 鍏ュ簱
+//        taskWrk.setIoPri(13);//浼樺厛绾�
+//        taskWrk.setBarcode(barcode);//鏉$爜
+//        taskWrk.setTargetPoint(locNo);
+//        taskWrk.setStartPoint(staNo + "");
+//        taskWrk.setCrnNo(Integer.valueOf(result.getAlley()));//鍫嗗灈鏈哄彿
+//
+//        if (taskWrk.getIoType() == 1) {
+//            taskWrk.setWrkSts(2);
+//            if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
+//                taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
+//            }
+//        }
+//        return taskWrk;
+//    }
 
     private TaskWrk createTask(GetWmsDto dto, String barcode) {
         String wcsLocNo = dto.getLocNo();
diff --git a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
index 94eb972..6f10a9c 100644
--- a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
@@ -8,7 +8,7 @@
 import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.TaskWrk;
 import com.zy.asrs.entity.TaskWrkReport;
-import com.zy.asrs.entity.wms.StorageEscalationParam;
+import com.zy.asrs.entity.param.StorageEscalationParam;
 import com.zy.asrs.entity.wms.WmsResult;
 import com.zy.asrs.service.*;
 import com.zy.common.service.CommonService;
@@ -84,44 +84,44 @@
 
     @Override
     public TaskWrk getLocNoFromWms(StorageEscalationParam wmsParam) {
-        String response = "";
-        Boolean success = false;
-        try {
-            response = new HttpHandler.Builder()
-                    .setUri(wmsUrl)
-                    .setPath(inboundTaskApplyPath)
-                    .setJson(JSON.toJSONString(wmsParam))
-                    .build()
-                    .doPost();
-            if (!Cools.isEmpty(response)) {
-                JSONObject jsonObject = JSON.parseObject(response);
-                if (!Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) {
-                    //鏈変簺涓夋柟wms绯荤粺涓嶈兘鍙婃椂杩斿洖搴撲綅鍙凤紝杩欐椂鍊欏氨闇�瑕�
-                    //ZWmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class);
-                    TaskWrk taskWrk = null;
-                    int i = 1;
-                    while (i < 10) {
-                        taskWrk = taskWrkService.selectByBarcode(wmsParam.getBarcode());
-                        if (taskWrk != null) {
-                            break;
-                        }
-                        try {
-                            i++;
-                            Thread.sleep(500L);
-                        } catch (InterruptedException e) {
-                            throw new RuntimeException(e);
-                        }
-                    }
-                    return taskWrk;
-                }
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-            log.info("璇锋眰wms鎶ラ敊锛寋}", e.getMessage());
-        } finally {
-            addApiLog("鍏ュ簱浠诲姟璇锋眰鑾峰彇搴撲綅", wmsUrl + inboundTaskApplyPath, JSON.toJSONString(wmsParam), response, success);
-        }
-        return null;
+//        String response = "";
+//        Boolean success = false;
+//        try {
+//            response = new HttpHandler.Builder()
+//                    .setUri(wmsUrl)
+//                    .setPath(inboundTaskApplyPath)
+//                    .setJson(JSON.toJSONString(wmsParam))
+//                    .build()
+//                    .doPost();
+//            if (!Cools.isEmpty(response)) {
+//                JSONObject jsonObject = JSON.parseObject(response);
+//                if (!Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) {
+//                    //鏈変簺涓夋柟wms绯荤粺涓嶈兘鍙婃椂杩斿洖搴撲綅鍙凤紝杩欐椂鍊欏氨闇�瑕�
+//                    //ZWmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class);
+//                    TaskWrk taskWrk = null;
+//                    int i = 1;
+//                    while (i < 10) {
+//                        taskWrk = taskWrkService.selectByBarcode(wmsParam.getBarcode());
+//                        if (taskWrk != null) {
+//                            break;
+//                        }
+//                        try {
+//                            i++;
+//                            Thread.sleep(500L);
+//                        } catch (InterruptedException e) {
+//                            throw new RuntimeException(e);
+//                        }
+//                    }
+//                    return taskWrk;
+//                }
+//            }
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//            log.info("璇锋眰wms鎶ラ敊锛寋}", e.getMessage());
+//        } finally {
+//            addApiLog("鍏ュ簱浠诲姟璇锋眰鑾峰彇搴撲綅", wmsUrl + inboundTaskApplyPath, JSON.toJSONString(wmsParam), response, success);
+//        }
+          return null;
     }
 
 
diff --git a/src/main/java/com/zy/asrs/utils/CommandUtils.java b/src/main/java/com/zy/asrs/utils/CommandUtils.java
new file mode 100644
index 0000000..fbe4ec3
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/CommandUtils.java
@@ -0,0 +1,112 @@
+package com.zy.asrs.utils;
+
+import com.alibaba.fastjson.JSON;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.CommandInfo;
+import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.service.CommandInfoService;
+import com.zy.asrs.service.TaskWrkService;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.enums.CommandStatusType;
+import com.zy.core.enums.CommandType;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.Task;
+import com.zy.core.model.command.CommandPackage;
+import com.zy.core.model.command.CrnCommand;
+import com.zy.core.model.protocol.StaProtocol;
+
+import java.util.Date;
+
+public class CommandUtils {
+
+    public static boolean offer(SlaveType type, Integer id, Task task) {
+        return offer(type, id, task, true);
+    }
+
+    public static boolean offer(SlaveType type, Integer id, Task task, Boolean auto) {
+        CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
+        if (commandInfoService == null) {
+            return false;
+        }
+        TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
+        if (taskWrkService == null) {
+            return false;
+        }
+
+        CommandInfo commandInfo = null;
+        TaskWrk taskWrk = null;
+        int wrkNo = 0;//宸ヤ綔鍙�
+        String taskNo = null;//浠诲姟鍙�
+
+        if (type == SlaveType.Crn) {
+            CommandPackage<CrnCommand> commandPackage = new CommandPackage<>();
+            CrnCommand command = (CrnCommand) task.getData();
+            wrkNo = command.getTaskNo();
+            if (auto && wrkNo != 0) {
+                taskWrk = taskWrkService.selectByWrkNo(wrkNo);
+                taskNo = taskWrk.getTaskNo();
+            }
+
+            commandInfo = new CommandInfo();
+            commandInfo.setWrkNo(wrkNo);
+            commandInfo.setTaskNo(taskNo);
+            commandInfo.setCommandStatus(CommandStatusType.CREATE.id);
+            commandInfo.setStartTime(new Date());
+            commandInfo.setDevice(SlaveType.Crn.toString());
+            commandInfo.setCommandType(auto ? CommandType.AUTO.id : CommandType.MANUAL.id);
+
+            commandInfoService.insert(commandInfo);//鎻掑叆鎸囦护
+
+            command.setCommandId(commandInfo.getId());
+            commandPackage.setWrkNo(wrkNo);
+            commandPackage.setDevice("鍫嗗灈鏈�");
+            commandPackage.setCommand(command);//淇濆瓨鍛戒护鎶ユ枃
+            commandInfo.setCommand(JSON.toJSONString(commandPackage));
+            commandInfoService.updateById(commandInfo);
+
+            if (!auto) {
+                //灏嗘寚浠よ繘琛屾姇閫�
+                if (!MessageQueue.offer(type, id, task)) {
+                    return false;
+                }
+            }
+            return true;
+        } else if (type == SlaveType.Devp) {
+            CommandPackage<StaProtocol> commandPackage = new CommandPackage<>();
+            StaProtocol staProtocol = (StaProtocol) task.getData();
+            wrkNo = staProtocol.getWorkNo();
+            if (auto && wrkNo != 0) {
+                taskWrk = taskWrkService.selectByWrkNo(wrkNo);
+                taskNo = taskWrk.getTaskNo();
+            }
+
+            commandInfo = new CommandInfo();
+            commandInfo.setWrkNo(wrkNo);
+            commandInfo.setTaskNo(taskNo);
+            commandInfo.setCommandStatus(CommandStatusType.CREATE.id);
+            commandInfo.setStartTime(new Date());
+            commandInfo.setDevice(SlaveType.Devp.toString());
+            commandInfo.setCommandType(auto ? CommandType.AUTO.id : CommandType.MANUAL.id);
+
+            commandInfoService.insert(commandInfo);//鎻掑叆鎸囦护
+
+            staProtocol.setCommandId(commandInfo.getId());
+            commandPackage.setCommand(staProtocol);
+            commandPackage.setWrkNo(wrkNo);
+            commandPackage.setDevice("杈撻�佺嚎");
+            commandInfo.setCommand(JSON.toJSONString(commandPackage));//淇濆瓨鍛戒护鎶ユ枃
+            commandInfoService.updateById(commandInfo);
+
+            if (!auto) {
+                //灏嗘寚浠よ繘琛屾姇閫�
+                if (!MessageQueue.offer(type, id, task)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        return false;
+    }
+
+}
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index d90d3da..c9aa539 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -23,6 +23,20 @@
       lev: 1
       backSta: 100
       devpPlcId: 1
+      
+  devp[0]:
+    id: 1
+    ip:
+    rack: 0
+    port: 102
+    slot: 0
+    emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0
+      staNo: 100
+    inSta[0]: #鍏ュ簱鍙�1
+      staNo: 100
+    outSta[0]: #鍑哄簱鍙�1
+      staNo: 100
+
 
 
 

--
Gitblit v1.9.1