From 645da5e4e48dd94b760ea4dcbf80e22bf2a3f33c Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 11 一月 2025 17:20:08 +0800
Subject: [PATCH] #添加播种站点功能

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java |  141 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 134 insertions(+), 7 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
index cb1c1dc..2e8116c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
@@ -1,19 +1,33 @@
 package com.zy.asrs.wms.asrs.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.asrs.common.domain.CodeRes;
 import com.zy.asrs.common.domain.enums.LoginSystemType;
 import com.zy.asrs.framework.annotations.ManagerAuth;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
+import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wms.asrs.entity.CacheSite;
+import com.zy.asrs.wms.asrs.entity.Loc;
 import com.zy.asrs.wms.asrs.entity.Order;
+import com.zy.asrs.wms.asrs.entity.WaitPakin;
 import com.zy.asrs.wms.asrs.entity.dto.OrderInfoDto;
+import com.zy.asrs.wms.asrs.entity.dto.PickSheetDetlDto;
 import com.zy.asrs.wms.asrs.entity.param.BatchMergeOrdersParam;
+import com.zy.asrs.wms.asrs.entity.param.PageRequest;
+import com.zy.asrs.wms.asrs.entity.param.PakinOnShelvesParams;
 import com.zy.asrs.wms.asrs.service.MobileService;
 import com.zy.asrs.wms.asrs.service.OrderService;
+import com.zy.asrs.wms.asrs.service.WaitPakinService;
+import com.zy.asrs.wms.common.domain.BaseParam;
 import com.zy.asrs.wms.system.controller.BaseController;
+import com.zy.asrs.wms.system.entity.Host;
 import com.zy.asrs.wms.system.entity.User;
 import com.zy.asrs.wms.system.entity.UserLogin;
+import com.zy.asrs.wms.system.service.HostService;
 import com.zy.asrs.wms.system.service.UserLoginService;
 import com.zy.asrs.wms.system.service.UserService;
 import io.jsonwebtoken.lang.Collections;
@@ -21,6 +35,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
+import sun.nio.ch.IOStatus;
 
 import java.util.*;
 
@@ -30,7 +45,6 @@
 
     @Value("${super.pwd}")
     private String superPwd;
-
     @Autowired
     private UserService userService;
     @Autowired
@@ -39,7 +53,18 @@
     private OrderService orderService;
     @Autowired
     private MobileService mobileService;
+    @Autowired
+    private WaitPakinService waitPakinService;
 
+    /**
+     * 鑾峰彇鐢ㄦ埛鏈烘瀯
+     * @return
+     */
+    @GetMapping("/current/host")
+    public R getUserHost() {
+        List<Host> hosts = mobileService.getHosts();
+        return R.ok(hosts);
+    }
 
     /**
      * 鍏ュ簱鍗曟嵁--鎵爜鑾峰彇璁㈠崟鏄庣粏鍒楄〃
@@ -53,16 +78,46 @@
         }
         Order order =  orderService.selectByBarcode(barcode.get("barcode"));
 
-        if (!(order.getOrderType() == 1)) {
-            return R.error("闈炲叆搴撹鍗曪紝 涓嶅彲鎿嶄綔锛侊紒");
-        }
-        if (order.getOrderSettle() > 2) {
-            return R.error("鍗曟嵁褰撳墠鐘舵�佷笉鍙仛鍏ュ簱鎿嶄綔锛侊紒");
-        }
         List<OrderInfoDto> orders = orderService.getDetlForOrderId(order.getId());
 
         return R.ok(orders);
+    }
 
+    /**
+     * PDA鎵爜鍏ュ簱
+     * 1. 缁戝畾搴撲綅鍙蜂笌鎷栫洏鐮�
+     * 2. 搴撲綅缃负鍦ㄥ簱鐘舵��
+     * @return
+     */
+    @PostMapping("/matnr/in/barcode")
+    public R pakinToStock(@RequestBody PakinOnShelvesParams shelvesParams) {
+        if (StringUtil.isNullOrEmpty(shelvesParams.getBarcode())) {
+            return R.error("鎷栫洏鐮佷笉鑳戒负绌猴紒锛�");
+        }
+        if (StringUtil.isNullOrEmpty(shelvesParams.getLoc())) {
+            return R.error("搴撲綅涓嶈兘涓虹┖锛侊紒");
+        }
+        //TODO 缁戝畾搴撲綅锛屾坊鍔犲簱浣嶆槑缁�
+        if (mobileService.pakinToStock(shelvesParams)) {
+            return R.ok("鍏ュ簱鎴愬姛锛侊紒");
+        } else {
+            return R.error("鍏ュ簱澶辫触锛侊紒");
+        }
+
+    }
+
+    /**
+     * 鑾峰彇鎷栫爜鐩樼粦瀹氬晢鍝�
+     * @return
+     */
+    @GetMapping("/barcode/matnr/{code}")
+    public R getAllGoods(@PathVariable String code) {
+        if (StringUtil.isNullOrEmpty(code)) {
+            return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒锛�");
+        }
+        List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, code).eq(WaitPakin::getIoStatus, 0));
+
+        return R.ok(waitPakins);
     }
 
 
@@ -130,4 +185,76 @@
             return R.ok("缁勬墭澶辫触锛侊紒");
         }
     }
+
+    /**
+     * 鑾峰彇鎷h揣鏄庣粏
+     * @return
+     */
+    @GetMapping("/pick/detl/{code}")
+    public R pickDetlByPickNo(@PathVariable String code) {
+        if (StringUtil.isNullOrEmpty(code)) {
+            return R.error("鎷h揣鍗曟嵁缂栫爜涓嶈兘涓虹┖锛侊紒");
+        }
+        PickSheetDetlDto pickSheetDetls =  mobileService.outFlatSheet(code);
+
+        return R.ok(pickSheetDetls);
+    }
+
+    /**
+     * 鎷h揣鍗曠‘璁ゅ嚭搴�
+     * @param code
+     * @return
+     */
+    @GetMapping("/pick/confirm/{code}")
+    public R confirmOutFlatSheet(@PathVariable String code) {
+        if (StringUtil.isNullOrEmpty(code)) {
+            return R.error("鎷h揣鍗曟嵁缂栫爜涓嶈兘涓虹┖锛侊紒");
+        }
+        if (!mobileService.confirmFlatSheet(code)) {
+            return R.error("鍑哄簱澶辫触锛侊紒");
+        }
+        return R.ok("鍑哄簱鎴愬姛锛侊紒");
+    }
+
+
+    /**
+     * 鑾峰彇鎾浣�
+     * @return
+     */
+    @GetMapping("/pick/seed/locs")
+    public R seedLocs() {
+        List<CacheSite> sites = mobileService.getSeedLocs();
+        return R.ok(sites);
+    }
+
+    /**
+     * 璁㈠崟缁戝畾绔欑偣
+     * @param param
+     * @return
+     */
+    @PostMapping("/pick/seed/bind")
+    public R bindLoc(@RequestBody Map<String, Object> param) {
+        if (Objects.isNull(param)) {
+            throw new CoolException("璇锋眰鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(param.get("barcode"))) {
+            throw new CoolException("瀹瑰櫒缂栫爜涓嶈兘涓虹┖");
+        }
+        if (Objects.isNull(param.get("orderNo"))) {
+            throw new CoolException("璁㈠崟缂栧彿涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(param.get("siteNo"))) {
+            throw new CoolException("鎾绔欑偣涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(param.get("type"))) {
+            throw new CoolException("鍙傛暟绫诲瀷涓嶈兘涓虹┖锛侊紒");
+        }
+       boolean result =  mobileService.bindOrderBySite(param);
+        if (result) {
+            return R.ok("缁戝畾鎴愬姛锛侊紒");
+        } else {
+            return R.error("缁戝畾澶辫触锛侊紒");
+        }
+    }
+
 }

--
Gitblit v1.9.1