From ab14726215678ac69adfeafbd845ebc5b0776ea2 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 14 一月 2025 14:56:41 +0800
Subject: [PATCH] 优化订单同步逻辑及库位查找
---
src/main/java/com/zy/common/model/DetlDto.java | 100 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 85 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index daf439e..0ebe17e 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -4,6 +4,7 @@
import com.zy.asrs.entity.OrderDetl;
import lombok.Data;
+import java.util.List;
import java.util.Set;
/**
@@ -14,11 +15,28 @@
private String orderNo;
+ //鏂欐兂鐮�
+ private String containerCode;
+
private String matnr;
private String batch;
private Double anfme;
+
+ //閿�鍞鍗曞彿
+ private String csocode;
+
+ //閿�鍞鍗曡鍙�
+ private String isoseq;
+
+ private String cFree1;
+
+ // 搴撲綅绫诲瀷锛� 1銆佷唬鍖呰鎴愬搧锛�2銆佸師鏉愭枡锛�3銆佺澹�
+ private Integer locType;
+
+ // 宸ュ簭鐘舵�� 1锛氬緟鍔犲伐锛�2锛氬凡鍔犲伐锛�3锛氭棤闇�鍔犲伐
+ private Integer processSts;
public DetlDto() {
}
@@ -28,17 +46,59 @@
this.anfme = anfme;
}
+ public DetlDto(String matnr, Double anfme,Integer processSts) {
+ this.matnr = matnr;
+ this.anfme = anfme;
+ this.processSts = processSts;
+ }
+
+ public DetlDto(String matnr, String batch) {
+ this.matnr = matnr;
+ this.batch = batch;
+ }
+
public DetlDto(String matnr, String batch, Double anfme) {
this.matnr = matnr;
this.batch = batch;
this.anfme = anfme;
}
- public DetlDto(String orderNo, String matnr, String batch, Double anfme) {
+ public DetlDto(String matnr, String batch, Double anfme, String csocode, String isoseq, String containerCode) {
+ this.matnr = matnr;
+ this.batch = batch;
+ this.anfme = anfme;
+ this.csocode = csocode;
+ this.isoseq = isoseq;
+ this.containerCode = containerCode;
+ }
+ public DetlDto(String matnr, String batch, Double anfme, String csocode, String isoseq, String containerCode, Integer locType) {
+ this.matnr = matnr;
+ this.batch = batch;
+ this.anfme = anfme;
+ this.csocode = csocode;
+ this.isoseq = isoseq;
+ this.containerCode = containerCode;
+ this.locType = locType;
+ }
+
+ public DetlDto(String matnr, String batch, Double anfme, String csocode, String isoseq, String containerCode, Integer locType, Integer processSts) {
+ this.matnr = matnr;
+ this.batch = batch;
+ this.anfme = anfme;
+ this.csocode = csocode;
+ this.isoseq = isoseq;
+ this.containerCode = containerCode;
+ this.locType = locType;
+ this.processSts = processSts;
+ }
+
+ public DetlDto(String orderNo, String matnr, String batch, Double anfme, String csocode, String isoseq) {
this.orderNo = orderNo;
this.matnr = matnr;
this.batch = batch;
this.anfme = anfme;
+ this.csocode = csocode;
+ this.isoseq = isoseq;
}
public static boolean hasList(Set<DetlDto> detlDtos, OrderDetl orderDetl) {
@@ -58,28 +118,38 @@
return false;
}
- public static DetlDto find(Set<DetlDto> detlDtos, String matnr, String batch) {
+ public static boolean has(List<DetlDto> detlDtos, DetlDto detlDto) {
+ for (DetlDto dto : detlDtos) {
+ if (dto.getMatnr().equals(detlDto.getMatnr())
+ && Cools.eq(dto.getContainerCode(), detlDto.getContainerCode())
+ && Cools.eq(dto.getBatch(), detlDto.getBatch())
+ && Cools.eq(dto.getCsocode(),detlDto.getCsocode())
+ && Cools.eq(dto.getIsoseq(),detlDto.getIsoseq())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch, String csocode, String isoseq, String containerCode) {
if (Cools.isEmpty(matnr)) {
return null;
}
for (DetlDto detlDto : detlDtos) {
- if (!matnr.equals(detlDto.getMatnr())) {
- continue;
- }
- if (Cools.isEmpty(batch) && Cools.isEmpty(detlDto.getBatch())) {
- return detlDto;
- }
- if (Cools.isEmpty(batch) && !Cools.isEmpty(detlDto.getBatch())) {
- continue;
- }
- if (Cools.isEmpty(detlDto.getBatch()) && !Cools.isEmpty(batch)) {
- continue;
- }
- if (batch.equals(detlDto.getBatch())) {
+ if (matnr.equals(detlDto.getMatnr())
+ && Cools.eq(containerCode, detlDto.getContainerCode())
+ && Cools.eq(batch, detlDto.getBatch())
+ && Cools.eq(csocode,detlDto.getCsocode())
+ && Cools.eq(isoseq,detlDto.getIsoseq())) {
return detlDto;
}
}
return null;
}
+ public static void main(String[] args) {
+ boolean a = Cools.eq("a", null);
+ System.out.println(a);
+ }
+
}
--
Gitblit v1.9.1