From 3ad65283c54059e0c61110589fb19398ac3525fe Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 08 七月 2025 08:32:32 +0800
Subject: [PATCH] 完善拣料转全板
---
src/main/java/com/zy/common/model/TaskDto.java | 40 ++++++++++++++++++++++++++++------------
1 files changed, 28 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java
index afcf9d0..4ba8064 100644
--- a/src/main/java/com/zy/common/model/TaskDto.java
+++ b/src/main/java/com/zy/common/model/TaskDto.java
@@ -8,10 +8,7 @@
import com.zy.asrs.service.LocDetlService;
import lombok.Data;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
/**
* Created by vincent on 2022/3/28
@@ -71,31 +68,50 @@
}
public boolean isAll(){
- // 姹囨�讳笉鑰冭檻鎵瑰彿
+ // 姹囨�讳笉鑰冭檻搴忓垪鐮�
List<DetlDto> detlDtos = new ArrayList<>();
for (LocDto locDto : this.getLocDtos()) {
- DetlDto dto = new DetlDto(locDto.getMatnr(), null, locDto.getAnfme());
+ DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme());
if (DetlDto.has(detlDtos, dto)) {
- DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), null);
+ DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch());
assert detlDto != null;
detlDto.setAnfme(detlDto.getAnfme() + locDto.getAnfme());
} else {
- detlDtos.add(new DetlDto(locDto.getMatnr(), null, locDto.getAnfme()));
+ detlDtos.add(new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme()));
}
}
// 鏌ヨ褰撳墠搴撲綅鍙锋墍鏈夌殑搴撳瓨鏄庣粏
LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
- // todo
List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo));
if (locDetls == null || locDetls.isEmpty()){
- throw new CoolException("璁$畻婊℃澘澶辫触锛屽簱浣嶅彿=" + this.locNo);
+ throw new CoolException("妫�绱㈠簱瀛樻槑缁嗗け璐ワ紝搴撲綅鍙�=" + this.locNo);
}
int sameNumber = 0;
for (LocDetl locDetl : locDetls) {
- for (DetlDto detlDto : detlDtos) {
- if (detlDto.getLocDetl().getMatnr().equals(locDetl.getMatnr()) && dto.getCount().equals(locDetl.getAnfme())) {
+ Iterator<DetlDto> iterator = detlDtos.iterator();
+ while (iterator.hasNext()) {
+ DetlDto dto = iterator.next();
+ if (!dto.getMatnr().equals(locDetl.getMatnr())) {
+ continue;
+ }
+ if (Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
+ continue;
+ }
+ if (!Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(locDetl.getBatch())) {
+ continue;
+ }
+ if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
+ if (!dto.getBatch().equals(locDetl.getBatch())) {
+ continue;
+ }
+ }
+ if (dto.getAnfme() > locDetl.getAnfme()) {
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
+ }
+ if (dto.getAnfme().equals(locDetl.getAnfme())) {
sameNumber++;
+ iterator.remove();
break;
}
}
--
Gitblit v1.9.1