From 17080b28dc3fb0df12a5a4da76e10dd9203e5725 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 08 十月 2025 11:07:48 +0800
Subject: [PATCH] 订单功能完善

---
 src/main/java/com/zy/asrs/controller/OutController.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 23fb3a9..ef24fc4 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -7,6 +7,7 @@
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.service.*;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.TaskDto;
@@ -17,6 +18,7 @@
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -41,6 +43,9 @@
     private WorkService workService;
     @Autowired
     private BasDevpService basDevpService;
+
+    @Resource
+    private LocDetlMapper locDetlMapper;
 
 
     @PostMapping("/out/pakout/orderDetlIds/auth")
@@ -79,6 +84,22 @@
                     break;
                 }
             }
+            List<LocDetl> locDetls2 = locDetlMapper.queryStockByManLoc(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
+            for (LocDetl locDetl : locDetls2) {
+                if (issued > 0) {
+                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
+                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
+//                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
+//                    locDto.setStaNos(staNos);
+                    locDto.setLocNo("骞冲簱" + locDetl.getLocNo());
+                    locDtos.add(locDto);
+                    exist.add(locDetl.getLocNo());
+                    // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+                    issued = issued - locDetl.getAnfme();
+                } else {
+                    break;
+                }
+            }
             if (issued > 0) {
                 LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
                 locDto.setLack(Boolean.TRUE);
@@ -94,6 +115,10 @@
         if (Cools.isEmpty(locDtos)) {
             return R.parse(BaseRes.PARAM);
         }
+        locDtos = locDtos.stream().filter(locDto -> locDto.getLocNo() != null && !locDto.getLocNo().startsWith("骞冲簱")).collect(Collectors.toList());
+        if (Cools.isEmpty(locDtos)) {
+            return R.parse("骞冲簱搴撳瓨/搴撳瓨涓嶈冻");
+        }
         boolean lack = true;
         for (LocDto locDto : locDtos) {
             if (!locDto.isLack()) {

--
Gitblit v1.9.1