From 906b9a260ba992d8fedb62186cde2b018f91c090 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 03 四月 2025 17:29:13 +0800
Subject: [PATCH] 添加一键收货接口 收货单日志添加执行状态字段

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java |   76 ++++++++++----------------------------
 1 files changed, 20 insertions(+), 56 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index 150d18a..e84ec9b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -6,6 +6,7 @@
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.api.controller.params.*;
 import com.vincent.rsf.server.api.entity.dto.*;
+import com.vincent.rsf.server.api.entity.enums.OrderType;
 import com.vincent.rsf.server.api.entity.enums.OrderWorkType;
 import com.vincent.rsf.server.api.service.MobileService;
 import com.vincent.rsf.server.common.config.ConfigProperties;
@@ -201,7 +202,7 @@
         List<ReceiptDetlsDto> receipts = params.getReceipts();
         List<WarehouseAreasItem> allOrders = new ArrayList<>();
 
-        double receiptQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getReceiptQty).sum();
+        Double receiptQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getReceiptQty).sum();
 
         String asnCode = receipts.stream().findFirst().get().getAsnCode();
 
@@ -210,7 +211,9 @@
         if (Objects.isNull(asnOrder)) {
             throw new CoolException("鏁版嵁閿欒锛氫富鍗曚笉瀛樺湪锛侊紒");
         }
-        asnOrder.setQty(receiptQty);
+        /**鏀惰揣鏁伴噺绱姞锛�1. 浼氬嚭瓒呮敹鎯呭喌 2. 浼氭湁鏀惰揣涓嶈冻鎯呭喌*/
+        Double rcptedQty = asnOrder.getQty() + receiptQty;
+        asnOrder.setQty(rcptedQty);
 
         if (!asnOrderMapper.updateById(asnOrder)) {
             throw new CoolException("宸叉敹璐ф暟閲忎慨鏀瑰け璐ワ紒锛�");
@@ -302,60 +305,18 @@
         if (!warehouseAreasItemService.saveBatch(allOrders)) {
             throw new CoolException("鏀惰揣澶辫触锛侊紒");
         }
-
-        //鑾峰彇閲囪喘鏁伴噺
-        double purQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getPurQty).sum();
-
-        BigDecimal subtract = BigDecimal.valueOf(receiptQty).subtract(BigDecimal.valueOf(purQty));
-        //鍒ゆ柇宸叉敹璐ф暟閲忔槸鍚﹀皬浜庣瓑浜庨噰璐暟閲�
-        if (subtract.compareTo(new BigDecimal("0.0")) <= 0) {
-            asnOrder.setRleStatus(Short.valueOf("1"));
-            //鏃ュ織琛ㄦ搷浣�
-            operateOrderLogs(asnOrder);
-        }
-
+//        //鑾峰彇閲囪喘鏁伴噺
+//        double purQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getPurQty).sum();
+//
+//        BigDecimal subtract = BigDecimal.valueOf(receiptQty).subtract(BigDecimal.valueOf(purQty));
+//        //鍒ゆ柇宸叉敹璐ф暟閲忔槸鍚﹀皬浜庣瓑浜庨噰璐暟閲�
+//        if (subtract.compareTo(new BigDecimal("0.0")) <= 0) {
+//            asnOrder.setRleStatus(Short.valueOf("1"));
+//            //鏃ュ織琛ㄦ搷浣�
+//            operateOrderLogs(asnOrder);
+//        }
         return R.ok("鎿嶄綔鎴愬姛");
     }
-
-    /**
-     * @author Ryan
-     * @description 鍒犻櫎鍘熶富鍗曞強鏄庣粏锛屽姞鍏ュ巻鍙叉。
-     * @param
-     * @return
-     * @time 2025/3/19 19:53
-     */
-    private void operateOrderLogs(AsnOrder asnOrder) {
-        if (!asnOrderMapper.removeById(asnOrder.getId())) {
-            throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
-        }
-
-        AsnOrderLog orderLog = new AsnOrderLog();
-        BeanUtils.copyProperties(asnOrder, orderLog);
-        orderLog.setAsnId(asnOrder.getId());
-
-        if (!asnOrderLogService.save(orderLog)) {
-            throw new CoolException("涓诲崟鍘嗗彶妗f坊鍔犲け璐ワ紒锛�");
-        }
-
-        List<AsnOrderItemLog> logs = new ArrayList<>();
-        List<AsnOrderItem> items = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, asnOrder.getId()));
-        items.forEach(item -> {
-            AsnOrderItemLog itemLog = new AsnOrderItemLog();
-            BeanUtils.copyProperties(item, itemLog);
-            itemLog.setAsnItemId(itemLog.getId())
-                    .setAsnId(item.getAsnId());
-            logs.add(itemLog);
-        });
-
-        if (!asnOrderItemLogService.saveBatch(logs)) {
-            throw new CoolException("閫氱煡鍗曟槑缁嗗巻鍙叉。淇濆瓨澶辫触锛侊紒");
-        }
-
-        if (asnOrderItemMapper.delete(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, asnOrder.getId())) < 1) {
-            throw new CoolException("鍘熷崟鎹槑缁嗗垹闄ゅけ璐ワ紒锛�");
-        }
-    }
-
 
     /**
      * @author Ryan
@@ -624,7 +585,10 @@
             throw new CoolException("鍗曟嵁鏄庣粏涓嶈兘涓虹┖锛侊紒");
         }
         Long OrderId = params.getItemList().stream().findFirst().get().getAsnId();
-        AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, OrderId));
+        /**鑾峰彇骞冲簱璁㈠崟*/
+        AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>()
+                .eq(AsnOrder::getId, OrderId)
+                .eq(AsnOrder::getType, OrderType.ORDER_PLAT_IN.type));
         if (Objects.isNull(order)) {
             throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
         }
@@ -681,7 +645,7 @@
             throw new CoolException("鎷栫洏浠诲姟涓嶅瓨鍦紒锛�");
         }
         List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
-        if (!taskItems.isEmpty()) {
+        if (taskItems.isEmpty()) {
             throw new CoolException("鎷栫洏浠诲姟鏄庣粏涓嶅瓨鍦紒锛�");
         }
         TaskQueueDto queueDto = new TaskQueueDto();

--
Gitblit v1.9.1