From ebdfa825c07189b5f8e89f147d96d1bc612589db Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 15 七月 2025 08:32:17 +0800
Subject: [PATCH] 代码优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java |   91 +++++++++++++++++++--------------------------
 1 files changed, 39 insertions(+), 52 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
index d2d32ce..b1fa27e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
@@ -9,10 +9,12 @@
 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.manager.controller.params.GenWaveParams;
 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.DeliveryItem;
-import com.vincent.rsf.server.manager.entity.excel.OutStockTemplate;
+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.enums.OrderWorkType;
 import com.vincent.rsf.server.common.annotation.OperationLog;
@@ -21,8 +23,6 @@
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
-import com.vincent.rsf.server.manager.entity.AsnOrder;
-import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
 import com.vincent.rsf.server.manager.enums.AsnExceStatus;
 import com.vincent.rsf.server.manager.service.OutStockItemService;
@@ -56,8 +56,8 @@
     @PostMapping("/outStock/page")
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
-        PageParam<AsnOrder, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrder.class);
-        QueryWrapper<AsnOrder> queryWrapper = pageParam.buildWrapper(true);
+        PageParam<WkOrder, BaseParam> pageParam = new PageParam<>(baseParam, WkOrder.class);
+        QueryWrapper<WkOrder> queryWrapper = pageParam.buildWrapper(true);
         List<String> list = Arrays.asList(OrderType.ORDER_OUT.type);
         queryWrapper.in("type", list);
         return R.ok().add(outStockService.page(pageParam, queryWrapper));
@@ -67,8 +67,8 @@
     @PostMapping("/outStock/dialog/page")
     public R dialogPage(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
-        PageParam<AsnOrder, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrder.class);
-        QueryWrapper<AsnOrder> queryWrapper = pageParam.buildWrapper(true);
+        PageParam<WkOrder, BaseParam> pageParam = new PageParam<>(baseParam, WkOrder.class);
+        QueryWrapper<WkOrder> queryWrapper = pageParam.buildWrapper(true);
         List<String> list = Arrays.asList(OrderType.ORDER_OUT.type);
         queryWrapper.in("type", list);
         return R.ok().add(outStockService.page(pageParam, queryWrapper));
@@ -77,7 +77,7 @@
     @PreAuthorize("hasAuthority('manager:outStock:list')")
     @PostMapping("/outStock/list")
     public R list(@RequestBody Map<String, Object> map) {
-        return R.ok().add(outStockService.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getType, OrderType.ORDER_OUT.type)));
+        return R.ok().add(outStockService.list(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getType, OrderType.ORDER_OUT.type)));
     }
 
     @PreAuthorize("hasAuthority('manager:outStock:list')")
@@ -97,39 +97,39 @@
     @OperationLog("Create 鍑哄簱鍗曟嵁")
     @PostMapping("/outStock/save")
     @ApiOperation("淇濆瓨")
-    public R save(@RequestBody AsnOrder asnOrder) {
-        asnOrder.setCreateBy(getLoginUserId())
+    public R save(@RequestBody WkOrder wkOrder) {
+        wkOrder.setCreateBy(getLoginUserId())
                 .setUpdateBy(getLoginUserId());
-        if (Objects.isNull(asnOrder.getCode())) {
-            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, asnOrder);
+        if (Objects.isNull(wkOrder.getCode())) {
+            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, wkOrder);
             if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) {
                 return R.error("缂栫爜瑙勫垯閿欒锛氱紪鐮併�孲YS_OUT_STOCK_CODE銆嶆槸鏈缃垚鍔燂紒锛�");
             }
-            asnOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)
+            wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)
                     .setCode(ruleCode);
         }
-        if (!outStockService.save(asnOrder)) {
+        if (!outStockService.save(wkOrder)) {
             return R.error("Save Fail");
         }
-        return R.ok("Save Success").add(asnOrder);
+        return R.ok("Save Success").add(wkOrder);
     }
 
     @PreAuthorize("hasAuthority('manager:outStock:update')")
     @OperationLog("Update 锛涘嚭搴撳崟鎹�")
     @PostMapping("/outStock/update")
     @ApiOperation("鏇存柊")
-    public R update(@RequestBody AsnOrder asnOrder) {
-        asnOrder.setType(OrderType.ORDER_OUT.type)
+    public R update(@RequestBody WkOrder wkOrder) {
+        wkOrder.setType(OrderType.ORDER_OUT.type)
                 .setUpdateBy(getLoginUserId())
                 .setUpdateTime(new Date());
-        if (Objects.isNull(asnOrder.getCode())) {
-            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, asnOrder);
-            asnOrder.setCode(ruleCode);
+        if (Objects.isNull(wkOrder.getCode())) {
+            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, wkOrder);
+            wkOrder.setCode(ruleCode);
         }
-        if (!outStockService.updateById(asnOrder)) {
+        if (!outStockService.updateById(wkOrder)) {
             return R.error("Update Fail");
         }
-        return R.ok("Update Success").add(asnOrder);
+        return R.ok("Update Success").add(wkOrder);
     }
 
     @PreAuthorize("hasAuthority('manager:outStock:remove')")
@@ -147,9 +147,9 @@
     @ApiOperation("鏌ヨ")
     public R query(@RequestParam(required = false) String condition) {
         List<KeyValVo> vos = new ArrayList<>();
-        LambdaQueryWrapper<AsnOrder> wrapper = new LambdaQueryWrapper<>();
+        LambdaQueryWrapper<WkOrder> wrapper = new LambdaQueryWrapper<>();
         if (!Cools.isEmpty(condition)) {
-            wrapper.like(AsnOrder::getCode, condition);
+            wrapper.like(WkOrder::getCode, condition);
         }
         outStockService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
                 item -> vos.add(new KeyValVo(item.getId(), item.getCode()))
@@ -175,7 +175,7 @@
         if (list.isEmpty()) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        List<AsnOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getId, list));
+        List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>().in(WkOrderItem::getId, list));
         if (orderItems.isEmpty()) {
             throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
         }
@@ -187,11 +187,11 @@
     @PostMapping("/outStock/export")
     @ApiOperation("瀵煎嚭")
     public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
-        List<AsnOrder> orders = new ArrayList<>();
+        List<WkOrder> orders = new ArrayList<>();
         if (!Objects.isNull(map.get("ids"))) {
             List<Long> ids = JSONArray.parseArray(JSONObject.toJSONString(map.get("ids")), Long.class);
             if (!ids.isEmpty()) {
-                orders = outStockService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, ids));
+                orders = outStockService.list(new LambdaQueryWrapper<WkOrder>().in(WkOrder::getId, ids));
             } else {
                 orders = outStockService.list(new LambdaQueryWrapper<>());
             }
@@ -199,9 +199,9 @@
             orders = outStockService.list();
         }
         List<AsnOrderTemplate> orderTemplates = new ArrayList<>();
-        for (AsnOrder order : orders) {
-            List<AsnOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId()));
-            for (AsnOrderItem item : orderItems) {
+        for (WkOrder order : orders) {
+            List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getAsnId, order.getId()));
+            for (WkOrderItem item : orderItems) {
                 if (Objects.isNull(item)) {
                     continue;
                 }
@@ -239,12 +239,11 @@
     @PreAuthorize("hasAuthority('manager:outStock:update')")
     @ApiOperation("鍑哄簱鍗曠敓鎴愭尝娆�")
     @PostMapping("/outStock/generate/wave")
-    public R generateWave(@RequestBody Map<String, Object> params) {
+    public R generateWave(@RequestBody GenWaveParams params) {
         if (Objects.isNull(params)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        List<Long> ids = (List<Long>) params.get("ids");
-        return outStockService.generateWaves(ids);
+        return outStockService.generateWaves(params);
     }
 
     @PostMapping("/outStock/items/save")
@@ -294,10 +293,14 @@
         if (Objects.isNull(params.get("outId"))) {
             return R.error("鍑哄簱鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-
         List<OutStockToTaskParams> taskParams = JSONArray.parseArray(JSONArray.toJSONString(params.get("items")), OutStockToTaskParams.class);
-
-        return  outStockService.genOutStockTask(taskParams, getLoginUserId(), Long.parseLong(params.get("outId").toString()));
+        List<OutStockToTaskParams> tasks = new ArrayList<>();
+        for (OutStockToTaskParams taskParam : taskParams) {
+            if (StringUtils.isNotBlank(taskParam.getLocCode())) {
+                tasks.add(taskParam);
+            }
+        }
+        return  outStockService.genOutStockTask(tasks, getLoginUserId(), Long.parseLong(params.get("outId").toString()));
     }
 
     /**
@@ -309,22 +312,6 @@
     @PreAuthorize("hasAuthority('manager:outStock:list')")
     public R getSiteNos() {
         return outStockService.getSiteNos();
-    }
-
-    /**
-     * @author Ryan
-     * @description 涓嬭浇妯℃澘
-     * @param
-     * @return
-     * @time 2025/4/18 08:17
-     */
-    @PostMapping("/outStock/template/download")
-    @ApiOperation("涓嬭浇鏀惰揣鍗曟ā鏉�")
-    @PreAuthorize("hasAuthority('manager:outStockItem:update')")
-    public void downloadTemplate(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
-        OutStockTemplate template = ExcelUtil.mockData(OutStockTemplate.class);
-        List<OutStockTemplate> list = Arrays.asList(template);
-        ExcelUtil.build(ExcelUtil.create(list, OutStockTemplate.class, true), response);
     }
 
 }

--
Gitblit v1.9.1