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