From 8c39eb09386b96d0256695b3de3d2822e95809f0 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 17 七月 2025 10:23:30 +0800
Subject: [PATCH] 盘点单下发功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
index 69a1499..8e8955f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
@@ -10,10 +10,7 @@
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
 import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
-import com.vincent.rsf.server.manager.entity.DeviceSite;
-import com.vincent.rsf.server.manager.entity.WkOrder;
-import com.vincent.rsf.server.manager.entity.WkOrderItem;
-import com.vincent.rsf.server.manager.entity.Matnr;
+import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.entity.excel.CheckOrderTemplate;
 import com.vincent.rsf.server.manager.enums.*;
 import com.vincent.rsf.server.manager.mapper.CheckOrderMapper;
@@ -41,6 +38,8 @@
     private AsnOrderItemService asnOrderItemService;
     @Autowired
     private DeviceSiteService deviceSiteService;
+    @Autowired
+    private LocItemService locItemService;
 
     /**
      * @author Ryan
@@ -216,7 +215,36 @@
      */
     @Override
     public R genCheckPreview(OrderOutTaskParam param) {
-        return null;
+        List<WkOrderItem> orderItems = checkOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, param.getOrderId()));
+        if (orderItems.isEmpty()) {
+            throw new CoolException("鏁版嵁閿欒锛氱洏鐐瑰崟鏄庣粏涓嶅瓨鍦紒锛�");
+        }
+        return R.ok().add(orderItems);
+    }
+
+    /**
+     * @author Ryan
+     * @date 2025/7/16
+     * @description: 鏍规嵁鐗╂枡鐮佽幏鍙栨墍鏈夊湪搴撴槑缁�
+     * @version 1.0
+     */
+    @Override
+    public R getAllLocByMatnr(List<String> matnrs) {
+        List<LocItem> locItems = locItemService.listByMatnr(matnrs);
+        if (!locItems.isEmpty()) {
+            List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type);
+            DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
+                    .in(DeviceSite::getType, list)
+                    .groupBy(DeviceSite::getSite)
+                    .last("limit 1"));
+            if (Objects.isNull(deviceSite)) {
+                throw new CoolException("搴撳彛涓嶄负绌猴紒锛�");
+            }
+            locItems.forEach(locItem -> {
+                locItem.setSiteNo(deviceSite.getSite());
+            });
+        }
+        return R.ok().add(locItems);
     }
 
     /**

--
Gitblit v1.9.1