From e19b4d3b6a68314887f78786c36ad97339d5faaf Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期四, 01 十二月 2022 10:06:21 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/OrderDetlMapper.xml                    |    8 ++++
 src/main/java/com/zy/asrs/service/OrderDetlService.java          |    2 +
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java            |    2 +
 src/main/webapp/static/js/order/out.js                           |    4 +-
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |   13 ++++++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java      |   11 +++--
 src/main/webapp/static/js/order/order.js                         |    4 +-
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java    |    7 +++
 src/main/java/com/zy/asrs/controller/OutController.java          |   15 ++++---
 9 files changed, 50 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index d158b04..8d75f28 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -67,13 +67,13 @@
             List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
             for (LocDetl locDetl : locDetls) {
                 if (issued > 0) {
-//                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
-//                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
-//                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                     LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
-                            locDetl.getAnfme(), issued < locDetl.getAnfme()? issued : locDetl.getAnfme());
-                    //閫熻吘鍙湁鍏ㄦ澘锛屾墍浠ュ彧鑳�101鍏ㄦ澘鍑哄簱
-                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), 101);
+                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
+                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
+//                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
+//                            locDetl.getAnfme(), issued < locDetl.getAnfme()? issued : locDetl.getAnfme());
+//                    //閫熻吘鍙湁鍏ㄦ澘锛屾墍浠ュ彧鑳�101鍏ㄦ澘鍑哄簱
+//                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), 101);
                     locDto.setStaNos(staNos);
                     locDtos.add(locDto);
                     exist.add(locDetl.getLocNo());
@@ -84,7 +84,8 @@
                 }
             }
             if (issued > 0) {
-                LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), 0.0,issued);
+                LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
+//                LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), 0.0,issued);
                 locDto.setLack(Boolean.TRUE);
                 locDtos.add(locDto);
             }
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 48b4cc4..c1b2331 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -36,4 +36,6 @@
     int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty);
 
     Integer checkAllDetlFinish(@Param("orderNo") String orderNo);
+
+    Integer sameOrderComb(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index 53e6e05..613de86 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -39,4 +39,6 @@
     boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty);
 
     Boolean checkAllDetlFinish(String orderNo);
+
+    Integer sameOrderComb(String orderNo, String matnr, String batch);
 }
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 8f7de88..fff66e0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -102,6 +102,13 @@
                 combMat.setBatch("");
             }
         }
+        for (CombParam.CombMat combMat : param.getCombMats()) {
+            Integer sum = orderDetlService.sameOrderComb(param.getOrderNo(), combMat.getMatnr(),combMat.getBatch());
+            OrderDetl orderDetl = orderDetlService.selectItem(param.getOrderNo(), combMat.getMatnr(), combMat.getBatch());
+            if ( combMat.getAnfme() > (orderDetl.getAnfme() - sum)) {
+                throw new CoolException("缁勬墭鏁伴噺宸茶秴鍑鸿鍗曢渶姹傞噺锛岃妫�鏌ユ槸鍚︽湁鍏朵粬鐨勭粍鎵樺凡瀹屾垚");
+            }
+        }
 
 
         Date now = new Date();
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 725f062..6d40844 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -95,4 +95,17 @@
     public Boolean checkAllDetlFinish(String orderNo) {
         return this.baseMapper.checkAllDetlFinish(orderNo) <= 0 ;
     }
+
+    /**
+     * 鑾峰彇鐩稿悓鍗曞彿锛岀浉鍚屾壒鍙凤紝鐩稿悓鐗╂枡浠g爜宸茬粡鍦ㄥ叆搴撻�氱煡妗i噷缁勬墭鐨勬暟閲�
+     * @param orderNo
+     * @param matnr
+     * @param batch
+     * @return
+     */
+    @Override
+    public Integer sameOrderComb(String orderNo, String matnr, String batch) {
+        Integer sum = this.baseMapper.sameOrderComb(orderNo, matnr, batch);
+        return  sum != null ? sum : 0;
+    }
 }
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..cef20db 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -289,9 +289,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));
@@ -972,7 +971,9 @@
         // 鑾峰彇鐩爣绔�
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                 .eq("type_no", wrkMast.getIoType() - 50)
-                .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+                //閫熻吘鐗规湁鎹℃枡锛� 11绔欐槸鍑哄簱绔欙紝 鐒跺悗鎵嬪姩璧板埌15绔欒繘琛屽啀鍏ュ簱
+
+                .eq("stn_no", 15) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
                 .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
         StaDesc staDesc = staDescService.selectOne(wrapper);
         if (Cools.isEmpty(staDesc)) {
@@ -984,7 +985,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(""); // 婧愬簱浣嶆竻绌�
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 99ccde1..42dd341 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -127,6 +127,14 @@
     <select id="checkAllDetlFinish" resultType="java.lang.Integer">
         SELECT count(*) From man_order_detl WHERE qty &lt; anfme and order_no = #{orderNo}
     </select>
+    <select id="sameOrderComb" resultType="java.lang.Integer">
+        SELECT SUM(anfme) FROM cust_wait_pakin WHERE  1=1
+        <if test="orderNo!=null and orderNo!='' ">
+            and order_no like '%' + #{orderNo} + '%'
+        </if>
+        and matnr = #{matnr}
+        and batch = #{batch}
+    </select>
 
     <update id="increase">
         update man_order_detl
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 21d75e0..448ccfe 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -236,7 +236,7 @@
                         {field: 'batch', title: '鎵瑰彿', edit: true},
                         {field: 'specs', title: '瑙勬牸'},
                         {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
-                        {field: 'workQty', title: '浣滀笟鏁伴噺',  minWidth: 100, width: 100},
+                        {field: 'qty', title: '浣滀笟鏁伴噺',  minWidth: 100, width: 100},
                         // {field: 'unit', title: '鍗曚綅', width: 80},
                         {field: 'memo', title: '澶囨敞' , edit: true},
                         {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
@@ -307,7 +307,7 @@
                                 // insTbSSXM.reload({data: xxDataList});
                                 return false;
                             }
-                            if(obj.value < data.workQty){
+                            if(obj.value < data.qty){
                                 layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2});
                                 // data[obj.field] = 0;
                                 // insTbSSXM.reload({data: xxDataList});
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index 4d33bcb..683acc3 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -162,9 +162,9 @@
                                     {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
                                     {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
                                     {field: 'batch', title: '搴忓垪鐮�', align: 'center'},
-                                    { title: '鍓╀綑闇�姹傞噺', align: 'center' , width: 120, toolbar: '#checkNeedQty'},
+                                    // { title: '鍓╀綑闇�姹傞噺', align: 'center' , width: 120, toolbar: '#checkNeedQty'},
                                     // {field: 'anfme', title: '瀹為檯鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
-                                    { title: '绔嬪簱浣欓噺', align: 'center', width: 90, toolbar: '#checkAnfme'},
+                                    { title: '鍑哄簱鏁伴噺', align: 'center',field: 'anfme', width: 90, style: 'font-weight: bold; color: red'},
                                     {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
                                     {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
                                     {type: 'checkbox', merge: ['locNo']},

--
Gitblit v1.9.1