From 080fdceed464c56f43633e85daeaf929d40496af Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期三, 18 十月 2023 13:16:07 +0800
Subject: [PATCH] 连接ERP 获取ERP库存信息

---
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java |   95 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 77 insertions(+), 18 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 eb6fc70..db9685d 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.AgvWrkMast;
@@ -9,6 +10,8 @@
 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.common.utils.HttpHandler;
@@ -37,53 +40,109 @@
     @Value("${agv.containerMoveInPath}")
     private String containerMoveInPath;
 
+    @Value("${agv.containerMoveOutPath}")
+    private String containerMoveOutPath;
+
     @Autowired
     AgvWrkMastMapper agvWrkMastMapper;
+    @Autowired
+    AgvWrkDetlService agvWrkDetlService;
+    @Autowired
+    AgvLocMastService agvLocMastService;
     @Autowired
     ApiLogService apiLogService;
 
     public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) {
         AgvWrkMast agvWrkMast = this.selectById(wrkNo);
+        //鍒ゆ柇瑕佷慨鏀圭殑宸ヤ綔妗g姸鎬佹槸鍚﹀悎鐞嗭紝濡傛灉涓嶅悎鐞嗗垯鎶涘嚭寮傚父
+        checkWrkSts(agvWrkMast,wrkSts);
         agvWrkMast.setWrkSts(wrkSts);
         this.updateById(agvWrkMast);
     }
 
-    public Map<String,List<Map<String,String>>> startWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
+    // TODO 鍒ゆ柇瑙勫垯
+    private boolean checkWrkSts(AgvWrkMast agvWrkMast,long wrkSts){
+
+
+
+        return true;
+    }
+
+    public int startWrk(List<AgvWrkMast> agvWrkMastList, String taskType) throws IOException {
 
         AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
-        agvTaskCreateParam.setTaskType("putaway");
+        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 containerMoveParam;
+    }
+
+    //瀹瑰櫒鍏ュ満
+    public int containerMove(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);
 
-        getRequestParam(agvTaskCreateParam,agvWrkMastList,positionCodeMapList);
-
-        doHttpRequest(agvTaskCreateParam,"涓婃灦浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1");
-
-        return containerMoveParam;
-    }
-
-    public int containerMove(Map<String, List<Map<String, String>>> containerMoveParam) throws IOException {
-
+        getContainerMoveParam(agvWrkMastList,positionCodeMapList);
         return doHttpRequest(containerMoveParam,"瀹瑰櫒鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1");
 
     }
 
-    private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam,List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
+    //瀹瑰櫒绂诲満
+    public int containerMoveOut(List<AgvWrkMast> agvWrkMastList){
+        Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
+        List<Map<String,String>> positionCodeMapList = new ArrayList<>();
+        containerMoveParam.put("containerMoveOuts",positionCodeMapList);
+        for(AgvWrkMast agvWrkMast : agvWrkMastList){
+            Map<String,String> positionCodeMap = new HashMap<>();
+            positionCodeMap.put("positionCode",agvWrkMast.getLocNo());
+            positionCodeMapList.add(positionCodeMap);
+        }
+        return doHttpRequest(containerMoveParam,"瀹瑰櫒绂诲満浠诲姟涓嬪彂",url, containerMoveOutPath,null,"127.0.0.1");
+    }
+
+    public boolean insertByIncrease(AgvWrkMast agvWrkMast) {
+        int index = this.baseMapper.insertByIncrease(agvWrkMast);
+
+        return index > 0;
+    }
+
+    @Override
+    public boolean deleteByWrkNo(int wrkNo) {
+        return this.delete(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo));
+    }
+
+    private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
+        //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
+        for(AgvWrkMast agvWrkMast : agvWrkMastList){
+            Map<String,String> positionCodeMap = new HashMap<>();
+            positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo());
+            positionCodeMapList.add(positionCodeMap);
+        }
+    }
+
+    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
-            agvTaskParam.setTaskCode(agvWrkMast.getWrkNo().toString());
-            agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue());
+            if(agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57){
+                agvTaskParam.setTaskCode(-agvWrkMast.getWrkNo() + "");
+            }else{
+                agvTaskParam.setTaskCode(agvWrkMast.getWrkNo() + "");
+            }
 
-            //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
-            Map<String,String> positionCodeMap = new HashMap<>();
-            positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo());
-            positionCodeMapList.add(positionCodeMap);
+            agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue());
 
             //AgvTaskkDescribeParam
             agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());

--
Gitblit v1.9.1