From 43a308621919d5bda150c8ac0f1a60414001970c Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期日, 29 三月 2026 17:08:19 +0800
Subject: [PATCH] 先进先出效果优化

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 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 163d97b..1969498 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -92,11 +92,18 @@
             throw new CoolException(param.getBarcode() + "鏁版嵁宸茬粡鍦ㄥ簱");
         }
 
+        //鍒ゆ柇鎵樼洏鏄惁宸茬粡鍦ㄥ伐浣滄。
+        if (wrkMastService.selectCount(new EntityWrapper<WrkMast>()
+                .eq("barcode", param.getBarcode())) > 0) {
+            throw new CoolException(param.getBarcode() + "鏁版嵁宸茬粡鍦ㄤ换鍔℃。涓�");
+        }
+
         //鍒ゆ柇鏄惁瀛樺湪鏂欑鐮� => 瀛樺湪鏂欑鐮佸垯瑕佹眰鎻愪氦涓婃潵鐨勭墿鏂檒ist蹇呴』鍏ㄩ儴閮芥湁鏂欑鐮�
         boolean hasContainerCode = false;
         int containerCodeCount = 0;//鏂欑鐮佹暟閲�
         for (CombParam.CombMat combMat : param.getCombMats()) {
-            if (combMat.getContainerCode() != null) {
+            if(!Cools.isEmpty(combMat.getContainerCode())){
+            //if (combMat.getContainerCode() != null) {
                 hasContainerCode = true;
                 containerCodeCount++;
                 continue;
@@ -142,7 +149,7 @@
             // 鐢熸垚鍏ュ簱閫氱煡妗�
             List<DetlDto> detlDtos = new ArrayList<>();
             param.getCombMats().forEach(elem -> {
-                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode());
+                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode(),elem.getProddate(),elem.getDeadline());
                 if (DetlDto.has(detlDtos, detlDto)) {
                     DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
                     assert one != null;
@@ -169,7 +176,8 @@
                 waitPakin.setAppeTime(now);
                 waitPakin.setModiUser(userId);
                 waitPakin.setModiTime(now);
-
+                waitPakin.setProddate(detlDto.getProddate());
+                waitPakin.setDeadline(detlDto.getDeadline());
                 waitPakin.setThreeCode(detlDto.getCsocode());
                 waitPakin.setDeadTime(detlDto.getIsoseq());
                 waitPakin.setSuppCode(detlDto.getContainerCode());
@@ -197,7 +205,7 @@
                     throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
                 }
 
-                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCsocode(),elem.getIsoseq(),elem.getContainerCode());
+                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCsocode(),elem.getIsoseq(),elem.getContainerCode(),elem.getProddate(),elem.getDeadline());
                 if (DetlDto.has(detlDtos, detlDto)) {
                     DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
                     assert one != null;
@@ -223,7 +231,8 @@
                 waitPakin.setAppeTime(now);
                 waitPakin.setModiUser(userId);
                 waitPakin.setModiTime(now);
-
+                waitPakin.setProddate(detlDto.getProddate());
+                waitPakin.setDeadline(detlDto.getDeadline());
                 waitPakin.setThreeCode(detlDto.getCsocode());
                 waitPakin.setDeadTime(detlDto.getIsoseq());
                 waitPakin.setSuppCode(detlDto.getContainerCode());
@@ -650,8 +659,10 @@
         manLocDetl.setContainerCode(combMat.getContainerCode());
         manLocDetl.setCsocode(combMat.getCsocode());
         manLocDetl.setIsoseq(combMat.getIsoseq());
-        manLocDetl.setCreateTime(new Date());
-        manLocDetl.setModiTime(new Date());
+        Date now = new Date();
+        manLocDetl.setCreateTime(now);
+        manLocDetl.setModiTime(now);
+        manLocDetl.setAppeTime(now);
         manLocDetl.setLocNo(locNo);
         manLocDetl.setStatus(1);
         return manLocDetlService.insert(manLocDetl);
@@ -670,6 +681,9 @@
         manLocDetl.setIsoseq(waitPakin.getDeadTime());
         manLocDetl.setCreateTime(now);
         manLocDetl.setModiTime(now);
+        if (manLocDetl.getAppeTime() == null) {
+            manLocDetl.setAppeTime(now);
+        }
         manLocDetl.setLocNo(locNo);
         manLocDetl.setStatus(1);
         manLocDetlService.insert(manLocDetl);

--
Gitblit v1.9.1