From e8855038f6e47cde0d6a8a9ddb2fa5a629e0efbb Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 22 一月 2026 13:39:56 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java |  128 +++++++++++++++++++++++++-----------------
 1 files changed, 75 insertions(+), 53 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java
index d9de613..021ef4a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java
@@ -1,11 +1,20 @@
 package com.vincent.rsf.server.api.controller.pda;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
-import com.vincent.rsf.server.api.controller.params.*;
+import com.vincent.rsf.server.api.controller.erp.params.CheckObjParams;
+import com.vincent.rsf.server.api.controller.erp.params.ManualShelvingParams;
+import com.vincent.rsf.server.api.controller.erp.params.OpStockParams;
+import com.vincent.rsf.server.api.controller.erp.params.OtherReceiptParams;
+import com.vincent.rsf.server.api.service.AgvService;
 import com.vincent.rsf.server.api.service.MobileService;
 import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
 import com.vincent.rsf.server.manager.entity.QlyIsptItem;
+import com.vincent.rsf.server.manager.entity.WaitPakin;
+import com.vincent.rsf.server.manager.service.TaskService;
+import com.vincent.rsf.server.manager.service.WaitPakinService;
 import com.vincent.rsf.server.system.controller.BaseController;
 import com.vincent.rsf.server.system.controller.param.LoginParam;
 import io.swagger.annotations.Api;
@@ -34,8 +43,16 @@
 
     @Autowired
     private MobileService mobileService;
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private WaitPakinService waitPakinService;
+    @Autowired
+    private AgvService agvService;
+
     /**
      * PDA鐢ㄦ埛鐧诲綍
+     * 
      * @param param
      * @param request
      * @return
@@ -56,16 +73,15 @@
         return mobileService.login(param, request);
     }
 
-
     /**
      * 鏍囧噯鎵爜鏀惰揣淇℃伅
+     * 
      * @param trackCode
      * @return
      */
-    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
     @GetMapping("/orders/{trackCode}")
     @ApiOperation("鏍囧噯鎵爜鏀惰揣")
-    public R  getOrderBybarcode(@PathVariable String trackCode) {
+    public R getOrderBybarcode(@PathVariable String trackCode) {
         if (StringUtils.isEmpty(trackCode)) {
             throw new CoolException("鏉$爜涓嶈兘涓虹┖锛侊紒");
         }
@@ -74,20 +90,19 @@
 
     /**
      * 纭鏀惰揣淇℃伅
+     * 
      * @param params
      * @return
      */
-    @PreAuthorize("hasAuthority('manager:warehouseAreas:save')")
     @PostMapping("/orders/confirm")
     @ApiOperation("纭鏀惰揣")
     public R confirmReceipt(@RequestBody Map<String, Object> params) {
-       if (Objects.isNull(params)) {
-           throw new CoolException("璇锋眰鍙傛暟涓嶈兘涓虹┖锛侊紒");
-       }
+        if (Objects.isNull(params)) {
+            throw new CoolException("璇锋眰鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
         return mobileService.receiptToWarehouse(params, getLoginUserId());
     }
 
-    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
     @PostMapping("/orders/other")
     @ApiOperation("鍏跺畠鎵爜鏀惰揣")
     public R getOtherReceipt(@RequestBody OtherReceiptParams params) {
@@ -97,52 +112,53 @@
         return mobileService.otherReceipt(params);
     }
 
-    @PreAuthorize("hasAuthority('manager:warehouseAreas:list')")
     @ApiOperation("鑾峰彇鏀惰揣鍖�")
     @GetMapping("/areas/receipt")
     public R getReceiptAreas() {
-        return mobileService.getReceiptAreas();
+        return mobileService.getReceiptAreas(getLoginUser());
     }
 
+    @ApiOperation("鑾峰彇鍙敤搴撳尯")
+    @GetMapping("/areas/user/all")
+    public R getAreasUserAll() {
+        return mobileService.getAreasUserAll(getLoginUser());
+    }
 
-    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
     @GetMapping("/orders/asn")
     @ApiOperation("鑾峰彇閫氱煡鍗�")
     public R getAllAsnOrders() {
         return R.ok(mobileService.getAllAsnOrders());
     }
 
-
-    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
     @GetMapping("/dynamic/fields")
     @ApiOperation("鑾峰彇鍔ㄦ�佸瓧娈�")
     public R getDynamicFields() {
         return R.ok(mobileService.getDynamicFields());
     }
 
-
-    @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
     @ApiOperation("鑾峰彇璁㈠崟鐗╂枡鏄庣粏")
-    @GetMapping("/asnOrderItem/trackCode/{code}")
-    public R getItemByTrackCode(@PathVariable String code) {
-        if (StringUtils.isBlank(code)) {
-            return R.error("缂栫爜涓嶈兘涓虹┖锛侊紒");
+    @PostMapping("/asnOrderItem/trackCode")
+    public R getItemByTrackCode(@RequestBody Map<String, Object> params) {
+        if (Objects.isNull(params)) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return mobileService.getDeltByCode(code);
+        return mobileService.getDeltByCode(params);
     }
 
-    @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
     @ApiOperation("鑾峰彇鎷栫洏鏄庣粏")
     @PostMapping("/asnOrderItem/container")
     public R getItemByContainer(@RequestBody Map<String, Object> params) {
         if (Objects.isNull(params)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return mobileService.getItemByContainer(params);
+        if (!Objects.isNull(params.get("type")) && params.get("type").equals("unbind")) {
+            return mobileService.getUnItemByContainer(params);
+        } else {
+            return mobileService.getItemByContainer(params, getLoginUser());
+        }
     }
 
-    @PreAuthorize("hasAuthority('manager:waitPakin:update')")
-    @ApiOperation("缁勬嫋")
+    @ApiOperation("缁勬墭")
     @PostMapping("/waitPakin/merge")
     public R pikinOrder(@RequestBody WaitPakinParam waitPakin) {
         Long userId = getLoginUserId();
@@ -155,10 +171,14 @@
         if (Objects.isNull(waitPakin.getItems()) || waitPakin.getItems().isEmpty()) {
             return R.error("璺熻釜鐮佷笉鑳戒负绌猴紒锛�");
         }
-        return R.ok(mobileService.mergeItems(waitPakin, userId));
+        try {
+            mobileService.mergeItemsWcs(waitPakin, userId);
+        } catch (Exception e) {
+            return R.error(e.getMessage());
+        }
+        return R.ok();
     }
 
-    @PreAuthorize("hasAuthority('manager:waitPakin:update')")
     @ApiOperation("缁勬嫋瑙g粦")
     @PostMapping("/waitPakin/unbind")
     public R pakinUnBind(@RequestBody WaitPakinParam param) {
@@ -169,14 +189,14 @@
             return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒锛�");
         }
         if (Objects.isNull(param.getItems()) || param.getItems().isEmpty()) {
-            return R.error("璺熻釜鐮佷笉鑳戒负绌猴紒锛�");
+            return R.error("瑙g粦鏄庣粏涓嶈兘涓虹┖锛侊紒");
         }
         return R.ok(mobileService.unBind(param));
     }
 
     @ApiOperation("鎶ユ")
     @GetMapping("/asnOrder/inspect/{code}")
-    @PreAuthorize("hasAuthority('manager:waitPakin:list')")
+
     public R getAsnOdrers(@PathVariable String code) {
         if (Objects.isNull(code)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
@@ -186,17 +206,17 @@
 
     @ApiOperation("鎻愪氦鎶ユ")
     @GetMapping("/inspect/confirm/{id}")
-    @PreAuthorize("hasAuthority('manager:waitPakin:list')")
+
     public R confirmInspect(@PathVariable String id) {
         if (Objects.isNull(id)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛�");
         }
-        return  mobileService.confirmIspt(id);
+        return mobileService.confirmIspt(id);
     }
 
     @ApiOperation("蹇�熻川妫�淇℃伅")
-    @PreAuthorize("hasAuthority('manager:qlyInspect:list')")
-    @PostMapping("/inspect/query")
+
+    // @PostMapping("/inspect/query")
     public R checkObjs(@RequestBody CheckObjParams params) {
         if (Objects.isNull(params)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
@@ -204,19 +224,18 @@
         return mobileService.checkObjs(params);
     }
 
-
     @ApiOperation("蹇�熻川妫�")
-    @PreAuthorize("hasAuthority('manager:qlyInspect:update')")
+
     @PostMapping("/inspect/check/update")
     public R checkUpdate(@RequestBody List<QlyIsptItem> params) {
         if (Objects.isNull(params) || params.isEmpty()) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return mobileService.checkUpdate(params);
+        return mobileService.checkUpdate(params, getLoginUserId());
     }
 
     @ApiOperation("鑾峰彇涓婃灦淇℃伅")
-    @PreAuthorize("hasAuthority('manager:qlyInspect:list')")
+
     @PostMapping("/stock/operate/list")
     public R operateToStock(@RequestBody OpStockParams params) {
         if (Objects.isNull(params)) {
@@ -226,17 +245,22 @@
     }
 
     @ApiOperation("浜哄伐涓婃灦")
-    @PreAuthorize("hasAuthority('manager:qlyInspect:update')")
+
     @PostMapping("/stock/operate")
-    public R publicToStock(@RequestBody PublicToStockParams params) {
-        if (Objects.isNull(params)) {
+    public R publicToStock(@RequestBody ManualShelvingParams params) {
+        if (Cools.isEmpty(params.getItemList()) || Cools.isEmpty(params.getLocCode())
+                || Cools.isEmpty(params.getBarcode())) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return mobileService.publicToStock(params, getLoginUserId());
+        WaitPakin waitPakin = waitPakinService
+                .getOne(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode()));
+
+        return taskService.generateFlatWarehouseTasks(waitPakin, params.getLocCode(), getLoginUserId());
+        // return mobileService.publicToStock(params, getLoginUserId());
     }
 
     @ApiOperation("鑾峰彇浠诲姟淇℃伅")
-    @PreAuthorize("hasAuthority('manager:qlyInspect:list')")
+
     @PostMapping("/task/stock/{code}")
     public R taskToStock(@PathVariable String code) {
         if (Objects.isNull(code)) {
@@ -246,7 +270,7 @@
     }
 
     @ApiOperation("浠诲姟涓婃灦")
-    @PreAuthorize("hasAuthority('manager:qlyInspect:update')")
+
     @PostMapping("/task/public/{code}")
     public R taskToLocs(@PathVariable String code) throws Exception {
         if (Objects.isNull(code)) {
@@ -257,7 +281,7 @@
 
     @ApiOperation("涓�閿敹璐�")
     @PostMapping("/complete/{id}")
-    @PreAuthorize("hasAuthority('manager:asnOrder:update')")
+
     public R completeOrder(@PathVariable Long id) {
         if (Objects.isNull(id)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
@@ -265,20 +289,19 @@
         return mobileService.completeOrder(id, getLoginUserId());
     }
 
-
     @ApiOperation("鑾峰彇涓嶈壇鎵樼洏鐗╂枡")
     @PostMapping("/defect/matnrs")
-    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+
     public R getAsnDefectItemByCode(@RequestBody Map<String, Object> map) {
         if (Objects.isNull(map)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return mobileService.getItemByContainer(map);
+        return mobileService.getItemByContainer(map, getLoginUser());
     }
 
     @ApiOperation("鑾峰彇璁㈠崟涓嶈壇鐗╂枡")
     @PostMapping("/defect/{trackCode}")
-    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+
     public R defectProducts(@PathVariable String trackCode) {
         if (Objects.isNull(trackCode)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
@@ -288,7 +311,7 @@
 
     @ApiOperation("鑾峰彇缁勬嫋鍏ュ簱淇℃伅")
     @PostMapping("/pakin/info/{barcode}")
-    @PreAuthorize("hasAuthority('manager:waitPakin:list')")
+
     public R getPakinInStock(@PathVariable String barcode) {
         if (Objects.isNull(barcode)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
@@ -298,21 +321,21 @@
 
     @ApiOperation("鑾峰彇涓婃灦绔欑偣淇℃伅")
     @GetMapping("/inStock/sites")
-    @PreAuthorize("hasAuthority('manager:deviceSite:list')")
+
     public R getTarSite() {
         return mobileService.getDeviceSites();
     }
 
     @ApiOperation("鑾峰彇鎺ㄨ崘搴撲綅鍒楄〃淇℃伅")
     @GetMapping("/locs/list")
-    @PreAuthorize("hasAuthority('manager:deviceSite:list')")
+
     public R getLocs() {
         return mobileService.getRecommondLocs();
     }
 
     @ApiOperation("鐢熸垚浠诲姟鍒楄〃")
     @PostMapping("/pakin/task")
-    @PreAuthorize("hasAuthority('manager:deviceSite:list')")
+
     public R pakinToTask(@RequestBody Map<String, Object> map) {
         if (Objects.isNull(map)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
@@ -320,4 +343,3 @@
         return mobileService.generateTask(map, getLoginUserId());
     }
 }
-

--
Gitblit v1.9.1