From 4fb06a58ed5df46f29af1e9fa65cfd40335263ad Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 18 一月 2025 17:06:18 +0800
Subject: [PATCH] # 6. 大屏添加作业类型 (全盘,还是分拣  IOType) 10.平库出库时,当前平库ID是写死在Sql里,需修改 11.平库出库没有判断是否预约出库,且生成拣货单时没有锁定库存,需确认是否考虑回库问题 26. 已拣过货的任务明细,可以再次拣货,拣货明细需添加一个拣货状态 47. 确认发货前,需判断是否已绑定至集货区 48. CTU出库后,库位103不再删除原有库位信息

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 169 insertions(+), 6 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..9179179 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,34 @@
 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.dto.ShippingOrderDetlDto;
 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 +36,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 +46,6 @@
 
     @Value("${super.pwd}")
     private String superPwd;
-
     @Autowired
     private UserService userService;
     @Autowired
@@ -39,7 +54,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);
+    }
 
     /**
      * 鍏ュ簱鍗曟嵁--鎵爜鑾峰彇璁㈠崟鏄庣粏鍒楄〃
@@ -48,21 +74,59 @@
      */
     @PostMapping("/mat/auth")
     public R getProductForBarcode(@RequestBody Map<String, String> barcode) {
+        if (Objects.isNull(barcode)) {
+            return  R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
         if (StringUtil.isNullOrEmpty(barcode.get("barcode"))) {
             return  R.error("鏉$爜涓嶈兘涓虹┖锛侊紒");
         }
         Order order =  orderService.selectByBarcode(barcode.get("barcode"));
 
-        if (!(order.getOrderType() == 1)) {
-            return R.error("闈炲叆搴撹鍗曪紝 涓嶅彲鎿嶄綔锛侊紒");
+        if (Objects.isNull(order)) {
+            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));
+
+        return R.ok(waitPakins);
     }
 
 
@@ -130,4 +194,103 @@
             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("缁戝畾澶辫触锛侊紒");
+        }
+    }
+
+
+    /**
+     * 鑾峰彇鍙戣揣璁㈠崟鏄庣粏
+     * @return
+     */
+    @PostMapping("/shipping/order/detl")
+    public R  getOrderDetl(@RequestBody Map<String, Object> params) {
+        if (Objects.isNull(params)) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return mobileService.selectShippingDetl(params);
+    }
+
+    /**
+     * 纭鍙戣揣鍗曟槑缁�
+     * @return
+     */
+    @PostMapping("/shipping/confirm")
+    public R confirmShipping(@RequestBody List<ShippingOrderDetlDto> params) {
+        if (params.isEmpty()) {
+            throw new CoolException("鍙戣揣鍗曟槑缁嗕笉鑳戒负绌猴紒锛�");
+        }
+        return mobileService.confirmShippingDetl(params);
+    }
+
+
+
 }

--
Gitblit v1.9.1