From bb7dd1f513149ecd2887895c807861fdd06a43f6 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 11 二月 2026 15:29:27 +0800
Subject: [PATCH] 展示库存明细

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 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 e2893b3..6dfe9eb 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
@@ -8,10 +8,7 @@
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
 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.CheckOrderItemParams;
-import com.vincent.rsf.server.manager.controller.params.CheckOrderParams;
-import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
+import com.vincent.rsf.server.manager.controller.params.*;
 import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.entity.excel.CheckOrderTemplate;
 import com.vincent.rsf.server.manager.enums.*;
@@ -213,7 +210,12 @@
     @Override
     public R getSiteNos() {
         List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type);
-        List<DeviceSite> sites = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>().in(DeviceSite::getType, list).groupBy(DeviceSite::getSite));
+        // 鍏堟煡鍏ㄩ儴鍐嶆寜 site 鍘婚噸锛岄伩鍏� GROUP BY 涓� only_full_group_by 鍐茬獊
+        List<DeviceSite> all = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>().in(DeviceSite::getType, list));
+        List<DeviceSite> sites = all.stream()
+                .collect(Collectors.toMap(DeviceSite::getSite, d -> d, (a, b) -> a))
+                .values().stream()
+                .collect(Collectors.toList());
         return R.ok().add(sites);
     }
 
@@ -239,13 +241,15 @@
      * @version 1.0
      */
     @Override
-    public R getAllLocByMatnr(List<String> matnrs) {
+    public R getAllLocByMatnr(CheckLocQueryParams matnrs) {
+        if (Objects.isNull(matnrs.getMatnrCode()) && matnrs.getMatnrCode().isEmpty()) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
         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("搴撳彛涓嶄负绌猴紒锛�");
@@ -280,6 +284,10 @@
                 if (Objects.isNull(loc)) {
                     throw new CoolException("褰撳墠搴撲綅涓嶅瓨鍦紒锛�");
                 }
+                Task task1 = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, key));
+                if (!Objects.isNull(task1)) {
+                    throw new CoolException("鎵樼洏浠诲姟宸插瓨鍦紒锛�");
+                }
                 List<CheckOrderItemParams> itemParams = listMap.get(key);
                 CheckOrderItemParams checkItem = itemParams.stream().findFirst().get();
                 Task task = new Task();
@@ -294,6 +302,8 @@
                         .setTaskType(TaskType.TASK_TYPE_CHECK_OUT.type)
                         .setTaskStatus(TaskStsType.GENERATE_OUT.id)
                         .setCreateTime(new Date())
+                        .setUpdateBy(loginUserId)
+                        .setUpdateTime(new Date())
                         .setCreateBy(loginUserId)
                         .setBarcode(key);
 
@@ -304,8 +314,8 @@
                 itemParams.forEach(item -> {
                     TaskItem taskItem = new TaskItem();
                     taskItem.setTaskId(task.getId())
-                            .setOrderId(checkParam.getOrderId())
                             .setOrderType(OrderType.ORDER_CHECK.type)
+                            .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_CHECK.type))
                             .setAnfme(item.getAnfme())
                             .setWorkQty(0.0)
                             .setBatch(checkParam.getBatch())
@@ -313,12 +323,20 @@
                             .setMatnrCode(checkParam.getMatnrCode())
                             .setPlatOrderCode(checkParam.getPlatOrderCode())
                             .setPlatWorkCode(checkParam.getPlatWorkCode())
+                            .setUnit(checkParam.getStockUnit())
                             .setSpec(checkParam.getSpec())
                             .setModel(checkParam.getModel())
                             .setFieldsIndex(checkParam.getFieldsIndex())
                             .setMatnrId(checkParam.getMatnrId())
                             .setCreateBy(loginUserId)
+                            .setSource(checkParam.getId())
+                            .setSourceId(checkParam.getOrderId())
+                            .setSourceCode(checkParam.getOrderCode())
                             .setCreateTime(new Date())
+                            .setUpdateBy(loginUserId)
+                            .setUpdateTime(new Date())
+                            .setOrderItemId(checkParam.getId())
+                            .setOrderId(checkParam.getOrderId())
                             .setPlatItemId(checkParam.getPlatItemId());
                     items.add(taskItem);
 

--
Gitblit v1.9.1