From 6d76b543f02917a8fc373e12271a112d01f7b612 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 12 六月 2024 08:41:58 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/model/TaskDto.java |   89 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 80 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 02baec6..142c311 100644
--- a/src/main/java/com/zy/common/model/TaskDto.java
+++ b/src/main/java/com/zy/common/model/TaskDto.java
@@ -56,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;
             }
@@ -68,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;
             }
@@ -79,14 +85,14 @@
         // 姹囨�讳笉鑰冭檻搴忓垪鐮�
         List<DetlDto> detlDtos = new ArrayList<>();
         for (LocDto locDto : this.getLocDtos()) {
-            DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme(), locDto.getCsocode(), locDto.getIsoseq());
-            dto.setContainerCode(locDto.getContainerCode());
+            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(),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()));
             }
         }
 
@@ -104,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("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
                 }
@@ -128,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