From 9f095733d13185290cfedd242b5f299585fbcad0 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期一, 07 四月 2025 10:05:34 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/model/TaskDto.java | 98 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 89 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java
index 4ba8064..142c311 100644
--- a/src/main/java/com/zy/common/model/TaskDto.java
+++ b/src/main/java/com/zy/common/model/TaskDto.java
@@ -20,6 +20,8 @@
private Integer staNo;
+ private String agvStaNo;
+
private List<LocDto> locDtos;
{
@@ -37,6 +39,12 @@
this.locDtos.add(locDto);
}
+ public TaskDto(String locNo, String agvStaNo, LocDto locDto) {
+ this.locNo = locNo;
+ this.agvStaNo = agvStaNo;
+ this.locDtos.add(locDto);
+ }
+
public TaskDto(String locNo, Integer staNo, List<LocDto> locDtos) {
this.locNo = locNo;
this.staNo = staNo;
@@ -48,6 +56,9 @@
return false;
}
for (TaskDto taskDto : list) {
+ if(Cools.isEmpty(taskDto.getStaNo()) && dto.getLocNo().equals(taskDto.getLocNo())){
+ return true;
+ }
if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getStaNo().equals(dto.getStaNo())) {
return true;
}
@@ -60,6 +71,9 @@
return null;
}
for (TaskDto taskDto : list) {
+ if(Cools.isEmpty(taskDto.getStaNo()) && dto.getLocNo().equals(taskDto.getLocNo())){
+ return taskDto;
+ }
if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getStaNo().equals(dto.getStaNo())) {
return taskDto;
}
@@ -71,13 +85,14 @@
// 姹囨�讳笉鑰冭檻搴忓垪鐮�
List<DetlDto> detlDtos = new ArrayList<>();
for (LocDto locDto : this.getLocDtos()) {
- DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme());
+ DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme(), locDto.getCsocode(), locDto.getIsoseq(),locDto.getContainerCode());
+ //dto.setContainerCode(locDto.getContainerCode());
if (DetlDto.has(detlDtos, dto)) {
- DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch());
+ DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),dto.getContainerCode());
assert detlDto != null;
detlDto.setAnfme(detlDto.getAnfme() + locDto.getAnfme());
} else {
- detlDtos.add(new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme()));
+ detlDtos.add(new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme(),locDto.getCsocode(),locDto.getIsoseq(),locDto.getContainerCode()));
}
}
@@ -95,17 +110,34 @@
if (!dto.getMatnr().equals(locDetl.getMatnr())) {
continue;
}
- if (Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
+ if(!Cools.eq(dto.getBatch(),locDetl.getBatch())){
continue;
}
- if (!Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(locDetl.getBatch())) {
+ if(!Cools.eq(dto.getCsocode(),locDetl.getThreeCode())){
continue;
}
- if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
- if (!dto.getBatch().equals(locDetl.getBatch())) {
- continue;
- }
+ if(!Cools.eq(dto.getIsoseq(),locDetl.getDeadTime())){
+ continue;
}
+ if(!Cools.eq(dto.getContainerCode(),locDetl.getSuppCode())){
+ 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 (!Cools.isEmpty(dto.getContainerCode()) && !Cools.isEmpty(locDetl.getSuppCode())) {
+// if (!dto.getContainerCode().equals(locDetl.getSuppCode())) {
+// continue;
+// }
+// }
if (dto.getAnfme() > locDetl.getAnfme()) {
throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
}
@@ -119,4 +151,52 @@
return sameNumber == locDetls.size();
}
+ public void sortLocDtos() {
+ ArrayList<LocDto> list = new ArrayList<>();
+ String orderNo = "";
+ for (LocDto locDto : locDtos) {
+ if (!Cools.isEmpty(locDto.getOrderNo())) {
+ orderNo = locDto.getOrderNo();
+ break;
+ }
+ }
+
+ EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+ wrapper.eq("loc_no", locNo);
+ LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
+ List<LocDetl> locDetls = locDetlService.selectList(wrapper);
+ for (LocDetl locDetl : locDetls) {
+ boolean flag = true;
+ for (LocDto locDto : locDtos) {
+ if (!Cools.isEmpty(locDetl.getMatnr())) {
+ if (!locDetl.getMatnr().equals(locDto.getMatnr())) {
+ continue;
+ }
+ }
+ if (!Cools.isEmpty(locDetl.getBatch())) {
+ if (!locDetl.getBatch().equals(locDto.getBatch())) {
+ continue;
+ }
+ }
+ if (!Cools.isEmpty(locDetl.getSuppCode())) {
+ if (!locDetl.getSuppCode().equals(locDto.getContainerCode())) {
+ continue;
+ }
+ }
+ locDto.setStock(locDetl.getAnfme());
+ flag = false;
+ break;
+ }
+
+ if (flag) {
+ LocDto dto = new LocDto(locNo, locDetl.getMatnr(), locDetl.getBatch(), 0D);
+ dto.setContainerCode(locDetl.getSuppCode());
+ dto.setStock(locDetl.getAnfme());
+ list.add(dto);
+ }
+ }
+
+ locDtos.addAll(list);
+ }
+
}
--
Gitblit v1.9.1