From ef106c9a6002872892de9db355ef7cd37512dba5 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期五, 12 一月 2024 10:10:17 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 38 insertions(+), 20 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 14bd5ef..9123f37 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -210,10 +210,6 @@
             LocMast locMast = locMastService.selectById(dto.getLocNo());
 
             Integer outSta = staNo.getDevNo();
-            //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
-            if(locMast.getCrnNo()==2){
-                outSta = ioType == 101 ? 204 : 202;
-            }
 
             // 鑾峰彇璺緞
             StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
@@ -289,9 +285,8 @@
         // 鑾峰彇搴撲綅
         LocMast locMast = locMastService.selectById(taskDto.getLocNo());
         // 鑾峰彇璺緞
-//        int ioType = taskDto.isAll() ? 101 : 103;
-        //浠呴�傜敤浜庨�熻吘椤圭洰锛屾病鏈夋崱鏂�
-        int ioType = 101;
+        int ioType = taskDto.isAll() ? 101 : 103;
+
         StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
@@ -895,19 +890,42 @@
                 }
             }
 
+        }else {
+            // 璁㈠崟鍏宠仈
+            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+            for (WrkDetl wrkDetl : wrkDetls) {
+                if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+                        throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+                    }
+                    // 鐢熸垚鏂扮殑鍑哄簱浣滀笟
+//                        stockOutRe(wrkMast, wrkDetls);
+                    //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
+                    boolean flag = true;
+                    List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
+                    for(OrderDetl orderDetl : orderDetls){
+                        if(orderDetl.getWorkQty() > 0){
+                            flag = false;
+                        }
+                    }
+                    if(flag){
+                        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
+                        if(!Cools.isEmpty(order) && order.getSettle()==2){
+                            order.setSettle(1L);
+                            order.setUpdateBy(userId);
+                            order.setUpdateTime(now);
+                        }
+                        if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
+                            throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+                        }
+                    }
+                }
+
+            }
+
         }
 
-//        // 璁㈠崟鍏宠仈
-//        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-//        for (WrkDetl wrkDetl : wrkDetls) {
-//            if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-//                if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
-//                    throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
-//                }
-//                // 鐢熸垚鏂扮殑鍑哄簱浣滀笟
-////                        stockOutRe(wrkMast, wrkDetls);
-//            }
-//        }
+
 
         // 鍙栨秷鎿嶄綔浜哄憳璁板綍
         wrkMast.setManuType("鎵嬪姩鍙栨秷");
@@ -971,7 +989,7 @@
         }
         // 鑾峰彇鐩爣绔�
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                .eq("type_no", wrkMast.getIoType() - 50)
+                .eq("type_no", wrkMast.getIoType())
                 .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
                 .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
         StaDesc staDesc = staDescService.selectOne(wrapper);
@@ -984,7 +1002,7 @@
         // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
         wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
-        wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
+        wrkMast.setSourceStaNo(staDesc.getStnNo()); // 婧愮珯
         wrkMast.setStaNo(staNo); // 鐩爣绔�
         wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
         wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�

--
Gitblit v1.9.1