From 2191824072549f0da35d73686a075e59b0196321 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期三, 25 九月 2024 15:02:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wms-dev' into wms-dev
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OutUtils.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 47 insertions(+), 12 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OutUtils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OutUtils.java
index 5575378..ccc9f87 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OutUtils.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OutUtils.java
@@ -2,8 +2,11 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.wms.asrs.entity.LocDetl;
+import com.zy.asrs.wms.asrs.entity.dto.OrderOutBatchPreviewDto;
+import com.zy.asrs.wms.asrs.entity.dto.OrderOutMergeDto;
import com.zy.asrs.wms.asrs.entity.dto.OutDetlDto;
import com.zy.asrs.wms.asrs.entity.dto.OutLocDto;
+import com.zy.asrs.wms.asrs.entity.param.OrderOutMergeParam;
import com.zy.asrs.wms.asrs.entity.param.OutParam;
import com.zy.asrs.wms.asrs.service.LocDetlService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -53,18 +56,8 @@
OutLocDto locDto = entry.getValue();
locDtos.add(locDto);
- List<LocDetl> list = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocId, locDto.getLocId()));
-
- Double sum = 0D;
- for (LocDetl locDetl : list) {
- sum += locDetl.getAnfme();
- }
-
- for (OutDetlDto detl : locDto.getDetls()) {
- sum -= detl.getAnfme();
- }
-
- locDto.setAll(sum == 0);
+ Boolean all = this.isAllForOut(locDto.getLocId(), locDto.getDetls());
+ locDto.setAll(all);
locDto.setOperationPort(outParam.getOperationPort());
}
@@ -93,4 +86,46 @@
return locDtos;
}
+ public Boolean isAllForMerge(Long locId, List<OrderOutMergeDto> list) {
+ List<Double> anfmeList = new ArrayList<>();
+ for (OrderOutMergeDto dto : list) {
+ anfmeList.add(dto.getAnfme());
+ }
+ return isAll(locId, anfmeList);
+ }
+
+ public Boolean isAllForPreview(Long locId, List<OrderOutBatchPreviewDto> list) {
+ List<Double> anfmeList = new ArrayList<>();
+ for (OrderOutBatchPreviewDto outPreviewDto : list) {
+ anfmeList.add(outPreviewDto.getAnfme());
+ }
+ return isAll(locId, anfmeList);
+ }
+
+ public Boolean isAllForOut(Long locId, List<OutDetlDto> list) {
+ List<Double> anfmeList = new ArrayList<>();
+ for (OutDetlDto dto : list) {
+ anfmeList.add(dto.getAnfme());
+ }
+ return isAll(locId, anfmeList);
+ }
+
+ private Boolean isAll(Long locId, List<Double> anfmeList) {
+ if (anfmeList.isEmpty()) {
+ return false;
+ }
+
+ List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocId, locId));
+ Double sum = 0D;
+ for (LocDetl locDetl : locDetls) {
+ sum += locDetl.getAnfme();
+ }
+
+ for (Double anfme : anfmeList) {
+ sum -= anfme;
+ }
+
+ return sum <= 0;
+ }
+
}
--
Gitblit v1.9.1