From e4d5a0e37babc1ae214c34162e58f5084927d301 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 02 十二月 2023 14:26:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ghtzwcsOld' into ghtzwcsOld

---
 src/main/java/com/zy/asrs/entity/GetWmsDto.java             |   20 ++++++
 src/main/java/com/zy/asrs/utils/Utils.java                  |   21 ++++--
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   81 +++++++++++++++++---------
 src/main/java/com/zy/asrs/entity/ToWmsDTO.java              |    3 +
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |    5 +
 src/main/resources/application.yml                          |    2 
 6 files changed, 94 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/GetWmsDto.java b/src/main/java/com/zy/asrs/entity/GetWmsDto.java
new file mode 100644
index 0000000..8e8cf4e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/GetWmsDto.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+@Data
+public class GetWmsDto {
+
+    private String warehouseId;         //浠撳簱鏍囪瘑
+    private String warehouseCode;
+    //wms鍑哄簱浠诲姟涓嬪彂鎺ュ彛
+    private String taskType;            //浠诲姟绫诲瀷             CK銆乊K銆丷K銆丳D
+    private String taskNo;              //浠诲姟鍙�
+    private String taskPriority;           //浼樺厛绾�
+    private String containerCode;       //瀹瑰櫒缂栫爜
+    private String containerTypeCode;   //瀹瑰櫒绫诲瀷
+    private String emptyContainer;      //鏄惁绌烘墭鐩�            Y:鏄� N锛氬惁
+    private Integer taskTunnel;             //浠诲姟宸烽亾
+    private String createTime;          //鍒涘缓鏃堕棿             YYYY-MM-DD HH24:MI:SS
+    private String targetLocationCode;  //鐩爣璐т綅
+}
diff --git a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
index 7d2618d..e40df4c 100644
--- a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
+++ b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.entity;
 
+import io.swagger.models.auth.In;
 import lombok.Data;
 
 import java.util.List;
@@ -10,5 +11,7 @@
     private String containerCode;
     private String applyType;
     private String wharfSource;
+
+    private Integer taskTunnel;
     private List<Integer> canInboundTunnels;
 }
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 c66b089..d940a05 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -10,6 +10,7 @@
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
+import com.zy.asrs.entity.param.taskCreateParam;
 import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.CommandUtils;
@@ -43,10 +44,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -93,7 +91,7 @@
     private String movePath;
 
 
-    public void generateStoreWrkFile() {
+    public void generateStoreWrkFile() throws IOException {
         // 鏍规嵁杈撻�佺嚎plc閬嶅巻
         for (DevpSlave devp : slaveProperties.getDevp()) {
             // 閬嶅巻鍏ュ簱鍙�
@@ -109,7 +107,7 @@
                 Short workNo = staProtocol.getWorkNo();
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                 if (staProtocol.isAutoing() && staProtocol.isLoading()
-                        && !staProtocol.isInEnable()
+                        && staProtocol.isInEnable()
                         && !staProtocol.isEmptyMk() && (workNo >= 0)
                         && staProtocol.isPakMk()) {
 
@@ -166,29 +164,54 @@
                     }
                     String barcode = barcodeThread.getBarcode();
                     if(!Cools.isEmpty(barcode)) {
-//                        ToWmsDTO toWmsDTO = new ToWmsDTO();
-//                        Map<String, Object> map = new HashMap<>();
-//                        map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
-//                        List<Integer> list = openServiceImpl.getInEnableRoadway();
-//
-//                        //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
-//                        toWmsDTO.setWarehouseId("1688469798893297665");
-//                        toWmsDTO.setContainerCode(param.getContainerCode());
-//                        toWmsDTO.setApplyType("TUNNEL");
-//                        toWmsDTO.setWharfSource(null);
-//                        toWmsDTO.setCanInboundTunnels(list);
-//                        String response = null;
-//                        try {
-//                            response = new HttpHandler.Builder()
-//                                    .setHeaders(map)
-//                                    .setUri(wmsUrl)
-//                                    .setPath("wcsManager/wcsInterface/inboundTaskApply")
-//                                    .setJson(JSON.toJSONString(toWmsDTO))
-//                                    .build()
-//                                    .doPost();
-//                        }catch (Exception e){
-//
-//                        }
+                        ToWmsDTO toWmsDTO = new ToWmsDTO();
+                        Map<String, Object> map = new HashMap<>();
+                        map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+                        List<Integer> list = openServiceImpl.getInEnableRoadway();
+                        TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode).eq("crn_no",inSta.getBarcode()));
+                        if (Cools.isEmpty(taskWrk)){
+                            continue;
+                        }
+                        if (taskWrk.getTargetPoint() != null && taskWrk.getStartPoint() != null && taskWrk.getWrkNo() != null){
+                            staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+                            staProtocol.setStaNo(inSta.getStaNo().shortValue());
+                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                        }else {
+                            //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
+                            toWmsDTO.setWarehouseId("1688469798893297665");
+                            toWmsDTO.setContainerCode(barcode);
+                            toWmsDTO.setApplyType("TUNNEL_LOCATION");
+                            toWmsDTO.setTaskTunnel(taskWrk.getCrnNo());
+                            toWmsDTO.setCanInboundTunnels(list);
+                            String response = null;
+                            try {
+                                response = new HttpHandler.Builder()
+                                        .setHeaders(map)
+                                        .setUri(wmsUrl)
+                                        .setPath("wcsManager/wcsInterface/inboundTaskApply")
+                                        .setJson(JSON.toJSONString(toWmsDTO))
+                                        .build()
+                                        .doPost();
+                            }catch (Exception e){
+                                log.error("wms閫氳澶辫触,"+e.getMessage());
+                                continue;
+                            }
+                            JSONObject jsonObject = JSON.parseObject(response);
+                            if (jsonObject.getInteger("code").equals(200)) {
+                                GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
+
+                                taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode()));
+                                taskWrk.setStartPoint(String.valueOf(inSta.getBackSta()));
+                                if (!taskWrkService.updateById(taskWrk)){
+                                    log.error("淇濆瓨wms搴撲綅鍙峰け璐�");
+                                }
+
+                            }else {
+                                log.error("wms閫氳澶辫触,"+jsonObject.get("msg"));
+
+                            }
+                        }
+
                     }
                 }
 
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 6da4410..431c17e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -184,7 +184,7 @@
         map.put(115,4);
         map.put(119,5);
         map.put(123,6);
-        map.put(300,7);
+        //map.put(301,7);
         // 鏍规嵁杈撻�佺嚎plc閬嶅巻
         for (DevpSlave devp : slaveProperties.getDevp()) {
             // 閬嶅巻鍏ュ簱鍙�
@@ -199,6 +199,9 @@
                 }
                 Short workNo = staProtocol.getWorkNo();
                 if (workNo == 0 && !staProtocol.isLoading()){
+                    if (Cools.isEmpty(map.get(inSta.getStaNo()))){
+                        continue;
+                    }
                     list.add(map.get(inSta.getStaNo()));
                 }
             }
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index cc56ed7..b1b7e5c 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -27,25 +27,32 @@
         if (split[3].equals("01")){
             ints = Arrays.copyOfRange(wcsRow, 0, (wcsRow.length+2-1) / 2);
             if (split[4].equals("01")){
-                ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1);
+                ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
             }else {
                 ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2);
             }
         }else {
-            ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2,wcsRow.length-1 );
+            ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2-1,wcsRow.length-1 );
             if (split[4].equals("01")){
 
-                ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2);
+                ints = Arrays.copyOfRange(ints, 0, ints.length / 2);
             }else {
-                ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1);
+                ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
             }
         }
         int i = ints[0];
         String wcsLocNo = "";
-        if (i>9){
-            wcsLocNo = i+"0"+split[1]+split[2];
+        Integer bay = Integer.parseInt(split[1])+1;
+        String bay2 = "";
+        if (bay>9){
+            bay2 = bay.toString();
         }else {
-            wcsLocNo = "0"+i+"0"+split[1]+split[2];
+            bay2 = "0"+bay;
+        }
+        if (i>9){
+            wcsLocNo = i+"0"+bay2+split[2];
+        }else {
+            wcsLocNo = "0"+i+"0"+bay2+split[2];
         }
 
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1bd1127..96400a2 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -49,7 +49,7 @@
   # WMS绯荤粺ip
   #url: 10.32.53.195:8080
   # WMS绯荤粺ip
-  url: w.informfengyun.com:58088/prod-api
+  url: 10.32.53.195:8080
   # 鍏ュ簱浠诲姟鐢宠鎺ュ彛
   inboundTaskApplyPath: api/InterFace/get_InterFace_TestStorage
   # 浠诲姟鐘舵�佸弽棣堟帴鍙�

--
Gitblit v1.9.1