From d7c04ab09f582f7e3b1464314658f91e8d738456 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期一, 22 十二月 2025 09:47:25 +0800
Subject: [PATCH] 多订单组托

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   10 ++++++++--
 src/main/java/com/zy/common/model/DetlDto.java                |   41 ++++++++++++++++++++++++++++-------------
 src/main/java/com/zy/common/CodeBuilder.java                  |    2 +-
 3 files changed, 37 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index c3db773..6a927f4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -700,13 +700,13 @@
                 OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE, order.getId(), elem.getMatnr(), elem.getBatch(),
                         elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(),
                         elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme());
-                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(),
+                DetlDto detlDto = new DetlDto(order.getOrderNo(), elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(),
                         elem.getStandby2(), elem.getStandby3(),
                         elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme(),
                         elem.getThreeCode());
                 detlDto.setOrderId(order.getId());
                 detlDto.setOrderNo(order.getOrderNo());
-                if (DetlDto.has(detlDtos, detlDto)) {
+                if (DetlDto.hasOrder(detlDtos, detlDto)) {
                     DetlDto one = DetlDto.findDto(detlDtos, detlDto);
                     assert one != null;
                     one.setAnfme(one.getAnfme() + detlDto.getAnfme());
@@ -2195,8 +2195,14 @@
                     .eq("loc_sts", LocStsType.LOC_STS_TYPE_D.type)
                     .orderAsc(Arrays.asList("row1", "bay1", "lev1"))
                     .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
+
+            if (Objects.isNull(locMast)) {
+                throw new CoolException("鏈煡璇㈠埌鍙敤鐨勭┖鏉夸俊鎭紒锛�");
+            }
+
             CrnTaskDetlDTO crnTaskDetlDTO = new CrnTaskDetlDTO().setLocNo(locMast.getLocNo()).setLocDetlList(locDetls);
             locMasts.add(crnTaskDetlDTO);
+
             // 绌烘澘鍑哄簱
             generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
         }
diff --git a/src/main/java/com/zy/common/CodeBuilder.java b/src/main/java/com/zy/common/CodeBuilder.java
index e25557a..dfd72fa 100644
--- a/src/main/java/com/zy/common/CodeBuilder.java
+++ b/src/main/java/com/zy/common/CodeBuilder.java
@@ -20,7 +20,7 @@
         generator.url="192.168.4.15:1433;databasename=jsxsasrs";
         generator.username="sa";
         generator.password="sa@123";
-        generator.table="agv_bas_station_detl";
+        generator.table="man_order_pakin_rela";
         generator.packagePath="com.zy.asrs";
         generator.html = false;
         generator.js = false;
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 6369afb..3b0902f 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -99,19 +99,20 @@
 
     }
 
-//    public DetlDto(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3, Double anfme) {
-//        this.orderNo = orderNo;
-//        this.matnr = matnr;
-//        this.batch = batch;
-//        this.brand = brand;
-//        this.standby1 = standby1;
-//        this.standby2 = standby2;
-//        this.standby3 = standby3;
-//        this.boxType1 = boxType1;
-//        this.boxType2 = boxType2;
-//        this.boxType3 = boxType3;
-//        this.anfme = anfme;
-//    }
+    public DetlDto(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3, Double anfme, String threeCode) {
+        this.orderNo = orderNo;
+        this.matnr = matnr;
+        this.batch = batch;
+        this.brand = brand;
+        this.standby1 = standby1;
+        this.standby2 = standby2;
+        this.standby3 = standby3;
+        this.boxType1 = boxType1;
+        this.boxType2 = boxType2;
+        this.boxType3 = boxType3;
+        this.anfme = anfme;
+        this.threeCode = threeCode;
+    }
 
     public DetlDto(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, Long lineNumber, String boxType1, String boxType2, String boxType3, Double anfme, String threeCode) {
         this.orderNo = orderNo;
@@ -220,6 +221,20 @@
         return false;
     }
 
+    public static boolean hasOrder(List<DetlDto> detlDtos, DetlDto detlDto) {
+        for (DetlDto dto : detlDtos) {
+            if (dto.getOrderNo().equals(detlDto.getOrderNo()) && dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())
+                    && Cools.eq(dto.getBrand(), detlDto.getBrand()) && Cools.eq(dto.getStandby1(), detlDto.getStandby1())
+                    && Cools.eq(dto.getStandby2(), detlDto.getStandby2()) && Cools.eq(dto.getStandby3(), detlDto.getStandby3())
+                    && Cools.eq(dto.getBoxType1(), detlDto.getBoxType1()) && Cools.eq(dto.getBoxType2(), detlDto.getBoxType2())
+                    && Cools.eq(dto.getBoxType3(), detlDto.getBoxType3()) ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+
     public static boolean hasLineNumber(List<DetlDto> detlDtos, DetlDto detlDto) {
         for (DetlDto dto : detlDtos) {
             if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())

--
Gitblit v1.9.1