From f78cdcd32b1b872efce68e6a45aba7181df1f9fb Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 29 五月 2024 10:30:53 +0800
Subject: [PATCH] # 组托入库取消任务回退入库单作业数量,更新作业站点为空接驳位

---
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java |  125 ++++++++++++++++++++++++++++-------------
 1 files changed, 85 insertions(+), 40 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 66d1b6e..1dd5f31 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -7,12 +7,14 @@
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.AgvBasDevp;
+import com.zy.asrs.entity.AgvLocMast;
 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.*;
+import com.zy.common.service.AgvCommonService;
 import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,11 +22,7 @@
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
+import java.util.*;
 
 @Service
 @Slf4j
@@ -35,6 +33,9 @@
 
     @Value("${agv.taskCreatePath}")
     private String taskCreatePath;
+
+    @Value("${agv.taskCancelPath}")
+    private String taskCancelPath;
 
     @Value("${agv.containerMoveInPath}")
     private String containerMoveInPath;
@@ -55,12 +56,28 @@
     ApiLogService apiLogService;
     @Autowired
     AgvBasDevpService agvBasDevpService;
+    @Autowired
+    private AgvCommonService agvCommonService;
+    @Autowired
+    private AgvWrkMastService agvWrkMastService;
 
     public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) {
         AgvWrkMast agvWrkMast = this.selectById(wrkNo);
         //鍒ゆ柇瑕佷慨鏀圭殑宸ヤ綔妗g姸鎬佹槸鍚﹀悎鐞嗭紝濡傛灉涓嶅悎鐞嗗垯鎶涘嚭寮傚父
         checkWrkSts(agvWrkMast,wrkSts);
         agvWrkMast.setWrkSts(wrkSts);
+        this.updateById(agvWrkMast);
+    }
+
+    public void updateWrkStsByWrkNo(int wrkNo, long wrkSts,String manuType,long userId) {
+        Date now = new Date();
+        AgvWrkMast agvWrkMast = this.selectById(wrkNo);
+        //鍒ゆ柇瑕佷慨鏀圭殑宸ヤ綔妗g姸鎬佹槸鍚﹀悎鐞嗭紝濡傛灉涓嶅悎鐞嗗垯鎶涘嚭寮傚父
+        checkWrkSts(agvWrkMast,wrkSts);
+        agvWrkMast.setWrkSts(wrkSts);
+        agvWrkMast.setManuType(manuType);
+        agvWrkMast.setModiTime(now);
+        agvWrkMast.setModiUser(userId);
         this.updateById(agvWrkMast);
     }
 
@@ -72,21 +89,32 @@
         return true;
     }
 
-    public int startWrk(List<AgvWrkMast> agvWrkMastList, String taskType) throws IOException {
+    public int startWrk(AgvWrkMast agvWrkMast) throws IOException {
 
         AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
-        agvTaskCreateParam.setTaskType(taskType);
+        //agvTaskCreateParam.setTaskType(taskType);
 
-        getRequestParam(agvTaskCreateParam,agvWrkMastList);
+        getRequestParam(agvTaskCreateParam,agvWrkMast);
 
         return doHttpRequest(agvTaskCreateParam,"鎼繍浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1");
 
         //return containerMoveParam;
     }
 
-    //瀹瑰櫒鍏ュ満
+    public int startAllcationIn(AgvWrkMast agvWrkMast) throws IOException {
+        AgvBasDevp basDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
+        //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
+        AgvLocMast locMast = agvCommonService.getLocNo(basDevp.getLocType1(),basDevp.getFloor());
+        agvWrkMast.setLocNo(locMast.getLocNo());
+        agvWrkMast.setWrkSts(201L);
+        agvWrkMastService.updateById(agvWrkMast);
+        return 0;
+
+    }
+
+    //璐ф灦鍏ュ満
     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);
@@ -96,11 +124,11 @@
         if(Cools.isEmpty(positionCodeMapList)){
             return 0;
         }
-        return doHttpRequest(containerMoveParam,"瀹瑰櫒鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1");
+        return doHttpRequest(containerMoveParam,"璐ф灦鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1");
 
     }
 
-    //瀹瑰櫒绂诲満
+    //璐ф灦绂诲満
     public int containerMoveOut(List<AgvWrkMast> agvWrkMastList){
         Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
         List<Map<String,String>> positionCodeMapList = new ArrayList<>();
@@ -110,7 +138,7 @@
             positionCodeMap.put("positionCode",agvWrkMast.getLocNo());
             positionCodeMapList.add(positionCodeMap);
         }
-        return doHttpRequest(containerMoveParam,"瀹瑰櫒绂诲満浠诲姟涓嬪彂",url, containerMoveOutPath,null,"127.0.0.1");
+        return doHttpRequest(containerMoveParam,"璐ф灦绂诲満浠诲姟涓嬪彂",url, containerMoveOutPath,null,"127.0.0.1");
     }
 
     public boolean insertByIncrease(AgvWrkMast agvWrkMast) {
@@ -124,14 +152,14 @@
         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");
+        return doHttpRequest(containerArrivedParam,"璐ф灦杈惧埌閫氱煡",url, containerArrivedPath,null,"127.0.0.1");
     }
 
     @Override
@@ -143,10 +171,26 @@
         //return this.baseMapper.selectReadyAgvWrkMast();
     }
 
+    @Override
+    public AgvWrkMast selectByContainerCode(String containerCode) {
+        return this.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode));
+    }
+
+    @Override
+    public int callCancelTask(int wrkNo) {
+
+        AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
+        agvTaskCreateParam.setTaskCode(wrkNo + "");
+
+        return doHttpRequest(agvTaskCreateParam,"鍙栨秷浠诲姟涓嬪彂",url, taskCancelPath,null,"127.0.0.1");
+
+    }
+
+
     private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
-        //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
+        //寰�璐ф灦鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
         for(AgvWrkMast agvWrkMast : agvWrkMastList){
-            //鍒ゆ柇鏄惁涓鸿緭閫佺嚎鍏ュ簱锛屾槸鍒欎笉闇�瑕佸鍣ㄨ繘鍦鸿姹�
+            //鍒ゆ柇鏄惁涓鸿緭閫佺嚎鍏ュ簱锛屾槸鍒欎笉闇�瑕佽揣鏋惰繘鍦鸿姹�
             if("Y".equals(agvWrkMast.getMk())){
                 continue;
             }
@@ -156,30 +200,31 @@
         }
     }
 
-    private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam,List<AgvWrkMast> agvWrkMastList){
-        List<AgvTaskParam> agvTaskParamList = agvWrkMastList.stream().map(agvWrkMast -> {
-            AgvTaskParam agvTaskParam = new AgvTaskParam();
-            AgvTaskkDescribeParam agvTaskkDescribeParam = new AgvTaskkDescribeParam();
-            agvTaskParam.setTaskDescribe(agvTaskkDescribeParam);
-            //AgvTaskParam
-            if(agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57){
-                agvTaskParam.setTaskCode(-agvWrkMast.getWrkNo() + "");
-            }else{
-                agvTaskParam.setTaskCode(agvWrkMast.getWrkNo() + "");
-            }
+    private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam,AgvWrkMast agvWrkMast){
 
-            agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue());
+        List<AgvTaskParam> agvTaskParamList = Arrays.asList(
+                //璧峰浣�
+                new AgvTaskParam(agvWrkMast.getSourceLocNo()),
+                //鐩爣浣�
+                new AgvTaskParam(agvWrkMast.getLocNo()));
 
-            //AgvTaskkDescribeParam
-            if(agvWrkMast.getSourceLocNo().contains("CS") || agvWrkMast.getSourceLocNo().contains("SK")){
-                agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
-            }
-            agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
-            agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode());
-            return agvTaskParam;
-        }).collect(Collectors.toList());
+//        //璧峰浣�
+//        agvTaskParamList.add(new AgvTaskParam(agvWrkMast.getSourceLocNo()));
+//        //鐩爣浣�
+//        agvTaskParamList.add(new AgvTaskParam(agvWrkMast.getLocNo()));
 
-        agvTaskCreateParam.setTasks(agvTaskParamList);
+        if(agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57 ){
+            agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo());
+        }
+        agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
+        if (agvWrkMast.getIoType() == 108 || (agvWrkMast.getIoType() == 109 && agvWrkMast.getWrkSts() == 201) || agvWrkMast.getIoType() == 12) {
+            agvTaskCreateParam.setTaskTyp("F06");
+        } else  {
+            agvTaskCreateParam.setTaskTyp("F01");
+        }
+
+        agvTaskCreateParam.setPositionCodePath(agvTaskParamList);
+
     }
 
     private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){
@@ -195,7 +240,7 @@
                     .doPost();
             JSONObject jsonObject = JSON.parseObject(response);
 
-            int code = (int) jsonObject.get("code");
+            int code = Integer.parseInt(jsonObject.get("code").toString());
             if(code != 0){
                 throw new CoolException("璋冪敤AGV鍝嶅簲閿欒");
             }

--
Gitblit v1.9.1