From 38242a15bc0a93933857018e7caf7c6ec41ee652 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期一, 12 一月 2026 18:25:21 +0800
Subject: [PATCH] Merge branch 'jsxswms' of http://47.97.1.152:5880/r/zy-asrs into jsxswms

---
 src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java |   62 ++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
index 655ff2e..f37a826 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -128,7 +128,7 @@
             } else {
                 if (!Objects.isNull(order)) {
                     int reportOnce = order.getReportOnce();
-                    reportOnce ++;
+                    reportOnce++;
                     order.setReportOnce(reportOnce);
                     orderService.updateById(order);
                 }
@@ -138,7 +138,7 @@
         } catch (Exception e) {
             if (!Objects.isNull(order)) {
                 int reportOnce = order.getReportOnce();
-                reportOnce ++;
+                reportOnce++;
                 order.setReportOnce(reportOnce);
                 orderService.updateById(order);
             }
@@ -149,9 +149,10 @@
 
     /**
      * 鑾峰彇鑷畾涔夎姹傚ご
+     *
+     * @return java.util.Map<java.lang.String, java.lang.Object>
      * @author Ryan
      * @date 2025/12/29 9:11
-     * @return java.util.Map<java.lang.String,java.lang.Object>
      */
     private Map<String, Object> getHeaderParam() {
         Map<String, Object> headerParam = new HashMap<>();
@@ -264,7 +265,12 @@
             if (Objects.isNull(mats.getPro_type())) {
                 throw new CoolException("闆朵欢绫诲瀷涓嶈兘涓虹┖锛侊紒");
             }
-            Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", mats.getPro_komcode()));
+            if (Objects.isNull(mats.getPro_id())) {
+                throw new CoolException("渚涘簲鍟嗕笉鑳戒负绌猴紒锛�");
+            }
+            Mat matnr = matService.selectOne(new EntityWrapper<Mat>()
+                    .eq("supp_code", mats.getPro_id())
+                    .eq("matnr", mats.getPro_komcode()));
             if (!Objects.isNull(matnr)) {
                 // 璁㈠崟鏃堕棿
                 if (Utils.isValidFormat(mats.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
@@ -354,7 +360,7 @@
         // 鍒ゆ柇璁㈠崟鏄惁瀛樺湪
         if (Objects.isNull(order)) {
             /** 涓嶅瓨鍦紝鏂板璁㈠崟 */
-            generateOrders(params);
+            generateOrders(params, type);
         } else {
             if (order.getSettle() == 2) {
                 throw new CoolException("璁㈠崟宸插鐞嗭紝涓嶅彲鍐嶅彉鏇达紒锛�");
@@ -368,7 +374,7 @@
             if (!orderService.deleteById(order.getId())) {
                 throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
             }
-            generateOrders(params);
+            generateOrders(params, type);
         }
     }
 
@@ -380,9 +386,10 @@
      * 鐢熸垚璁㈠崟淇℃伅
      *
      * @param params
+     * @param type
      */
     @Transactional(rollbackFor = Exception.class)
-    public void generateOrders(PubOrderParams params) {
+    public void generateOrders(PubOrderParams params, String type) {
         // 灏嗘暟鎹綋鏂拌鍗曟彃鍏�
         Order newOrder = new Order();
         // 娲惧伐鍗曞彿
@@ -443,7 +450,11 @@
 
                 if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
                     // 鍏ュ簱
-                    orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
+                    if (type.equals("add")) {
+                        orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
+                    } else {
+                        orderItem.setAnfme(Math.round(item.getNew_qty() * 10000) / 10000.0);
+                    }
                 } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
                     // 鍑哄簱
                     if (OrderWkType.ORDER_WK_ORDER_OUT.val.equals(params.getType())) {
@@ -452,7 +463,11 @@
                     } else if (OrderWkType.ORDER_WK_ORDER_OUT_EO.val.equals(params.getType())
                             || OrderWkType.ORDER_WK_ORDER_OUT_SO.val.equals(params.getType())) {
                         // 澶囪揣鎸囩ず娲惧伐鍗曪紙EO/SO锛夊嚭搴�
-                        orderItem.setAnfme(Math.round(item.getOrder_qty() * 10000) / 10000.0);
+                        if (type.equals("add")) {
+                            orderItem.setAnfme(Math.round(item.getOrder_qty() * 10000) / 10000.0);
+                        } else {
+                            orderItem.setAnfme(Math.round(item.getNew_qty() * 10000) / 10000.0);
+                        }
                     }
                 }
                 orderItem.setMatnr(matnr.getMatnr());
@@ -541,18 +556,18 @@
             wrapper.eq("matnr", params.getPro_komcode());
         }
 
-        Page<LocDetl> locDetls = locDetlService.selectPage(new Page<>(params.getCurr(), params.getLimit()),  wrapper);
+        Page<LocDetl> locDetls = locDetlService.selectPage(new Page<>(params.getCurr(), params.getLimit()), wrapper);
 
         return XSR.ok(locDetls.getRecords());
     }
 
     /**
      * 闆朵欢鎹熸孩鍗曚笅鍙�
-     * 
-     * @author Ryan
-     * @date 2025/11/24 15:22
+     *
      * @param params
      * @return com.core.common.R
+     * @author Ryan
+     * @date 2025/11/24 15:22
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -569,11 +584,12 @@
 
     /**
      * 鎹熸孩鍗曞畬缁撲笂鎶�
-     * @author Ryan
-     * @date 2025/12/30 16:57
+     *
      * @param params
      * @param order
      * @return com.zy.api.entity.dto.XSR
+     * @author Ryan
+     * @date 2025/12/30 16:57
      */
     @Override
     public XSR reportCheckOrder(List<StockAdjustParams> params, CheckOrder order) {
@@ -603,7 +619,7 @@
             } else {
                 if (!Objects.isNull(order)) {
                     int reportOnce = order.getReportOnce();
-                    reportOnce ++;
+                    reportOnce++;
                     order.setReportOnce(reportOnce);
                     checkOrderService.updateById(order);
                 }
@@ -625,6 +641,7 @@
 
     /**
      * 澶囪揣鍗曞弽棣�
+     *
      * @param params
      * @param order
      * @return
@@ -657,7 +674,7 @@
             } else {
                 if (!Objects.isNull(order)) {
                     int reportOnce = order.getReportOnce();
-                    reportOnce ++;
+                    reportOnce++;
                     order.setReportOnce(reportOnce);
                     orderService.updateById(order);
                 }
@@ -667,7 +684,7 @@
         } catch (Exception e) {
             if (!Objects.isNull(order)) {
                 int reportOnce = order.getReportOnce();
-                reportOnce ++;
+                reportOnce++;
                 order.setReportOnce(reportOnce);
                 orderService.updateById(order);
             }
@@ -676,9 +693,12 @@
         }
     }
 
-    /** 鐢熸垚鏂扮殑闆朵欢鎹熸孩鍗� 
-     * @param userId */
-    @Transactional(rollbackFor = Exception.class)   
+    /**
+     * 鐢熸垚鏂扮殑闆朵欢鎹熸孩鍗�
+     *
+     * @param userId
+     */
+    @Transactional(rollbackFor = Exception.class)
     public void gentCheckOrders(StockAdjustParams params, Long userId) {
         if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
             throw new CoolException("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");

--
Gitblit v1.9.1