From 50eb871e7dfcf064639cc15e53573baf28e60f26 Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期四, 12 三月 2026 17:45:20 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java |   68 ++++++++++++++++++----------------
 1 files changed, 36 insertions(+), 32 deletions(-)

diff --git a/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
index 4bd4a81..968cd42 100644
--- a/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
@@ -17,6 +17,7 @@
 import com.zy.asrs.service.impl.OrderDetlPakoutServiceImpl;
 import com.zy.asrs.service.impl.OrderPakoutServiceImpl;
 import com.zy.common.model.DetlDto;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -25,6 +26,7 @@
 import java.util.stream.Collectors;
 
 @Service
+@Slf4j
 public class HmesApiServiceImpl implements HmesApiService {
 
     @Autowired
@@ -75,12 +77,46 @@
         // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹�
         if (!Cools.isEmpty(order)) {
             if (order.getSettle() > 1L) {
+                log.error(param.getOrderNo() + "姝e湪鍑哄簱锛屾棤娉曚慨鏀瑰崟鎹�");
                 throw new CoolException(param.getOrderNo() + "姝e湪鍑哄簱锛屾棤娉曚慨鏀瑰崟鎹�");
             }
             orderPakoutService.remove(order.getId());
         }
         DocType docType = docTypeService.selectOrAdd(param.getBillType(), Boolean.FALSE);
         Date now = new Date();
+
+        // 鍗曟嵁鏄庣粏妗�
+        List<DetlDto> list = new ArrayList<>();
+        List<DetlDto> orderDetails = param.getMatList();
+        for (DetlDto detail : orderDetails) {
+            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getDevNo(),detail.getStandby2(),detail.getStandby3(),detail.getLineNumber(),
+                    detail.getBoxType1(),detail.getBoxType2(),detail.getBoxType3(), detail.getAnfme());
+            if (DetlDto.hasLineNumber(list, dto)) {
+                DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getDevNo(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber(),
+                        dto.getBoxType1(),dto.getBoxType2(),dto.getBoxType3());
+                assert detlDto != null;
+                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
+            } else {
+                list.add(dto);
+            }
+        }
+        //涓嬪彂鐨勮鍗曟槑缁嗭紝鏌ョ湅搴撳瓨鏄惁鏈夎冻澶熺殑搴撳瓨锛屾帓闄ゆ満鍙扮殑搴撲綅
+        for (DetlDto detail : list) {
+            List<LocDetl> matnr = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", detail.getMatnr()));
+            Double count=0.0;
+            for (LocDetl detl : matnr) {
+                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", detl.getLocNo()).eq("loc_sts","F"));
+                if (locMast != null) {
+                    LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", locMast.getLocNo()));
+                    if (Cools.isEmpty(bLocNo)) {
+                        count=detl.getAnfme()+count;
+                    }
+                }
+            }
+            if (count<detail.getAnfme()) {
+                return R.error("鐗╂枡="+detail.getMatnr()+"搴撳瓨涓嶈冻鏃犳硶鐢熸垚璁㈠崟");
+            }
+        }
         // 鍗曟嵁涓绘。
         order = new OrderPakout(
                 String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
@@ -120,38 +156,6 @@
         );
         if (!orderPakoutService.insert(order)) {
             throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
-        }
-        // 鍗曟嵁鏄庣粏妗�
-        List<DetlDto> list = new ArrayList<>();
-        List<DetlDto> orderDetails = param.getMatList();
-        for (DetlDto detail : orderDetails) {
-            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getDevNo(),detail.getStandby2(),detail.getStandby3(),detail.getLineNumber(),
-                    detail.getBoxType1(),detail.getBoxType2(),detail.getBoxType3(), detail.getAnfme());
-            if (DetlDto.hasLineNumber(list, dto)) {
-                DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getDevNo(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber(),
-                        dto.getBoxType1(),dto.getBoxType2(),dto.getBoxType3());
-                assert detlDto != null;
-                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
-            } else {
-                list.add(dto);
-            }
-        }
-        //涓嬪彂鐨勮鍗曟槑缁嗭紝鏌ョ湅搴撳瓨鏄惁鏈夎冻澶熺殑搴撳瓨锛屾帓闄ゆ満鍙扮殑搴撲綅
-        for (DetlDto detail : list) {
-            List<LocDetl> matnr = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", detail.getMatnr()));
-            Double count=0.0;
-            for (LocDetl detl : matnr) {
-                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", detl.getLocNo()).eq("loc_sts","F"));
-                if (locMast != null) {
-                    LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", locMast.getLocNo()));
-                    if (Cools.isEmpty(bLocNo)) {
-                        count=detl.getAnfme()+count;
-                    }
-                }
-            }
-            if (count<detail.getAnfme()) {
-                return R.error("鐗╂枡="+detail.getMatnr()+"搴撳瓨涓嶈冻鏃犳硶鐢熸垚璁㈠崟");
-            }
         }
         for (DetlDto detlDto : list) {
             Mat mat = matService.selectByMatnr(detlDto.getMatnr());

--
Gitblit v1.9.1