From 4f47f94957e67df0864930a2f638e9bdc8411b36 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 25 二月 2026 09:50:06 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java |   84 +++++++++++++++++++++++++++++-------------
 1 files changed, 58 insertions(+), 26 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
index 9710717..89faf4c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
@@ -9,11 +9,14 @@
 import com.vincent.rsf.server.api.entity.params.ContainerWaveParam;
 import com.vincent.rsf.server.api.entity.params.OrderOutGeneralParam;
 import com.vincent.rsf.server.api.service.PdaOutStockService;
+import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
+import com.vincent.rsf.server.manager.controller.params.OutStockToTaskParams;
+import com.vincent.rsf.server.manager.entity.Loc;
+import com.vincent.rsf.server.manager.entity.LocItem;
 import com.vincent.rsf.server.manager.entity.WkOrder;
 import com.vincent.rsf.server.manager.entity.WkOrderItem;
 import com.vincent.rsf.server.manager.enums.OrderType;
-import com.vincent.rsf.server.manager.service.OutStockItemService;
-import com.vincent.rsf.server.manager.service.OutStockService;
+import com.vincent.rsf.server.manager.service.*;
 import com.vincent.rsf.server.system.constant.DictTypeCode;
 import com.vincent.rsf.server.system.controller.BaseController;
 import com.vincent.rsf.server.system.entity.DictData;
@@ -25,6 +28,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -41,8 +45,13 @@
     private OutStockItemService outStockItemService;
     @Autowired
     private DictDataService dictDataService;
+    @Autowired
+    private AsnOrderItemService asnOrderItemService;
+    @Autowired
+    private LocService locService;
+    @Autowired
+    private LocItemService locItemService;
 
-    @PreAuthorize("hasAuthority('manager:task:list')")
     @GetMapping("/outStockTaskItem/{barcode}")
     @ApiOperation("蹇�熸嫞璐ф煡璇�")
     public R getOutStockTaskItem(@PathVariable String barcode) {
@@ -50,7 +59,6 @@
         return pdaOutStockService.getOutStockTaskItem(barcode);
     }
 
-    @PreAuthorize("hasAuthority('manager:task:list')")
     @GetMapping("/saveOutTaskSts/{barcode}")
     @ApiOperation("蹇�熸嫞璐�")
     public R saveOutTaskSts(@PathVariable String barcode) {
@@ -58,7 +66,6 @@
         return pdaOutStockService.saveOutTaskSts(barcode);
     }
 
-    @PreAuthorize("hasAuthority('manager:task:list')")
     @PostMapping("/getWaveList")
     @ApiOperation("鏌ヨ娉㈡鍒楄〃")
     public R getWaveListItem(@RequestBody Map<String, String> map) {
@@ -66,7 +73,6 @@
         return pdaOutStockService.getWaveListItem(map.get("barcode"));
     }
 
-    @PreAuthorize("hasAuthority('manager:task:list')")
     @PostMapping("/getContainerWaveList")
     @ApiOperation("鏍规嵁瀹瑰櫒鐮佹煡璇㈡尝娆″強鍑哄簱鍗�")
     public R getContainerWaveList(@RequestBody Map<String, String> map) {
@@ -74,66 +80,66 @@
         return pdaOutStockService.getContainerWaveList(map);
     }
 
-    @PreAuthorize("hasAuthority('manager:task:list')")
     @PostMapping("/saveWavePick")
     @ApiOperation("鏍规嵁瀹瑰櫒鐮佹煡璇㈡尝娆″強鍑哄簱鍗�")
     public R saveWavePick(@RequestBody ContainerWaveParam containerWaveParam) {
 
-        return pdaOutStockService.saveWavePick(containerWaveParam,getLoginUserId());
+        return pdaOutStockService.saveWavePick(containerWaveParam, getLoginUserId());
     }
 
-    @PreAuthorize("hasAuthority('manager:task:list')")
     @PostMapping("/callForEmptyContainers")
     @ApiOperation("鍛煎彨绌哄鍣�")
     public R callForEmptyContainers(@RequestBody CallForEmptyContainersParam containerWaveParam) {
 
-        return pdaOutStockService.callForEmptyContainers(containerWaveParam,getLoginUserId());
+        return pdaOutStockService.callForEmptyContainers(containerWaveParam, getLoginUserId());
     }
 
-//    @PreAuthorize("hasAuthority('manager:outStock:list')")
+    // @PreAuthorize("hasAuthority('manager:outStock:list')")
     @PostMapping("/outStockItem/page")
     public R page(@RequestBody JSONObject param) {
 
-        return R.ok().add(outStockItemService.list(new LambdaQueryWrapper<>(WkOrderItem.class).eq(WkOrderItem::getDeleted, 0)
-                .eq(WkOrderItem::getOrderCode, param.getString("orderId"))));
+        return R.ok()
+                .add(outStockItemService.list(new LambdaQueryWrapper<>(WkOrderItem.class).eq(WkOrderItem::getDeleted, 0)
+                        .eq(WkOrderItem::getOrderCode, param.getString("orderId"))));
     }
 
     @PostMapping("/orderOut/getType")
     public R orderOutGetType(@RequestBody OrderOutGeneralParam param) {
-        if (Cools.isEmpty(param)){
+        if (Cools.isEmpty(param)) {
             return R.ok();
         }
 
         List<DictData> dictData = dictDataService.list(new LambdaQueryWrapper<DictData>()
                 .eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE)
-                .in(DictData::getValue, param.getType())
-        );
+                .in(DictData::getValue, param.getType()));
         return R.ok(dictData);
     }
 
     @RequestMapping(value = "/orderOut/list")
-    public R pdaPageList(@RequestParam(required = true)String orderNo,
-                         @RequestParam(defaultValue = "1")Integer curr,
-                         @RequestParam(defaultValue = "5")Integer limit){
+    public R pdaPageList(@RequestParam(required = true) String orderNo,
+                         @RequestParam(required = true) String orderType,
+            @RequestParam(defaultValue = "1") Integer curr,
+            @RequestParam(defaultValue = "5") Integer limit) {
 
         Page<WkOrder> page = new Page<>(curr, limit);
         LambdaQueryWrapper<WkOrder> wkOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
         wkOrderLambdaQueryWrapper.eq(WkOrder::getType, OrderType.ORDER_OUT.type);
-        wkOrderLambdaQueryWrapper.eq(!Cools.isEmpty(orderNo),WkOrder::getCode, orderNo);
+        wkOrderLambdaQueryWrapper.eq(WkOrder::getWkType, orderType);
+        wkOrderLambdaQueryWrapper.eq(!Cools.isEmpty(orderNo), WkOrder::getCode, orderNo);
         Page<WkOrder> wkOrderPage = outStockService.page(page, wkOrderLambdaQueryWrapper);
         return R.ok(wkOrderPage);
     }
 
     @RequestMapping(value = "/orderOut/detlList")
-    public R orderOutDetlList(@RequestParam(required = true)String orderNo){
+    public R orderOutDetlList(@RequestParam(required = true) String orderNo) {
 
-        if (Cools.isEmpty(orderNo)){
+        if (Cools.isEmpty(orderNo)) {
             return R.error("璁㈠崟鍙蜂负绌�");
         }
 
         LambdaQueryWrapper<WkOrderItem> wkOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
-//        wkOrderLambdaQueryWrapper.eq(WkOrderItem::getType, OrderType.ORDER_OUT.type);
-        wkOrderLambdaQueryWrapper.eq(!Cools.isEmpty(orderNo),WkOrderItem::getOrderCode, orderNo);
+        // wkOrderLambdaQueryWrapper.eq(WkOrderItem::getType, OrderType.ORDER_OUT.type);
+        wkOrderLambdaQueryWrapper.eq(!Cools.isEmpty(orderNo), WkOrderItem::getOrderCode, orderNo);
         List<WkOrderItem> list = outStockItemService.list(wkOrderLambdaQueryWrapper);
         return R.ok(list);
 
@@ -141,11 +147,37 @@
 
     @PostMapping("/orderOut/getOutLocView")
     public R orderOutGetOutLocView(@RequestBody OrderOutGeneralParam param) {
-        //鍙傛暟 param.getOrderItemId()
+        //鍙傛暟 param.getOrderItemId()//鍑哄簱棰勮
+        if (Cools.isEmpty(param)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖");
+        }
+        OrderOutTaskParam orderOutTaskParam = new OrderOutTaskParam();
+        orderOutTaskParam.setOrderId(param.getOrderItemId());
+        orderOutTaskParam.setWaveId(param.getWaveId());
 
-        return R.ok();
+        return outStockService.getOrderOutTaskItem(orderOutTaskParam,param.getOrderItemId());
     }
+    //
+    @PostMapping("/orderOut/getOutLocRun")
+    public R orderOutGetOutLocRun(@RequestBody OrderOutGeneralParam param) {
+        LocItem locItem = locItemService.getById(param.getItemId());
+        if (Cools.isEmpty(locItem)) {
+            return R.error().add("鏈煡璇㈠埌搴撳瓨鏄庣粏");
+        }
+        Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, locItem.getLocCode()));
+
+        if (Cools.isEmpty(loc)) {
+            return R.error().add("鏈煡璇㈠埌搴撲綅淇℃伅");
+        }
+        WkOrderItem orderItem = asnOrderItemService.getById(param.getOrderItemId());
 
 
+        List<OutStockToTaskParams> tasks = new ArrayList<>();
+        OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(orderItem);
+        outStockToTaskParams.setLocCode(loc.getCode());
+        outStockToTaskParams.setSiteNo(param.getOutSta().toString());
+        tasks.add(outStockToTaskParams);
+        return outStockService.genOutStockTask(tasks,getLoginUserId(), orderItem.getOrderId());
+    }
 
 }

--
Gitblit v1.9.1