From a0abdbc0b19c855fa53e47a9196dfa2cd41e8e9d Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期六, 23 十二月 2023 19:56:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/tzskasrs-1' into tzskasrs-1

---
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java |   70 ++++++++++++++++++++++++++++------
 1 files changed, 57 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index 8d90d1d..964f52f 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -2,17 +2,17 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.AgvWrkMast;
 import com.zy.asrs.entity.param.AgvTaskCreateParam;
 import com.zy.asrs.entity.param.AgvTaskParam;
 import com.zy.asrs.entity.param.AgvTaskkDescribeParam;
 import com.zy.asrs.mapper.AgvWrkMastMapper;
-import com.zy.asrs.service.AgvLocMastService;
-import com.zy.asrs.service.AgvWrkDetlService;
-import com.zy.asrs.service.AgvWrkMastService;
-import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.*;
 import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +42,9 @@
     @Value("${agv.containerMoveOutPath}")
     private String containerMoveOutPath;
 
+    @Value("${agv.containerArrivedPath}")
+    private String containerArrivedPath;
+
     @Autowired
     AgvWrkMastMapper agvWrkMastMapper;
     @Autowired
@@ -50,6 +53,8 @@
     AgvLocMastService agvLocMastService;
     @Autowired
     ApiLogService apiLogService;
+    @Autowired
+    AgvBasDevpService agvBasDevpService;
 
     public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) {
         AgvWrkMast agvWrkMast = this.selectById(wrkNo);
@@ -72,26 +77,25 @@
         AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
         agvTaskCreateParam.setTaskType(taskType);
 
-//        //璋冪敤瀹瑰櫒鍏ュ満鏃舵墍闇�瑕佸弬鏁�
-//        Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
-//        List<Map<String,String>> positionCodeMapList = new ArrayList<>();
-//        containerMoveParam.put("containerMoveIns",positionCodeMapList);
-
         getRequestParam(agvTaskCreateParam,agvWrkMastList);
 
-        return doHttpRequest(agvTaskCreateParam,"涓婃灦浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1");
+        return doHttpRequest(agvTaskCreateParam,"鎼繍浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1");
 
         //return containerMoveParam;
     }
 
     //瀹瑰櫒鍏ュ満
-    public int containerMove(List<AgvWrkMast> agvWrkMastList) throws IOException {
+    public int containerMoveIn(List<AgvWrkMast> agvWrkMastList) throws IOException {
         //璋冪敤瀹瑰櫒鍏ュ満鏃舵墍闇�瑕佸弬鏁�
         Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
         List<Map<String,String>> positionCodeMapList = new ArrayList<>();
         containerMoveParam.put("containerMoveIns",positionCodeMapList);
 
         getContainerMoveParam(agvWrkMastList,positionCodeMapList);
+
+        if(Cools.isEmpty(positionCodeMapList)){
+            return 0;
+        }
         return doHttpRequest(containerMoveParam,"瀹瑰櫒鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1");
 
     }
@@ -115,9 +119,42 @@
         return index > 0;
     }
 
+    @Override
+    public boolean deleteByWrkNo(int wrkNo) {
+        return this.delete(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo));
+    }
+
+    //瀹瑰櫒鍒拌揪閫氱煡
+    public int containerArrived(AgvWrkMast agvWrkMast) {
+
+        Map<String,String> containerArrivedParam = new HashMap<>();
+        containerArrivedParam.put("slotCode",agvWrkMast.getSourceLocNo());
+        containerArrivedParam.put("containerCode",agvWrkMast.getBarcode());
+
+        return doHttpRequest(containerArrivedParam,"瀹瑰櫒杈惧埌閫氱煡",url, containerArrivedPath,null,"127.0.0.1");
+    }
+
+    @Override
+    public List<AgvWrkMast> selectReadyAgvWrkMast() {
+        List<String> stationCodes = agvBasDevpService.selectAllStationCode();
+        Wrapper<AgvWrkMast> wrapper = new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 21L).like(false, "loc_no", "@");
+        wrapper.in("loc_no",stationCodes);
+        return this.selectList(wrapper);
+        //return this.baseMapper.selectReadyAgvWrkMast();
+    }
+
+    @Override
+    public AgvWrkMast selectByContainerCode(String containerCode) {
+        return this.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode));
+    }
+
     private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
         //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
         for(AgvWrkMast agvWrkMast : agvWrkMastList){
+            //鍒ゆ柇鏄惁涓鸿緭閫佺嚎鍏ュ簱锛屾槸鍒欎笉闇�瑕佸鍣ㄨ繘鍦鸿姹�
+            if("Y".equals(agvWrkMast.getMk())){
+                continue;
+            }
             Map<String,String> positionCodeMap = new HashMap<>();
             positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo());
             positionCodeMapList.add(positionCodeMap);
@@ -139,8 +176,15 @@
             agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue());
 
             //AgvTaskkDescribeParam
-            agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
-            agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
+            if(agvWrkMast.getSourceLocNo().contains("CS") || agvWrkMast.getSourceLocNo().contains("SK")){
+                agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
+            }
+
+            if(agvWrkMast.getLocNo().contains("SK")){
+                agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
+            }else {
+                agvTaskkDescribeParam.setToStationCode(agvWrkMast.getLocNo());
+            }
             agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode());
             return agvTaskParam;
         }).collect(Collectors.toList());

--
Gitblit v1.9.1