From c6c9b7d3baa822765768c110304d27623f946286 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期二, 15 七月 2025 14:29:09 +0800
Subject: [PATCH] `1`
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OutUtils.java | 262 ++++++++++++++++++++++++++--------------------------
1 files changed, 131 insertions(+), 131 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 ccc9f87..3b9902c 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
@@ -1,131 +1,131 @@
-package com.zy.asrs.wms.utils;
-
-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;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Component
-public class OutUtils {
-
- @Autowired
- private LocDetlService locDetlService;
-
- public List<OutLocDto> merge(OutParam outParam) {
- HashMap<Long, OutLocDto> map = new HashMap<>();
-
- for (OutDetlDto detl : outParam.getDetls()) {
- LocDetl locDetl = locDetlService.getById(detl.getDetlId());
- if (locDetl == null) {
- continue;
- }
- detl.setStock(locDetl.getAnfme());
-
- if (map.containsKey(locDetl.getLocId())) {
- OutLocDto locDto = map.get(locDetl.getLocId());
- List<OutDetlDto> detlDtos = locDto.getDetls();
- detlDtos.add(detl);
-
- locDto.setDetls(detlDtos);
- }else {
- OutLocDto locDto = new OutLocDto();
- map.put(locDetl.getLocId(), locDto);
-
- List<OutDetlDto> detlDtos = new ArrayList<>();
- detlDtos.add(detl);
-
- locDto.setLocId(locDetl.getLocId());
- locDto.setDetls(detlDtos);
- }
- }
-
- List<OutLocDto> locDtos = new ArrayList<>();
- for (Map.Entry<Long, OutLocDto> entry : map.entrySet()) {
- OutLocDto locDto = entry.getValue();
- locDtos.add(locDto);
-
- Boolean all = this.isAllForOut(locDto.getLocId(), locDto.getDetls());
- locDto.setAll(all);
- locDto.setOperationPort(outParam.getOperationPort());
- }
-
- //add zero stock
- for (OutLocDto locDto : locDtos) {
- List<OutDetlDto> detls = locDto.getDetls();
- List<Long> detlIds = new ArrayList<>();
- for (OutDetlDto detl : detls) {
- detlIds.add(detl.getDetlId());
- }
-
- List<LocDetl> list = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocId, locDto.getLocId()).notIn(LocDetl::getId, detlIds));
- if (!list.isEmpty()) {
- List<OutDetlDto> detlDtos = locDto.getDetls();
- for (LocDetl locDetl : list) {
- OutDetlDto outDetlDto = new OutDetlDto();
- outDetlDto.setDetlId(locDetl.getId());
- outDetlDto.setAnfme(0D);
- outDetlDto.setStock(locDetl.getAnfme());
- detlDtos.add(outDetlDto);
- }
- locDto.setDetls(detlDtos);
- }
- }
-
- 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;
- }
-
-}
+package com.zy.asrs.wms.utils;
+
+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;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class OutUtils {
+
+ @Autowired
+ private LocDetlService locDetlService;
+
+ public List<OutLocDto> merge(OutParam outParam) {
+ HashMap<Long, OutLocDto> map = new HashMap<>();
+
+ for (OutDetlDto detl : outParam.getDetls()) {
+ LocDetl locDetl = locDetlService.getById(detl.getDetlId());
+ if (locDetl == null) {
+ continue;
+ }
+ detl.setStock(locDetl.getAnfme());
+
+ if (map.containsKey(locDetl.getLocId())) {
+ OutLocDto locDto = map.get(locDetl.getLocId());
+ List<OutDetlDto> detlDtos = locDto.getDetls();
+ detlDtos.add(detl);
+
+ locDto.setDetls(detlDtos);
+ }else {
+ OutLocDto locDto = new OutLocDto();
+ map.put(locDetl.getLocId(), locDto);
+
+ List<OutDetlDto> detlDtos = new ArrayList<>();
+ detlDtos.add(detl);
+
+ locDto.setLocId(locDetl.getLocId());
+ locDto.setDetls(detlDtos);
+ }
+ }
+
+ List<OutLocDto> locDtos = new ArrayList<>();
+ for (Map.Entry<Long, OutLocDto> entry : map.entrySet()) {
+ OutLocDto locDto = entry.getValue();
+ locDtos.add(locDto);
+
+ Boolean all = this.isAllForOut(locDto.getLocId(), locDto.getDetls());
+ locDto.setAll(all);
+ locDto.setOperationPort(outParam.getOperationPort());
+ }
+
+ //add zero stock
+ for (OutLocDto locDto : locDtos) {
+ List<OutDetlDto> detls = locDto.getDetls();
+ List<Long> detlIds = new ArrayList<>();
+ for (OutDetlDto detl : detls) {
+ detlIds.add(detl.getDetlId());
+ }
+
+ List<LocDetl> list = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocId, locDto.getLocId()).notIn(LocDetl::getId, detlIds));
+ if (!list.isEmpty()) {
+ List<OutDetlDto> detlDtos = locDto.getDetls();
+ for (LocDetl locDetl : list) {
+ OutDetlDto outDetlDto = new OutDetlDto();
+ outDetlDto.setDetlId(locDetl.getId());
+ outDetlDto.setAnfme(0D);
+ outDetlDto.setStock(locDetl.getAnfme());
+ detlDtos.add(outDetlDto);
+ }
+ locDto.setDetls(detlDtos);
+ }
+ }
+
+ 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