From d0bbe9df6abe1a903ac0f8371da74aba91d35f7e Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 15 一月 2026 15:21:47 +0800
Subject: [PATCH] 添加备货指示派工单上报

---
 src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java |   85 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 80 insertions(+), 5 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 7e317c4..f10fdb8 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -1,5 +1,6 @@
 package com.zy.api.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
@@ -83,6 +84,7 @@
      */
     @Override
     public XSR receiveOrders(List<PubOrderParams> orderParams, String type) {
+        log.info("鎺ユ敹涓嬪彂璁㈠崟淇℃伅鍙傛暟:{}", JSONObject.toJSONString(orderParams));
         orderParams.forEach(params -> {
             if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
                 throw new CoolException("褰撳墠绫诲瀷涓嶆槸涓婃灦娲惧伐鍗曪紒锛�");
@@ -102,6 +104,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public XSR getInDispatchResult(List<ReportOrderParam> params, Order order) {
+        log.info("涓婃灦娲惧伐鍗曞弽棣堣姹傚弬鏁�:{}", JSONObject.toJSONString(params));
         if (Objects.isNull(params)) {
             return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
@@ -119,6 +122,7 @@
             }
             JSONObject jsonObject = JSONObject.parseObject(response);
             Integer code = jsonObject.getInteger("code");
+            log.info("涓婃灦娲惧伐鍗曡繑鍥炵粨鏋�:{}", JSONObject.toJSONString(response));
             if (!Objects.isNull(code) && code.equals(200)) {
                 if (!Objects.isNull(order)) {
                     order.setReportOnce(5);
@@ -181,6 +185,8 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public XSR sendOutDispatch(List<PubOrderParams> pubOrderParams, String type) {
+        log.info("澶囪揣鎸囩ず娲惧伐鍗曚笅鍙戝弬鏁�:{}", JSONObject.toJSONString(pubOrderParams));
+
         if (Objects.isNull(pubOrderParams) || pubOrderParams.isEmpty()) {
             return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
@@ -255,6 +261,8 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public synchronized XSR basMatupdate(List<SyncMatParmas> params) {
+        log.info("鍩虹闆朵欢鍙樻洿:{}", JSONArray.toJSONString(params));
+
         if (Objects.isNull(params) || params.isEmpty()) {
             return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
@@ -360,7 +368,7 @@
         // 鍒ゆ柇璁㈠崟鏄惁瀛樺湪
         if (Objects.isNull(order)) {
             /** 涓嶅瓨鍦紝鏂板璁㈠崟 */
-            generateOrders(params);
+            generateOrders(params, type);
         } else {
             if (order.getSettle() == 2) {
                 throw new CoolException("璁㈠崟宸插鐞嗭紝涓嶅彲鍐嶅彉鏇达紒锛�");
@@ -374,7 +382,7 @@
             if (!orderService.deleteById(order.getId())) {
                 throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
             }
-            generateOrders(params);
+            generateOrders(params, type);
         }
     }
 
@@ -386,9 +394,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();
         // 娲惧伐鍗曞彿
@@ -449,7 +458,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())) {
@@ -458,7 +471,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());
@@ -489,6 +506,8 @@
      */
     @Override
     public XSR getOutDetails(List<StockUpOrderParams> stockUpParams) {
+        log.info("澶囪揣鍗曚笅鍙戝弬鏁�:{}", JSONArray.toJSONString(stockUpParams));
+
         if (Objects.isNull(stockUpParams)) {
             return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
@@ -563,6 +582,8 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public XSR sendStockAdjust(List<StockAdjustParams> params, Long userId) {
+        log.info("闆朵欢鎹熸孩鍗曚笅鍙戝弬鏁�:{}", JSONArray.toJSONString(params));
+
         if (Objects.isNull(params)) {
             return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
@@ -685,6 +706,60 @@
     }
 
     /**
+     * 澶囪揣鎸囩ず娲惧伐鍗曞弽棣�
+     * @author Ryan
+     * @date 2026/1/15 15:20
+     * @param orderParams
+     * @param order
+     * @return com.zy.api.entity.dto.XSR
+     */
+    @Override
+    public XSR reportOutDetailsResult(List<ReportOrderParam> orderParams, Order order) {
+        if (Objects.isNull(orderParams)) {
+            return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        String response = null;
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(url + ":" + port)
+                    .setPath(prefix + "/getOutDetailsResult")
+                    .setJson(JSONObject.toJSONString(orderParams))
+                    .build()
+                    .doPost();
+            if (Objects.isNull(response) || response.trim().isEmpty()) {
+                return XSR.error("澶栫綉鎺ュ彛鏃犲搷搴旓紒锛�");
+            }
+            JSONObject jsonObject = JSONObject.parseObject(response);
+            Integer code = jsonObject.getInteger("code");
+            if (!Objects.isNull(code) && code.equals(200)) {
+                if (!Objects.isNull(order)) {
+                    order.setReportOnce(5);
+                    orderService.updateById(order);
+                }
+                return XSR.ok("鍏ュ簱鍗曚笂鎶ュ畬鎴愶紒锛�");
+            } else {
+                if (!Objects.isNull(order)) {
+                    int reportOnce = order.getReportOnce();
+                    reportOnce++;
+                    order.setReportOnce(reportOnce);
+                    orderService.updateById(order);
+                }
+                String msg = jsonObject.getString("message");
+                return XSR.error(Objects.isNull(msg) ? "涓婃姤澶辫触锛侊紒" : msg);
+            }
+        } catch (Exception e) {
+            if (!Objects.isNull(order)) {
+                int reportOnce = order.getReportOnce();
+                reportOnce++;
+                order.setReportOnce(reportOnce);
+                orderService.updateById(order);
+            }
+            log.error(e.getMessage(), e);
+            return XSR.error(e.getMessage());
+        }
+    }
+
+    /**
      * 鐢熸垚鏂扮殑闆朵欢鎹熸孩鍗�
      *
      * @param userId

--
Gitblit v1.9.1