From e235d483194ab95bf62d1cfd343a172ff12781e8 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 13 四月 2024 14:58:24 +0800
Subject: [PATCH] 聚乳酸库存明细 1.批号与包号排序需同步,增加水分,挥发段,分解段搜索,按照最大最小范围,包装类型跟托盘类型增加删选功能。 2.已经出库的物料,在明细表里面隐藏掉,但是数据保留。 3.增加二个跟聚乳酸一样的明细表,分改性树脂,纯树脂库存明细表,所有功能跟总的聚乳酸库存明细表一样 4.明细表整体框架调整一下,相对压缩一下,搜索功能框看看能否弄成二行 5.表里面的包装类型与托盘类型这些不主要的信息放到指标后面 6.关于分包再处理,举例原有系统里面销售选定的10包物料,再二次重新弄后,车间打印新标签,使用新的包号,在明细表里面体现原有所有指标信息及批号,包号,牌号跟新的关联 7.出库时候时间可选历史,不要就只能出现4天 8.提取库存里面需要有最大包号跟最小包号选择

---
 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