From 4efdfa79008cb12e1fbb7120cd68198cd0d0677c Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 13 十二月 2023 16:47:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  172 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 150 insertions(+), 22 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 522bd71..d641197 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.fasterxml.jackson.databind.ObjectMapper;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.TaskOverToWms;
 import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
 import com.zy.asrs.entity.param.taskCreateParam;
 import com.zy.asrs.mapper.*;
@@ -85,6 +86,8 @@
 
     @Autowired
     private OpenServiceImpl openServiceImpl;
+    @Autowired
+    private StaDescService staDescService;
 
     @Value("${wms.url}")
     private String wmsUrl;
@@ -415,6 +418,15 @@
                     if (taskWrkMapper.updateById(taskWrk) == 0) {
                         log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
                     }
+                    //寮�濮嬭繍琛�
+                    String response = CrnStartRunning(taskWrk);
+                    JSONObject jsonObject = JSON.parseObject(response);
+                    if (jsonObject.getInteger("code").equals(200)) {
+
+                    }else {
+                        log.error("鍏ュ簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg"));
+
+                    }
                 }
 
 //                // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -513,25 +525,25 @@
                             String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
                             TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo);
                             if (!Cools.isEmpty(hallowLocNoTask)){
-                                if (!Cools.isEmpty(hallowLocNoTask.getTargetPoint())){
-                                    continue;
-                                }
-//                            new PostMesDataUtils().postMesData("绉诲簱浠诲姟鍒嗛厤搴撲綅",wmsUrl,movePath,hallowLocNoTask);
-                                try {
-                                    String response = new HttpHandler.Builder()
-                                            .setUri(wmsUrl)
-                                            .setPath(movePath)
-                                            .setJson(JSON.toJSONString(hallowLocNoTask))
-                                            .build()
-                                            .doPost();
-                                    System.out.println("response:"+response);
-                                    JSONObject jsonObject = JSON.parseObject(response);
-                                    if (jsonObject.getInteger("code").equals(200)) {
-                                        //瑙f瀽
-                                    }
-                                }catch (Exception e){
-                                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl+"/"+movePath, JSON.toJSONString(hallowLocNoTask), "璇锋眰绉诲簱浠诲姟鍒嗛厤搴撲綅");
-                                }
+//                                if (!Cools.isEmpty(hallowLocNoTask.getTargetPoint())){
+//                                    continue;
+//                                }
+////                            new PostMesDataUtils().postMesData("绉诲簱浠诲姟鍒嗛厤搴撲綅",wmsUrl,movePath,hallowLocNoTask);
+//                                try {
+//                                    String response = new HttpHandler.Builder()
+//                                            .setUri(wmsUrl)
+//                                            .setPath(movePath)
+//                                            .setJson(JSON.toJSONString(hallowLocNoTask))
+//                                            .build()
+//                                            .doPost();
+//                                    System.out.println("response:"+response);
+//                                    JSONObject jsonObject = JSON.parseObject(response);
+//                                    if (jsonObject.getInteger("code").equals(200)) {
+//                                        //瑙f瀽
+//                                    }
+//                                }catch (Exception e){
+//                                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl+"/"+movePath, JSON.toJSONString(hallowLocNoTask), "璇锋眰绉诲簱浠诲姟鍒嗛厤搴撲綅");
+//                                }
                                 continue;
                             }
                         }
@@ -556,6 +568,15 @@
                             if (taskWrkMapper.updateById(taskWrk) == 0) {
                                 log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
                             }
+                            //寮�濮嬭繍琛�
+                            String response = CrnStartRunning(taskWrk);
+                            JSONObject jsonObject = JSON.parseObject(response);
+                            if (jsonObject.getInteger("code").equals(200)) {
+
+                            }else {
+                                log.error("鍑哄簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg"));
+
+                            }
                         }
 
                     }
@@ -570,9 +591,50 @@
     public void locToLoc(CrnSlave slave, CrnProtocol crnProtocol){
         for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
             // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑绉诲簱宸ヤ綔妗�
-            List<TaskWrk> taskWrks = taskWrkMapper.selectPakOut3(slave.getId(), crnStn.getStaNo().toString());
+            List<TaskWrk> taskWrks = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>()
+                    .eq("crn_no",slave.getId())
+                    .eq("wrk_sts",11)
+                    .eq("io_type",3));
             for (TaskWrk taskWrk : taskWrks){
-                if (taskWrk == null || Cools.isEmpty(taskWrk.getTargetPoint()) || taskWrk.getTargetPoint().equals("")) {
+                if (Cools.isEmpty(taskWrk.getTargetPoint())){
+                    List<Integer> list = openServiceImpl.getInEnableRoadway();
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+                    ToWmsDTO toWmsDTO = new ToWmsDTO();
+                    toWmsDTO.setWarehouseId("1688469798893297665");
+                    toWmsDTO.setContainerCode(taskWrk.getBarcode());
+                    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.setOriginTargetPoint(getWmsDto.getTargetLocationCode());
+                        taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode()));
+                        if (!taskWrkService.updateById(taskWrk)){
+                            log.error("淇濆瓨wms搴撲綅鍙峰け璐�");
+                        }
+                        continue;
+                    }else {
+                        log.error("wms閫氳澶辫触,"+jsonObject.get("msg"));
+                        continue;
+                    }
+
+                 }
+                if (taskWrk == null || Cools.isEmpty(taskWrk.getTargetPoint()) || taskWrk.getTargetPoint().equals("") || taskWrk.getWrkNo() == null) {
                     continue;
                 }
                 // 宸ヤ綔妗g姸鎬佸垽鏂�
@@ -607,7 +669,7 @@
                 crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鍒�
                 crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅灞�
                 crnCommand.setCommand((short) 1);
-                if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
+                if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand),false)) {
                     log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
                 } else {
                     // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
@@ -616,6 +678,15 @@
                     taskWrk.setModiTime(now);
                     if (taskWrkMapper.updateById(taskWrk) == 0) {
                         log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+                    }
+                    //寮�濮嬭繍琛�
+                    String response = CrnStartRunning(taskWrk);
+                    JSONObject jsonObject = JSON.parseObject(response);
+                    if (jsonObject.getInteger("code").equals(200)) {
+
+                    }else {
+                        log.error("绉诲簱浠诲姟寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg"));
+                        continue;
                     }
                     break;
                 }
@@ -890,4 +961,61 @@
     }
 
 
+    public synchronized String CrnStartRunning(TaskWrk taskWrk){
+        String tasktype = null;
+        switch (taskWrk.getIoType()){
+            case 1:
+                tasktype= "RK";
+                break;
+            case 2:
+                tasktype= "CK";
+                break;
+            case 3:
+                tasktype= "YK";
+                break;
+            default:
+                tasktype= "鏈煡";
+        }
+        Map<String, Object> map = new HashMap<>();
+        map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+        TaskOverToWms taskOverToWms = new TaskOverToWms();
+        taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮
+        taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑
+        taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙�
+        taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷
+        taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜
+        if (taskWrk.getIoType() ==1 || taskWrk.getIoType() == 3){
+            taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
+            taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
+        }else if (taskWrk.getIoType() ==2){
+            Map<Integer,String> map1 = new HashMap<>();
+            map1.put(102,"J-1101");
+            map1.put(106,"J-1103");
+            map1.put(110,"J-1105");
+            map1.put(114,"J-1107");
+            map1.put(118,"J-1109");
+            map1.put(122,"J-1111");
+            map1.put(305,"H-1101");
+            map1.put(405,"G-1101");
+            taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜
+            taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣�
+        }
+
+        taskOverToWms.setTaskStatus("executing"); //浠诲姟鐘舵��
+        String response = null;
+        try {
+            response = new HttpHandler.Builder()
+                    .setHeaders(map)
+                    .setUri(wmsUrl)
+                    .setPath("wcsManager/wcsInterface/taskStatusFeedback")
+                    .setJson(JSON.toJSONString(taskOverToWms))
+                    .build()
+                    .doPost();
+        }catch (Exception e){
+            log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
+        }
+        return response;
+    }
+
+
 }

--
Gitblit v1.9.1