From d45fd7768ac59fb44e65ce574aaf9fda1489488b Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 23 六月 2025 14:03:48 +0800
Subject: [PATCH] #订单导入上限增加

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   60 +++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 39 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index eeffb60..eaa13af 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -183,11 +183,22 @@
         // 鑾峰彇搴撲綅鏄庣粏
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
+            LocDetl one = new LocDetl();
 //            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",paramLocDetl.getLocNo())
+                one = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",paramLocDetl.getLocNo())
                         .eq("brand",paramLocDetl.getBrand()).eq("model",paramLocDetl.getModel()));
 //                        selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
-                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
+            if(paramLocDetl.getMatnr().equals("绌虹")){
+                one= locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",paramLocDetl.getLocNo()));
+            }
+                if (null != one && !paramLocDetl.getMatnr().equals("绌虹")) {
+                    if(!"鍚堟牸".equals(one.getThreeCode())) {
+                        throw new CoolException(one.getModel() + "鍗蜂笉鍚堟牸:" + one.getThreeCode() );
+                    }
+                    locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
+                }else{
+                    locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
+                }
 //            }
         }
         if (!locDetlDtos.isEmpty()) {
@@ -380,7 +391,16 @@
             for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
                 if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
                 WrkDetl wrkDetl = new WrkDetl();
+                List<OrderDetl> orderDetl = orderDetlService.selectByBrand(detlDto.getLocDetl().getBrand());
                 wrkDetl.sync(detlDto.getLocDetl());
+                for (OrderDetl orderDetlDto : orderDetl) {
+                    if(orderDetlDto.getSupp() != null){
+                        wrkDetl.setSupp(orderDetlDto.getSupp());
+                    }
+                    if(orderDetlDto.getMemo() != null){
+                        wrkDetl.setMemo(orderDetlDto.getMemo());
+                    }
+                }
                 wrkDetl.setOrderNo(detlDto.getOrderNo()); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
                 wrkDetl.setWrkNo(workNo);
                 wrkDetl.setIoTime(now);
@@ -740,10 +760,9 @@
         // 鑾峰彇搴撲綅鏄庣粏
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
-            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
-                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(),param.getOrderNo()));
-            }
+            LocDetl one = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",paramLocDetl.getLocNo())
+                    .eq("brand",paramLocDetl.getBrand()).eq("model",paramLocDetl.getModel()));
+            if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
         }
         if (!locDetlDtos.isEmpty()) {
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
@@ -854,12 +873,6 @@
         if (Cools.isEmpty(loc)){
             throw new CoolException("鏈壘鍒板簱浣�");
         }
-        if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){
-            throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉");
-        }
-//        if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
-//            throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
-//        }
 
         Date now = new Date();
         // 鑾峰彇宸ヤ綔鍙�
@@ -938,17 +951,17 @@
         if (Cools.isEmpty(wrkMast)){
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
         }
-        if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+        if (wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15) {
             throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
         }
         // 鍏ュ簱 + 搴撲綅杞Щ
-        if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
+        if (wrkMast.getIoType() < 60) {
             wrkMast.setWrkSts(4L);
         // 鍑哄簱
-        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()!=202) {
+        } else if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 103 && wrkMast.getIoType() != 107 && wrkMast.getIoType() != 109) {
             wrkMast.setWrkSts(14L);
-        }else if (wrkMast.getIoType()==202){
-            wrkMast.setWrkSts(57L);
+        }else{
+            throw new CoolException("褰撳墠宸ヤ綔绫诲瀷鎴栫姸鎬佹棤娉曞畬鎴�");
         }
         Date now = new Date();
         wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
@@ -1095,7 +1108,7 @@
         String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
         String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
         // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
-        if (wrkMast.getWrkSts() < 4) {
+        if (wrkMast.getWrkSts() == 1) {
             locNo = wrkMast.getLocNo();
             locSts = "O";
 
@@ -1112,7 +1125,7 @@
                 locMastService.updateById(locMast);
             }
         // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
-        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14 && wrkMast.getIoType()!=202) {
+        } else if (wrkMast.getWrkSts() == 11) {
             locNo = wrkMast.getSourceLocNo();
             // 鍑哄簱 ===>> F.鍦ㄥ簱
             if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
@@ -1133,8 +1146,7 @@
                 locMast.setModiUser(userId);
                 locMastService.updateById(locMast);
             }
-        } else if (wrkMast.getIoType()==202 || wrkMast.getIoType()==212){
-        } else {
+        }else {
             throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
         }
 
@@ -1180,6 +1192,12 @@
             }
         }
 
+//        // 鍙栨秷绌洪棽鐞嗚揣浠诲姟鏃讹紝鍥炴粴鎴愭湭鐞嗚揣
+//        if (wrkMast.getIoType() == 109) {
+//            // 鏇存柊搴撳瓨鏄庣粏涓虹悊璐т腑
+//            locDetlMapper.updateLhStsByLocNo(wrkMast.getSourceLocNo(),0);
+//        }
+
         //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺
         if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) {
             List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());

--
Gitblit v1.9.1