From 2c945116a7d4dccac387930e40980ae1ba32f05c Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期六, 30 三月 2024 16:18:58 +0800
Subject: [PATCH] 物料导入更新 任务完成不解绑站点和容器 组托入库时增加判断是否容器和接驳位已经绑定

---
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java |   70 ++++++++++++++++++----------------
 1 files changed, 37 insertions(+), 33 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 2cf9450..c2b575b 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -3,18 +3,15 @@
 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;
@@ -22,11 +19,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
@@ -55,6 +48,8 @@
     AgvLocMastService agvLocMastService;
     @Autowired
     ApiLogService apiLogService;
+    @Autowired
+    AgvBasDevpService agvBasDevpService;
 
     public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) {
         AgvWrkMast agvWrkMast = this.selectById(wrkNo);
@@ -72,12 +67,12 @@
         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");
 
@@ -134,6 +129,20 @@
         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){
@@ -147,28 +156,23 @@
         }
     }
 
-    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
-            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);
+        agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
+        agvTaskCreateParam.setTaskTyp("F01");
+        agvTaskCreateParam.setPositionCodePath(agvTaskParamList);
+
     }
 
     private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){
@@ -184,7 +188,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