From 945764de58898661a3f3197e58353141b5deaf91 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 22 十月 2025 16:21:15 +0800
Subject: [PATCH] 侧面输送线出入库流程对接

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 45 insertions(+), 4 deletions(-)

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 778eb16..e5a0462 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -47,6 +47,26 @@
     @Value("${wms.url}")
     private String wmsUrl;
 
+    /**
+     * 宸ヨ绫诲瀷 WMS涓嬪彂 N65/N87/G4X/B10 WCS杞崲涓�4锛孨74/PPE 杞崲涓�3
+     */
+    public static short getGzlx(String lx) {
+        if (Cools.isEmpty(lx)) {
+            return 0;
+        }
+        switch (lx) {
+            case "N74":
+            case "PPE":
+                return 3;
+            case "N65":
+            case "N87":
+            case "B10":
+                return 4;
+            default:
+                return 0;
+        }
+    }
+
     @Override
     public HashMap<String, Object> taskCreate(TaskCreateParam param) {
         HashMap<String, Object> map = new HashMap<>();
@@ -67,7 +87,7 @@
         }
         int workNoType = WorkNoType.PAKOUT.type;
         // 2锛�3鍙峰爢鍨涙満鍑哄簱锛岄渶瑕侀�氳繃鏉$爜鍖哄垎澶у皬鎵樼洏锛�16寮�澶村皬鎵樼洏锛�18寮�澶村ぇ鎵樼洏锛屼换鍔″彿3001-6000涓哄皬鎵樼洏
-        if (param.getIoType() == 2 && (locMast.getCrnNo() == 3 || locMast.getCrnNo() == 2) && locMast.getBarcode().startsWith("16")){
+        if (param.getIoType() == 2 && (locMast.getCrnNo() == 3 || locMast.getCrnNo() == 2) && locMast.getBarcode().startsWith("16")) {
             workNoType = WorkNoType.PICK.type;
         }
         int workNo1 = commonService.getWorkNo(workNoType);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
@@ -80,6 +100,10 @@
         taskWrk.setIoPri(param.getTaskPriority());//浼樺厛绾�
         taskWrk.setBarcode(param.getBarcode());//鏉$爜
         taskWrk.setCrnNo(locMast.getCrnNo());
+        taskWrk.setType(param.getType());
+        taskWrk.setMp((short) (param.getLev() > 1 ? 1 : 2));
+        taskWrk.setLx(getGzlx(param.getLx()));
+        taskWrk.setLev(param.getLev());
         if (param.getIoType() == 1) {
             taskWrk.setWrkSts(1);
             if (!Cools.isEmpty(param.getTargetPoint())) {
@@ -90,8 +114,12 @@
         } else if (param.getIoType() == 2) {
             taskWrk.setWrkSts(11);
 //            if (!Cools.isEmpty(param.getStartPoint())) {
-                taskWrk.setStartPoint(param.getStartPoint());//璧风偣
-                taskWrk.setTargetPoint(String.valueOf(Integer.parseInt(param.getTargetPoint())-1));
+            taskWrk.setStartPoint(param.getStartPoint());//璧风偣
+            if (Integer.parseInt(param.getTargetPoint()) == 211 || Integer.parseInt(param.getTargetPoint()) == 206 || Integer.parseInt(param.getTargetPoint()) == 202) {
+                taskWrk.setTargetPoint(String.valueOf(Integer.parseInt(param.getTargetPoint()) + 1));
+            } else {
+                taskWrk.setTargetPoint(String.valueOf(Integer.parseInt(param.getTargetPoint()) - 1));
+            }
 //            }
 //            taskWrk.setTargetPoint(param.getTargetPoint());
         } else if (param.getIoType() == 3) {
@@ -131,7 +159,20 @@
         } else {
             staProtocol = staProtocol.clone();
         }
-        staProtocol.setWorkNo((short) commonService.getWorkNo(WorkNoType.PICK.type));
+        StaProtocol staProtocol1 = devpThread.getStation().get(param.getTargetSite());
+        if (staProtocol1 == null) {
+            return R.parse(param.getTargetSite() + "绾跨▼涓虹┖!");
+        } else {
+            staProtocol1 = staProtocol1.clone();
+        }
+//        if (staProtocol1.isLoading()) {
+//            return R.error(staProtocol1.getSiteId() + "绔欑偣鏈夌墿!");
+//        }
+
+        if (!staProtocol.isAutoing()) {
+            return R.error(staProtocol.getSiteId() + "绔欑偣fei鑷姩");
+        }
+        staProtocol.setWorkNo((short) commonService.getWorkNo(param.getFlag()));
         staProtocol.setStaNo(param.getTargetSite().shortValue());
         basDevpService.updateById(basDevp);
         boolean result = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol));

--
Gitblit v1.9.1