From 385a7a63f86903b74c4a878ab22b69a63a8f5e54 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 15 五月 2025 15:54:23 +0800
Subject: [PATCH] 外置输送线wms通知输送线流动

---
 src/main/java/com/zy/asrs/domain/param/ApplyInDevpDto.java  |   23 ++
 src/main/java/com/zy/asrs/controller/OpenController.java    |  286 -------------------------
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |  285 ++-----------------------
 src/main/java/com/zy/asrs/service/OpenService.java          |   15 
 4 files changed, 62 insertions(+), 547 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index a508bdb..29f9c40 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -2,15 +2,14 @@
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.annotations.AppAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
 import com.core.exception.CoolException;
+import com.zy.asrs.domain.param.ApplyInDevpDto;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.CrnStatusParam;
 import com.zy.asrs.entity.param.TaskCreateParam;
-import com.zy.asrs.entity.param.TaskOverParam;
 import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
 import com.zy.asrs.service.*;
 import com.zy.common.web.BaseController;
@@ -20,11 +19,8 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.lang.reflect.Field;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 @Slf4j
 @RestController
@@ -55,55 +51,6 @@
     private LocMastService locMastService;
     @Autowired
     private BasCrnErrorService basCrnErrorService;
-
-
-    public static <T> List<T> convertListMapToListObject(List<HashMap<String, Object>> listMap, Class<T> clazz) throws Exception {
-        List<T> list = new ArrayList<>();
-
-        for (Map<String, Object> map : listMap) {
-            T obj = clazz.getDeclaredConstructor().newInstance();
-
-            for (Map.Entry<String, Object> entry : map.entrySet()) {
-                String key = entry.getKey();
-                Object value = entry.getValue();
-
-                try {
-                    Field field = clazz.getDeclaredField(key);
-                    field.setAccessible(true);
-                    setFieldValue(obj, field, value);
-                } catch (NoSuchFieldException e) {
-                    System.out.println("No such field: " + key + " in class " + clazz.getName());
-                }
-            }
-
-            list.add(obj);
-        }
-
-        return list;
-    }
-
-    private static void setFieldValue(Object obj, Field field, Object value) throws IllegalAccessException {
-        Class<?> fieldType = field.getType();
-
-        if (fieldType.isAssignableFrom(value.getClass())) {
-            field.set(obj, value);
-        } else if (fieldType == int.class || fieldType == Integer.class) {
-            field.set(obj, ((Number) value).intValue());
-        } else if (fieldType == long.class || fieldType == Long.class) {
-            field.set(obj, ((Number) value).longValue());
-        } else if (fieldType == double.class || fieldType == Double.class) {
-            field.set(obj, ((Number) value).doubleValue());
-        } else if (fieldType == float.class || fieldType == Float.class) {
-            field.set(obj, ((Number) value).floatValue());
-        } else if (fieldType == boolean.class || fieldType == Boolean.class) {
-            field.set(obj, (Boolean) value);
-        } else if (fieldType == String.class) {
-            field.set(obj, String.valueOf(value));
-        } else {
-            System.out.println("Unsupported field type: " + fieldType.getName());
-        }
-    }
-
 
     //鍒涘缓浠诲姟
     @PostMapping("/taskCreate")
@@ -247,45 +194,6 @@
         return R.ok(crnStatusParams);
     }
 
-    //鍙栨斁璐х敵璇�
-    @PostMapping("/pick/and/place/v1")
-    @AppAuth(memo = "agv鍙栨斁璐х敵璇�")
-    public R getAgvPickAndPlaceV1(@RequestHeader String appkey,
-                                  @RequestBody TaskOverParam param,
-                                  HttpServletRequest request) {
-        auth(appkey, param, request);
-        if (Cools.isEmpty(param)) {
-            return R.parse(BaseRes.PARAM);
-        }
-        if (Cools.isEmpty(param.getStartPoint())) {
-            return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
-        }
-        if (Cools.isEmpty(param.getType())) {
-            return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
-        }
-        return openService.getAgvPickAndPlaceV1(param);
-    }
-
-    //鍙栨斁璐у畬鎴愬弽棣�
-    @PostMapping("/pick/and/place/v2")
-    @AppAuth(memo = "agv鍙栨斁璐у畬鎴愬弽棣�")
-    public R getAgvPickAndPlaceV2(@RequestHeader String appkey,
-                                  @RequestBody TaskOverParam param,
-                                  HttpServletRequest request) {
-        auth(appkey, param, request);
-        if (Cools.isEmpty(param)) {
-            return R.parse(BaseRes.PARAM);
-        }
-        if (Cools.isEmpty(param.getStartPoint())) {
-            return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
-        }
-        if (Cools.isEmpty(param.getType())) {
-            return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
-        }
-        return openService.getAgvPickAndPlaceV2(param);
-    }
-
-
     private void auth(String appkey, Object obj, HttpServletRequest request) {
         log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getServletPath(), appkey, JSON.toJSONString(obj));
         request.setAttribute("cache", obj);
@@ -314,6 +222,7 @@
     @GetMapping("/queryTaskCommand")
     public R queryTaskCommand(@RequestHeader String appkey,
                               @RequestParam String taskNo,
+
                               HttpServletRequest request) {
         auth(appkey, taskNo, request);
         TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
@@ -325,188 +234,13 @@
         return R.ok().add(commandInfos);
     }
 
+    // 澶栫疆杈撻�佺嚎wms閫氱煡杈撻�佺嚎娴佸姩,涓婃姤鏃跺�欎笂鎶ョ珯鐐瑰嵆鍙�
+    @PostMapping("/applyInDevp")
+    public R applyInDevp(@RequestHeader String appkey,
+                         @RequestBody ApplyInDevpDto param,
+                         HttpServletRequest request) {
+        auth(appkey, param, request);
+        return openService.applyInDevp(param);
+    }
 
-    //浠诲姟涓嬪彂鎺ュ彛
-//    @PostMapping("/outboundTaskSend")
-//    @Transactional
-//    public HashMap<String, Object> outboundTaskSend(@RequestBody List<CarryParam> params) {
-//        HashMap<String, Object> map = new HashMap<>();
-//        for (CarryParam param : params) {
-//            if (Cools.isEmpty(param)) {
-//                map.put("Code", "0");
-//                map.put("Msg", "鍙傛暟涓虹┖锛�");
-//                return map;
-//            } else if (Cools.isEmpty(param.getTaskNo())) {
-//                map.put("Code", "0");
-//                map.put("Msg", "浠诲姟鍙蜂负绌猴紒");
-//                return map;
-//            } else if (Cools.isEmpty(param.getStereoscopicTaskType())) {
-//                map.put("Code", "0");
-//                map.put("Msg", "浠诲姟绫诲瀷涓虹┖锛�");
-//                return map;
-//            }
-//            String fusion = Utils.Fusion(param.getOriginalRowNo(), param.getOriginalFloorNo(), param.getOriginalColumnNo());
-//            param.setStartPoint(fusion);
-//            LocMast locMast = locMastService.selectByLocNo(param.getStartPoint());
-//            if (Cools.isEmpty(locMast)) {
-//                map.put("Code", "0");
-//                map.put("Msg", "鍒濆搴撲綅鏃犳硶鎵惧埌锛�");
-//                return map;
-//            }
-//
-//            HashMap<String, Object> r = new HashMap<>();
-//
-//            if (param.getStereoscopicTaskType() == 2) {
-//                //鍑哄簱浠诲姟鍒涘缓
-//                StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-//                        .eq("type_no", 2)
-//                        .eq("crn_no", locMast.getCrnNo())
-//                        .eq("stn_no", param.getTerminalNo()));
-//                if (Cools.isEmpty(staDesc)) {
-//                    map.put("Code", "0");
-//                    map.put("Msg", "鍑哄簱璺緞涓嶅瓨鍦紒");
-//                    return map;
-//                }
-//                r = openService.taskCreate(new TaskCreateParam(param, staDesc.getCrnNo()));
-//                if (r.get("Code").equals("0")) {
-//                    return r;
-//                }
-//            } else if (param.getStereoscopicTaskType() == 3) {
-//                String fusion1 = Utils.Fusion(param.getGoalRowNo(), param.getGoalFloorNo(), param.getGoalColumnNo());
-//                param.setTerminalNo(fusion1);
-//                //绉诲簱浠诲姟鍒涘缓
-//                r = openService.taskCreate(new TaskCreateParam(param, locMast.getCrnNo()));
-//                if (r.get("Code").equals("0")) {
-//                    return r;
-//                }
-//            }
-//            apiLogService.save("Wms浠诲姟涓嬪彂鎺ュ彛"
-//                    , request.getRemoteAddr() + request.getRequestURI()
-//                    , ""
-//                    , request.getRemoteAddr()
-//                    , JSON.toJSONString(param)
-//                    , r.toString()
-//                    , true
-//            );
-//        }
-//        map.put("Code", "1");
-//        map.put("Msg", "ok");
-//        return map;
-//    }
-
-    //AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛
-//    @PostMapping("/targetWharfApply")
-//    @AppAuth(memo = "AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛")
-//    public R targetWharfApply(@RequestHeader String appkey,
-//                              @RequestBody WMSAndAGVInterfaceParam param,
-//                              HttpServletRequest request) throws IOException {
-//        auth(appkey, param, request);
-//
-//        if (Cools.isEmpty(param)) {
-//            return R.error("鍙傛暟涓虹┖锛�");
-//        } else if (Cools.isEmpty(param.getTaskNo())) {
-//            return R.error("宸ヤ綔鍙蜂负绌猴紒");
-//        } else if (Cools.isEmpty(param.getContainerCode())) {
-//            return R.error("鎵樼洏缂栫爜涓虹┖锛�");
-//        } else if (Cools.isEmpty(param.getWharfSource())) {
-//            return R.error("婧愮爜澶翠负绌猴紒");
-//        } else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size() == 0) {
-//            return R.error("绌洪棽鐨勫叆搴撶爜澶达紙AGV锛変负绌猴紒");
-//        }
-//        R r = openService.AgvToWCSToWms(param);
-//        apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛"
-//                , request.getRemoteAddr() + request.getRequestURI()
-//                , appkey
-//                , request.getRemoteAddr()
-//                , JSON.toJSONString(param)
-//                , r.toString()
-//                , true
-//        );
-//        return r;
-//    }
-//
-//    //AGV璇锋眰鍔ㄤ綔鎺ュ彛
-//    @PostMapping("/agvTaskRequest")
-//    @AppAuth(memo = "AGV璇锋眰鍔ㄤ綔鎺ュ彛")
-//    public R agvTaskRequest(@RequestHeader String appkey,
-//                            @RequestBody WMSAndAGVInterfaceParam param,
-//                            HttpServletRequest request) {
-//        auth(appkey, param, request);
-//        if (Cools.isEmpty(param)) {
-//            return R.error("鍙傛暟涓虹┖锛�");
-//        } else if (Cools.isEmpty(param.getRequestType())) {
-//            return R.error("璇锋眰绫诲瀷涓虹┖锛�");
-//        } else if (Cools.isEmpty(param.getWharfCode())) {
-//            return R.error("鐮佸ご缂栧彿涓虹┖锛�");
-//        }
-//
-//        Map<String, Integer> map = new HashMap<>();
-//        map.put("J-1102", 102);
-//        map.put("J-1101", 101);
-//        map.put("J-1103", 105);
-//        map.put("J-1104", 106);
-//        map.put("J-1105", 109);
-//        map.put("J-1106", 110);
-//        map.put("J-1107", 113);
-//        map.put("J-1108", 114);
-//        map.put("J-1109", 117);
-//        map.put("J-1110", 118);
-//        map.put("J-1111", 121);
-//        map.put("J-1112", 122);
-//        map.put("H-1102", 300);
-//        map.put("H-1101", 305);
-//        map.put("G-1102", 400);
-//        map.put("G-1101", 405);
-////        StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-////                .eq("stn_desc", param.getWharfCode()));
-////
-////        if (Cools.isEmpty(staDesc)){
-////            return R.error("绋嬪簭鎶ラ敊锛屾湭鏌ヨ鍒扮珯鐐�");
-////        }
-//        if (Cools.isEmpty(map.get(param.getWharfCode()))) {
-//            return R.error("鏈煡璇㈠埌绔欑偣");
-//        }
-//        BasDevp basDevp = basDevpService.selectById(map.get(param.getWharfCode()));
-//        if (basDevp.getAutoing().equals("Y") && (basDevp.getInEnable().equals("Y") || basDevp.getOutEnable().equals("Y"))) {
-//            apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛"
-//                    , request.getRemoteAddr() + request.getRequestURI()
-//                    , appkey
-//                    , request.getRemoteAddr()
-//                    , JSON.toJSONString(param)
-//                    , R.ok().toString()
-//                    , true
-//            );
-//            return R.ok("鍙叆");
-//        } else {
-//            apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛"
-//                    , request.getRemoteAddr() + request.getRequestURI()
-//                    , appkey
-//                    , request.getRemoteAddr()
-//                    , JSON.toJSONString(param)
-//                    , R.error("绔欑偣鐘舵�佷笉鍙叆").toString()
-//                    , true
-//            );
-//            return R.error("绔欑偣鐘舵�佷笉鍙叆");
-//        }
-//
-//
-//    }
-//    @PostMapping("/toAgvTaskOver")
-//    @AppAuth(memo = "agv浠诲姟瀹屾垚鎺ュ彛")
-//    public R getAgvTaskOver(@RequestHeader String appkey,
-//                            @RequestBody TaskOverParam param,
-//                            HttpServletRequest request) {
-//        auth(appkey, param, request);
-//        if (Cools.isEmpty(param)) {
-//            return R.parse(BaseRes.PARAM);
-//        }
-//        if (Cools.isEmpty(param.getStartPoint())) {
-//            return R.error("鐮佸ご[wharfCode]涓嶈兘涓虹┖");
-//        }
-//        if (Cools.isEmpty(param.getStatus())) {
-//            return R.error("瀹屾垚鏍囪[status]涓嶈兘涓虹┖");
-//        }
-//        openService.getAgvTaskOver(param);
-//        return R.ok();
-//    }
 }
diff --git a/src/main/java/com/zy/asrs/domain/param/ApplyInDevpDto.java b/src/main/java/com/zy/asrs/domain/param/ApplyInDevpDto.java
new file mode 100644
index 0000000..88efd12
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/ApplyInDevpDto.java
@@ -0,0 +1,23 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+/**
+ * @author pang.jiabao
+ * @description 閫氱煡杈撻�佺嚎娴佸姩
+ * @createDate 2025/5/15 14:27
+ */
+@Data
+public class ApplyInDevpDto {
+
+    /**
+     * 婧愮珯鐐�
+     */
+    private Integer sourceSite;
+
+    /**
+     * 鐩爣绔欑偣
+     */
+    private Integer targetSite;
+
+}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 7071d38..79463a0 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -1,11 +1,9 @@
 package com.zy.asrs.service;
 
 import com.core.common.R;
+import com.zy.asrs.domain.param.ApplyInDevpDto;
 import com.zy.asrs.entity.param.TaskCreateParam;
-import com.zy.asrs.entity.param.TaskOverParam;
-import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
 
-import java.io.IOException;
 import java.util.HashMap;
 
 public interface OpenService {
@@ -13,11 +11,8 @@
     //鍒涘缓浠诲姟
     HashMap<String, Object> taskCreate(TaskCreateParam param);
 
-    R AgvToWCSToWms(WMSAndAGVInterfaceParam param) throws IOException;
-
-    void getAgvTaskOver(TaskOverParam param);
-
-    R getAgvPickAndPlaceV1(TaskOverParam param);
-
-    R getAgvPickAndPlaceV2(TaskOverParam param);
+    /**
+     * 澶栫疆杈撻�佺嚎wms閫氱煡杈撻�佺嚎娴佸姩
+     */
+    R applyInDevp(ApplyInDevpDto param);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 9b2c22e..0c73e47 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,25 +1,22 @@
 package com.zy.asrs.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.R;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.domain.enums.WorkNoType;
-import com.zy.asrs.entity.*;
+import com.zy.asrs.domain.param.ApplyInDevpDto;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.TaskWrk;
 import com.zy.asrs.entity.param.TaskCreateParam;
-import com.zy.asrs.entity.param.TaskOverParam;
-import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.service.CommonService;
-import com.zy.common.utils.HttpHandler;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
-import com.zy.core.model.DevpSlave;
 import com.zy.core.model.Task;
 import com.zy.core.model.protocol.StaProtocol;
 import com.zy.core.properties.SlaveProperties;
@@ -27,22 +24,12 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import java.io.IOException;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
 
 @Service
 public class OpenServiceImpl implements OpenService {
 
-    public ArrayList<String> wharfCode1 = new ArrayList<String>() {{
-        add("J-1101");
-        add("J-1103");
-        add("J-1105");
-        add("J-1107");
-        add("J-1109");
-        add("J-1111");
-        add("H-1101");
-        add("G-1101");
-    }};
     @Autowired
     private TaskWrkService taskWrkService;
     @Autowired
@@ -131,251 +118,27 @@
     }
 
     @Override
-    public R AgvToWCSToWms(WMSAndAGVInterfaceParam param) throws IOException {
-        ToWmsDTO toWmsDTO = new ToWmsDTO();
-        Map<String, Object> map = new HashMap<>();
-        map.put("x-api-key", "7a15b5db-29b6-552c-8cff-0cfec3756da2");
-        List<Integer> list = new ArrayList<>();
-        if (param.getWharfSource().contains("J")) {
-            list = getInEnableRoadway();
+    public R applyInDevp(ApplyInDevpDto param) {
+        Integer sourceSite = param.getSourceSite();
+        BasDevp basDevp = basDevpService.selectById(sourceSite);
+        if (basDevp == null) {
+            return R.error("婧愮珯鐐逛笉瀛樺湪:" + param);
+        }
+        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+        StaProtocol staProtocol = devpThread.getStation().get(sourceSite);
+        if (staProtocol == null) {
+            return R.parse(sourceSite + "绾跨▼涓虹┖!");
         } else {
-            list = getInEnableRoadway2();
+            staProtocol = staProtocol.clone();
         }
-
-
-        //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
-        toWmsDTO.setWarehouseId("1688469798893297665");
-        toWmsDTO.setContainerCode(param.getContainerCode());
-        toWmsDTO.setApplyType("TUNNEL");
-        toWmsDTO.setWharfSource(null);
-        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) {
-            return R.error("wms杩炴帴澶辫触" + e.getMessage());
-        }
-
-        JSONObject jsonObject = JSON.parseObject(response);
-
-        apiLogService.save("wms璇锋眰鍏ュ簱鐮佸ご鎺ュ彛"
-                , wmsUrl + "wcsManager/wcsInterface/inboundTaskApply"
-                , null
-                , "127.0.0.1"
-                , JSON.toJSONString(toWmsDTO)
-                , response
-                , true
-        );
-
-        if (jsonObject.getInteger("code").equals(200)) {
-            //瑙f瀽
-            List<WMSAndAGVInterfaceParam> params = new ArrayList<>();
-            params.add(param);
-            WMSAndAGVInterfaceParam data = JSONObject.parseObject(jsonObject.get("data").toString(), WMSAndAGVInterfaceParam.class);
-            String msg = null;
-            try {
-                taskCreate(new TaskCreateParam(data));
-            } catch (Exception e) {
-                msg = e.getMessage();
-            }
-            if (msg != null) {
-                return R.error(msg);
-            }
-            Map<String, String> map1 = new HashMap<>();
-            StaDesc staDesc = new StaDesc();
-            if (param.getWharfSource().contains("J")) {
-                staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                        .eq("crn_no", data.getTaskTunnel())
-                        .eq("type_no", 1)
-                        .lt("stn_no", 200));
-            } else if (param.getWharfSource().contains("H")) {
-                staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                        .eq("crn_no", data.getTaskTunnel())
-                        .eq("type_no", 1)
-                        .lt("stn_no", 400)
-                        .gt("stn_no", 200));
-            } else {
-                staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                        .eq("crn_no", data.getTaskTunnel())
-                        .eq("type_no", 1)
-                        .lt("stn_no", 500)
-                        .ge("stn_no", 400));
-            }
-            map1.put("taskTunnel", staDesc.getStnDesc());
-            //map1.put("taskTunnel", "J-1104");
-            return R.ok(map1);
-        }
-        return R.error((String) jsonObject.get("msg"));
-    }
-
-    @Override
-    public void getAgvTaskOver(TaskOverParam param) {
-        // 鏍规嵁杈撻�佺嚎plc閬嶅巻
-        for (DevpSlave devp : slaveProperties.getDevp()) {
-            StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                    .eq("stn_desc", param.getStartPoint()));
-            if (Cools.isEmpty(staDesc)) {
-                throw new RuntimeException("鏈煡璇㈠埌绔欑偣淇℃伅");
-            }
-            // 鑾峰彇鍏ュ簱绔欎俊鎭�
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-            StaProtocol staProtocol = devpThread.getStation().get(staDesc.getStnNo());
-            if (staProtocol == null) {
-                continue;
-            } else {
-                staProtocol = staProtocol.clone();
-            }
-            Short workNo = staProtocol.getWorkNo();
-            if (wharfCode1.contains(param.getStartPoint())) {
-                if (!staProtocol.isLoading() && !staProtocol.isCar() && staProtocol.getWorkNo() > 0) {
-                    //AGV鍑哄簱瀹屾垚浠ュ悗
-                    staProtocol.setWorkNo((short) 0);
-                    staProtocol.setStaNo((short) 0);
-                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
-                    if (result) {
-
-                    } else {
-                        throw new RuntimeException("agv杩斿洖瀹屾垚鍚庯紝鍛戒护涓嬪彂澶辫触");
-                    }
-                }
-            } else {
-                for (DevpSlave.Sta inSta : devp.getInSta()) {
-                    if (inSta.getBackSta().equals(staDesc.getStnNo())) {
-
-                        if (staProtocol.isLoading() && !staProtocol.isCar() && workNo == 0) {
-                            //AGV鍏ュ簱瀹屾垚浠ュ悗
-                            staProtocol.setWorkNo((short) 9999);
-                            staProtocol.setStaNo(inSta.getStaNo().shortValue());
-                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
-                            if (result) {
-
-                            } else {
-                                throw new RuntimeException("agv杩斿洖瀹屾垚鍚庯紝鍛戒护涓嬪彂澶辫触");
-                            }
-                        }
-
-                    }
-                }
-            }
-        }
-
-    }
-
-    @Override
-    public R getAgvPickAndPlaceV1(TaskOverParam param) {
-        BasDevp basDevp = basDevpService.selectById(param.getStartPoint());
-        if (Cools.isEmpty(basDevp)) {
-            return R.error("绔欑偣鍙锋湁璇�" + param.getStartPoint());
-        }
-        if (Cools.isEmpty(param.getHeight())) {
-            return R.error("楂樺害涓嶈兘涓虹┖" + param.getStartPoint());
-        }
-        if (param.getType() == 0 && basDevp.getAgvStartPick() == 1) {
-            basDevp.setInreq2(param.getHeight().toString());
-            return R.ok();
-        } else if (param.getType() == 1 && basDevp.getAgvStartPlace() == 1) {
-            return R.ok();
+        staProtocol.setWorkNo((short) commonService.getWorkNo(WorkNoType.PICK.type));
+        staProtocol.setStaNo(param.getTargetSite().shortValue());
+        basDevpService.updateById(basDevp);
+        boolean result = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol));
+        if (result) {
+            return R.ok("鎴愬姛");
         } else {
-            return R.error("涓嶅厑璁�");
+            return R.error("涓嬪彂鍛戒护澶辫触:" + param);
         }
     }
-
-    @Override
-    public R getAgvPickAndPlaceV2(TaskOverParam param) {
-        BasDevp basDevp = basDevpService.selectById(param.getStartPoint());
-        if (Cools.isEmpty(basDevp)) {
-            return R.error("绔欑偣鍙锋湁璇�" + param.getStartPoint());
-        }
-        if (param.getType() == 0) {
-            basDevp.setAgvTargetPick(1);
-            basDevpService.updateById(basDevp);
-            return R.ok();
-        } else if (param.getType() == 1) {
-            basDevp.setAgvTargetPlace(1);
-            basDevpService.updateById(basDevp);
-            return R.ok();
-        } else {
-            return R.error("璇锋眰绫诲瀷寮傚父" + param.getType());
-        }
-    }
-
-    public List<Integer> getInEnableRoadway() {
-        int[] roadway = null;
-        List<Integer> list = new ArrayList<>();
-        Map<Integer, Integer> map = new HashMap<>();
-        map.put(103, 1);
-        map.put(107, 2);
-        map.put(111, 3);
-        map.put(115, 4);
-        map.put(119, 5);
-        map.put(123, 6);
-        //put(301,7);
-        // 鏍规嵁杈撻�佺嚎plc閬嶅巻
-        for (DevpSlave devp : slaveProperties.getDevp()) {
-            // 閬嶅巻鍏ュ簱鍙�
-            for (DevpSlave.Sta inSta : devp.getInSta()) {
-                // 鑾峰彇鍏ュ簱绔欎俊鎭�
-                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-                StaProtocol staProtocol = devpThread.getStation().get(inSta.getBackSta());
-                if (staProtocol == null) {
-                    continue;
-                } else {
-                    staProtocol = staProtocol.clone();
-                }
-                Short workNo = staProtocol.getWorkNo();
-                if (workNo == 0 && !staProtocol.isLoading()) {
-                    if (Cools.isEmpty(map.get(inSta.getStaNo()))) {
-                        continue;
-                    }
-                    list.add(map.get(inSta.getStaNo()));
-                }
-            }
-        }
-        //roadway = list.stream().mapToInt(Integer::intValue).toArray();
-        return list;
-    }
-
-    public List<Integer> getInEnableRoadway2() {
-        int[] roadway = null;
-        List<Integer> list = new ArrayList<>();
-        Map<Integer, Integer> map = new HashMap<>();
-        map.put(205, 1);
-        map.put(211, 2);
-        map.put(217, 3);
-        map.put(223, 4);
-        map.put(229, 5);
-        map.put(235, 6);
-        //put(301,7);
-        // 鏍规嵁杈撻�佺嚎plc閬嶅巻
-        for (DevpSlave devp : slaveProperties.getDevp()) {
-            // 閬嶅巻鍏ュ簱鍙�
-            for (DevpSlave.Sta inSta : devp.getInSta()) {
-                // 鑾峰彇鍏ュ簱绔欎俊鎭�
-                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-                StaProtocol staProtocol = devpThread.getStation().get(inSta.getBackSta());
-                if (staProtocol == null) {
-                    continue;
-                } else {
-                    staProtocol = staProtocol.clone();
-                }
-                Short workNo = staProtocol.getWorkNo();
-                if (workNo == 0 && !staProtocol.isLoading()) {
-                    if (Cools.isEmpty(map.get(inSta.getStaNo()))) {
-                        continue;
-                    }
-                    list.add(map.get(inSta.getStaNo()));
-                }
-            }
-        }
-        //roadway = list.stream().mapToInt(Integer::intValue).toArray();
-        return list;
-    }
-
-
 }

--
Gitblit v1.9.1