From 502360f2af9d5f2120412afaa888c67c9911a741 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期日, 07 四月 2024 09:35:01 +0800
Subject: [PATCH] agv工作档转出库任务

---
 src/main/java/com/zy/common/model/OutLocDto.java |   96 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 85 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/common/model/OutLocDto.java b/src/main/java/com/zy/common/model/OutLocDto.java
index 3fc958d..3388eb6 100644
--- a/src/main/java/com/zy/common/model/OutLocDto.java
+++ b/src/main/java/com/zy/common/model/OutLocDto.java
@@ -8,8 +8,7 @@
 import com.zy.asrs.service.LocDetlService;
 import lombok.Data;
 
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
 
 /**
  * Created by vincent on 2020/6/17
@@ -19,17 +18,18 @@
 
     private String locNo;
 
-    private List<LocDetlDto> locDetlDtos;
+    private List<LocDetlDto> locDetlDtos = new ArrayList<>();
 
     public OutLocDto() {
     }
 
-    public OutLocDto(String locNo, List<LocDetlDto> locDetlDtos) {
+    public OutLocDto(String locNo, LocDetlDto locDetlDto) {
         this.locNo = locNo;
-        this.locDetlDtos = locDetlDtos;
+        this.locDetlDtos.add(locDetlDto);
     }
 
     public boolean isAll(){
+        List<LocDetlDto> locDetlDtosCp = new ArrayList<>(this.locDetlDtos);
         // 鏌ヨ褰撳墠搴撲綅鍙锋墍鏈夌殑搴撳瓨鏄庣粏
         LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
         List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo));
@@ -38,19 +38,28 @@
         }
         int sameNumber = 0;
         for (LocDetl locDetl : locDetls) {
-            Iterator<LocDetlDto> iterator = this.locDetlDtos.iterator();
+            Iterator<LocDetlDto> iterator = locDetlDtosCp.iterator();
             while (iterator.hasNext()) {
-                LocDetl next = iterator.next().getLocDetl();
-                if (!next.getMatnr().equals(locDetl.getMatnr())) {
+                LocDetlDto next = iterator.next();
+                if (!next.getLocDetl().getMatnr().equals(locDetl.getMatnr())) {
                     continue;
                 }
-                if (!Cools.eq(next.getBatch(), locDetl.getBatch())) {
+                if (!Cools.eq(next.getLocDetl().getBatch(), locDetl.getBatch())) {
                     continue;
                 }
-                if (next.getAnfme() > locDetl.getAnfme()) {
+                if(!Cools.eq(next.getLocDetl().getSuppCode(),locDetl.getSuppCode())){
+                    continue;
+                }
+                if(!Cools.eq(next.getLocDetl().getThreeCode(),locDetl.getThreeCode())){
+                    continue;
+                }
+                if(!Cools.eq(next.getLocDetl().getDeadTime(),locDetl.getDeadTime())){
+                    continue;
+                }
+                if (next.getCount() > locDetl.getAnfme()) {
                     throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
                 }
-                if (next.getAnfme().equals(locDetl.getAnfme())) {
+                if (next.getCount().equals(locDetl.getAnfme())) {
                     sameNumber++;
                     iterator.remove();
                     break;
@@ -60,4 +69,69 @@
         return sameNumber == locDetls.size();
     }
 
+    public void sortLocDetlDtos() {
+        ArrayList<LocDetlDto> list = new ArrayList<>();
+        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 (LocDetlDto locDetlDto : locDetlDtos) {
+                LocDetl detl = locDetlDto.getLocDetl();
+                if (!Cools.isEmpty(locDetl.getMatnr())) {
+                    if (!locDetl.getMatnr().equals(detl.getMatnr())) {
+                        continue;
+                    }
+                }
+                if (!Cools.isEmpty(locDetl.getBatch())) {
+                    if (!locDetl.getBatch().equals(detl.getBatch())) {
+                        continue;
+                    }
+                }
+                if (!Cools.isEmpty(locDetl.getSuppCode())) {
+                    if (!locDetl.getSuppCode().equals(detl.getSuppCode())) {
+                        continue;
+                    }
+                }
+                flag = false;
+                break;
+            }
+
+            if (flag) {
+                LocDetlDto dto = new LocDetlDto(locDetl, 0D);
+                list.add(dto);
+            }
+        }
+
+        locDetlDtos.addAll(list);
+//        ArrayList<String> matnr = new ArrayList<>();
+//        ArrayList<String> batch = new ArrayList<>();
+//        ArrayList<String> suppCode = new ArrayList<>();
+//        for (LocDetlDto locDetlDto : locDetlDtos) {
+//            LocDetl locDetl = locDetlDto.getLocDetl();
+//            if (!Cools.isEmpty(locDetl.getMatnr())) {
+//                matnr.add(locDetl.getMatnr());
+//            }
+//            if (!Cools.isEmpty(locDetl.getBatch())) {
+//                batch.add(locDetl.getBatch());
+//            }
+//            if (!Cools.isEmpty(locDetl.getSuppCode())) {
+//                suppCode.add(locDetl.getSuppCode());
+//            }
+//        }
+//
+//        EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+//        wrapper.eq("loc_no", locNo);
+//        wrapper.notIn("matnr", matnr);
+//        wrapper.notIn("batch", batch);
+//        wrapper.notIn("supp_code", suppCode);
+//        LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
+//        List<LocDetl> locDetls = locDetlService.selectList(wrapper);
+//        for (LocDetl locDetl : locDetls) {
+//            LocDetlDto dto = new LocDetlDto(locDetl, 0D);
+//            locDetlDtos.add(dto);
+//        }
+    }
+
 }

--
Gitblit v1.9.1