From 4df7d6e74b42acb1c5716ed87f26d236568b60df Mon Sep 17 00:00:00 2001
From: IZCD4L12RTSW0VZ\Administrator <skyouc>
Date: 星期四, 25 十二月 2025 13:01:41 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java |  193 ++++++++++++++++++++++++++---------------------
 1 files changed, 106 insertions(+), 87 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 05586a0..bf35826 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -69,17 +69,20 @@
     /**
      * 鎺ユ敹涓嬪彂璁㈠崟淇℃伅
      *
-     * @param params
+     * @param orderParams
      * @return com.core.common.R
      * @author Ryan
      * @date 2025/11/24 14:49
      */
     @Override
-    public XSR receiveOrders(PubOrderParams params) {
-        if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
-            return XSR.error("褰撳墠绫诲瀷涓嶆槸涓婃灦娲惧伐鍗曪紒锛�");
-        }
-        addOrUpdateOrders(params, "add");
+    public XSR receiveOrders(List<PubOrderParams> orderParams) {
+        orderParams.forEach(params -> {
+            if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
+                throw new CoolException("褰撳墠绫诲瀷涓嶆槸涓婃灦娲惧伐鍗曪紒锛�");
+            }
+            addOrUpdateOrders(params, "add");
+        });
+
         return XSR.ok("鍗曟嵁涓嬪彂鎴愬姛锛侊紒");
     }
 
@@ -91,7 +94,7 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public XSR getInDispatchResult(ReportOrderParam params) {
+    public XSR getInDispatchResult(List<ReportOrderParam> params) {
         if (Objects.isNull(params)) {
             return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
@@ -124,29 +127,31 @@
     /**
      * 澶囪揣鎸囩ず娲惧伐鍗曚笅鍙�
      *
-     * @param params
+     * @param pubOrderParams
      * @return com.core.common.R
      * @author Ryan
      * @date 2025/11/24 15:21
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public XSR sendOutDispatch(PubOrderParams params) {
-        if (Objects.isNull(params)) {
+    public XSR sendOutDispatch(List<PubOrderParams> pubOrderParams) {
+        if (Objects.isNull(pubOrderParams) || pubOrderParams.isEmpty()) {
             return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        // 鏍¢獙鍙傛暟
-        if (Objects.isNull(params.getDispatch_no())) {
-            return XSR.error("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
-        }
-        if (Objects.isNull(params.getKopen_id())) {
-            return XSR.error("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
-        }
-        if (Objects.isNull(params.getCompany_id())) {
-            return XSR.error("鍏徃ID涓嶈兘涓虹┖锛侊紒");
-        }
+        pubOrderParams.forEach(params -> {
+            // 鏍¢獙鍙傛暟
+            if (Objects.isNull(params.getDispatch_no())) {
+                throw new CoolException("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
+            }
+            if (Objects.isNull(params.getKopen_id())) {
+                throw new CoolException("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
+            }
+            if (Objects.isNull(params.getCompany_id())) {
+                throw new CoolException("鍏徃ID涓嶈兘涓虹┖锛侊紒");
+            }
 
-        addOrUpdateOrders(params, "add");
+            addOrUpdateOrders(params, "add");
+        });
 
         return XSR.ok("澶囪揣鎸囩ず娲惧伐鍗曚笅鍙戞垚鍔燂紒锛�");
     }
@@ -211,6 +216,9 @@
             if (Objects.isNull(mats)) {
                 throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒");
             }
+            if (Objects.isNull(mats.getPro_type())) {
+                throw new CoolException("闆朵欢绫诲瀷涓嶈兘涓虹┖锛侊紒");
+            }
             Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", mats.getPro_komcode()));
             if (!Objects.isNull(matnr)) {
                 // 璁㈠崟鏃堕棿
@@ -220,7 +228,7 @@
                 }
                 matnr.setMaktx(mats.getPro_name());
                 matnr.setSpecs(mats.getPro_size());
-                matnr.setWeight(Double.parseDouble(mats.getPro_wet()));
+                matnr.setWeight(Objects.isNull(mats.getPro_wet()) ? 0.0 : Double.parseDouble(mats.getPro_wet()));
                 matnr.setSuppCode(mats.getPro_id());
                 matnr.setTagId(MatLocType.getTag(mats.getPro_type()));
                 matnr.setLocType(MatLocType.getTag(mats.getPro_type()));
@@ -272,7 +280,7 @@
         OrderParams orderParams = JSONObject.parseObject(JSONObject.toJSONString(params), OrderParams.class);
         // Order order = orderService.selectOne(new
         // EntityWrapper<Order>().eq("order_no", orderParams.getDispatch_no()));
-        Order order = new Order();
+        Order order = null;
         if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
             // 鍏ュ簱
             order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",
@@ -288,10 +296,13 @@
                 // 澶囪揣鎸囩ず娲惧伐鍗曪紙EO/SO锛夊嚭搴�
                 order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",
                         orderParams.getDispatch_no()));
+            } else {
+                throw new CoolException("鍗曟嵁绫诲瀷涓嶅瓨鍦紝涓嶆敮鎸佹坊鍔狅紒锛�");
             }
+        } else {
+            throw new CoolException("鍗曟嵁绫诲瀷涓嶅瓨鍦紝涓嶆敮鎸佹坊鍔狅紒锛�");
         }
         // 鍑哄簱
-
         if (type.equals("add") && !Objects.isNull(order)) {
             throw new CoolException("鍗曟嵁宸插瓨鍦�, 涓嶅彲閲嶅娣诲姞锛侊紒");
         }
@@ -354,6 +365,7 @@
         newOrder.setUuid(generateUUID(params));
         // 娴佹按鍙凤紙鍞竴锛�
         newOrder.setDefNumber(params.getKopen_id());
+        newOrder.setTargetLocation(params.getTarget_location());
         // 绠卞彿
         newOrder.setItemName(params.getPm_tktid());
         newOrder.setSettle(OrderSettle.ORDER_SETTLE_HOLDING.type);
@@ -415,50 +427,50 @@
     /**
      * 澶囪揣鍗曚笅鍙�
      *
-     * @param params
+     * @param stockUpParams
      * @return com.core.common.R
      * @author Ryan
      * @date 2025/11/24 15:40
      */
     @Override
-    public XSR getOutDetails(StockUpOrderParams params) {
-        if (Objects.isNull(params)) {
+    public XSR getOutDetails(List<StockUpOrderParams> stockUpParams) {
+        if (Objects.isNull(stockUpParams)) {
             return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        // 鏍¢獙鍙傛暟
-        if (Objects.isNull(params.getDispatch_no())) {
-            return XSR.error("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
-        }
-        if (Objects.isNull(params.getKopen_id())) {
-            return XSR.error("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
-        }
-        if (Objects.isNull(params.getCompany_id())) {
-            return XSR.error("鍏徃ID涓嶈兘涓虹┖锛侊紒");
-        }
-        if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
-            return XSR.error("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");
-        }
-
-        List<OrderItemsParam> items = new ArrayList<>();
-        if (params.getDetails() != null) {
-            for (OutOrderParams detail : params.getDetails()) {
-                if (detail.getPartList() != null) {
-                    items.addAll(detail.getPartList());
+        stockUpParams.forEach(params -> {
+            if (Objects.isNull(params.getDispatch_no())) {
+                throw new CoolException("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
+            }
+            if (Objects.isNull(params.getKopen_id())) {
+                throw new CoolException("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
+            }
+            if (Objects.isNull(params.getCompany_id())) {
+                throw new CoolException("鍏徃ID涓嶈兘涓虹┖锛侊紒");
+            }
+            if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
+                throw new CoolException("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");
+            }
+            List<OrderItemsParam> items = new ArrayList<>();
+            if (params.getDetails() != null) {
+                for (OutOrderParams detail : params.getDetails()) {
+                    if (detail.getPartList() != null) {
+                        items.addAll(detail.getPartList());
+                    }
                 }
             }
-        }
 
-        params.getDetails().forEach(item -> {
-            PubOrderParams pubOrderParams = new PubOrderParams();
-            BeanUtils.copyProperties(params, pubOrderParams);
-            pubOrderParams.setType(item.getType())
-                    .setPick_no(item.getPick_no())
-                    .setCus_address(item.getCus_address())
-                    .setOrder_no(item.getOrder_no())
-                    .setUpdate_time(params.getUpdate_time())
-                    .setCus_id(item.getCus_id());
-            pubOrderParams.setDetails(item.getPartList());
-            addOrUpdateOrders(pubOrderParams, "add");
+            params.getDetails().forEach(item -> {
+                PubOrderParams pubOrderParams = new PubOrderParams();
+                BeanUtils.copyProperties(params, pubOrderParams);
+                pubOrderParams.setType(item.getType())
+                        .setPick_no(item.getPick_no())
+                        .setCus_address(item.getCus_address())
+                        .setOrder_no(item.getOrder_no())
+                        .setUpdate_time(params.getUpdate_time())
+                        .setCus_id(item.getCus_id());
+                pubOrderParams.setDetails(item.getPartList());
+                addOrUpdateOrders(pubOrderParams, "add");
+            });
         });
 
         return XSR.ok("澶囪揣鍗曚笅鍙戞垚鍔燂紒锛�");
@@ -472,10 +484,15 @@
      */
     @Override
     public XSR getStockInfo(PageRequestParams params) {
-        Page<LocDetl> locDetls = locDetlService.selectPage(new Page<>(params.getCurr(), params.getLimit()),
-                new EntityWrapper<LocDetl>()
-                        .eq(!Objects.isNull(params.getPro_komcode()), "matnr", params.getPro_komcode())
-                        .eq(Objects.isNull(params.getPro_id()), "supp_code", params.getPro_id()));
+        EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+        if (!Objects.isNull(params.getPro_id())) {
+            wrapper.eq("supp_code", params.getPro_id());
+        }
+        if (!Objects.isNull(params.getPro_komcode())) {
+            wrapper.eq("matnr", params.getPro_komcode());
+        }
+
+        Page<LocDetl> locDetls = locDetlService.selectPage(new Page<>(params.getCurr(), params.getLimit()),  wrapper);
 
         return XSR.ok(locDetls.getRecords());
     }
@@ -490,25 +507,13 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public XSR sendStockAdjust(StockAdjustParams params, Long userId) {
+    public XSR sendStockAdjust(List<StockAdjustParams> params, Long userId) {
         if (Objects.isNull(params)) {
             return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
-            return XSR.error("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");
-        }
-        // 鏍¢獙鍙傛暟
-        if (Objects.isNull(params.getBsby_no())) {
-            return XSR.error("鎹熸孩鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
-        }
-
-        CheckOrder checkOrder = checkOrderService
-                .selectOne(new EntityWrapper<CheckOrder>().eq("order_no", params.getBsby_no()));
-        if (!Objects.isNull(checkOrder)) {
-            return XSR.error("鎹熸孩鍗曞凡瀛樺湪锛侊紒");
-        }
-
-        gentCheckOrders(params, userId);
+        params.forEach(param -> {
+            gentCheckOrders(param, userId);
+        });
 
         return XSR.ok("闆朵欢鎹熸孩鍗曚笅鍙戞垚鍔燂紒锛�");
     }
@@ -516,18 +521,32 @@
     /** 鐢熸垚鏂扮殑闆朵欢鎹熸孩鍗� 
      * @param userId */
     @Transactional(rollbackFor = Exception.class)   
-    public void gentCheckOrders(StockAdjustParams checkOrder, Long userId) {
+    public void gentCheckOrders(StockAdjustParams params, Long userId) {
+        if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
+            throw new CoolException("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");
+        }
+        // 鏍¢獙鍙傛暟
+        if (Objects.isNull(params.getBsby_no())) {
+            throw new CoolException("鎹熸孩鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
+        }
+
+        CheckOrder checkOrder = checkOrderService
+                .selectOne(new EntityWrapper<CheckOrder>().eq("order_no", params.getBsby_no()));
+        if (!Objects.isNull(checkOrder)) {
+            throw new CoolException("鎹熸孩鍗曞凡瀛樺湪锛侊紒");
+        }
+
         CheckOrder order = new CheckOrder();
-        order.setOrderNo(checkOrder.getBsby_no());
-        order.setCstmrName(checkOrder.getCompany_id());
-        order.setDefNumber(checkOrder.getKopen_id());
+        order.setOrderNo(params.getBsby_no());
+        order.setCstmrName(params.getCompany_id());
+        order.setDefNumber(params.getKopen_id());
         order.setDocType(4L);
         order.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
         order.setSettle(Long.valueOf(CommonEnum.COMMON_ENUM_Y.type + ""));
         order.setStatus(CommonEnum.COMMON_ENUM_Y.type);
-        order.setOrderTime(checkOrder.getUpdate_time());
-        order.setMemo(checkOrder.getResason());
-        order.setShipName(checkOrder.getReason_name());
+        order.setOrderTime(params.getUpdate_time());
+        order.setMemo(params.getResason());
+        order.setShipName(params.getReason_name());
         order.setCreateTime(new Date());
         order.setUpdateTime(new Date());
 
@@ -535,11 +554,11 @@
             throw new CoolException("鎹熸孩鍗曟柊澧炲け璐ワ紒锛�");
         }
 
-        if (Objects.isNull(checkOrder.getDetails()) || checkOrder.getDetails().isEmpty()) {
+        if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
             throw new CoolException("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");
         }
 
-        checkOrder.getDetails().forEach(item -> {
+        params.getDetails().forEach(item -> {
             CheckOrderDetl checkOrderDetl = new CheckOrderDetl();
             //閫氳繃鎵樼洏锛� 鐗╂枡缂栫爜锛� 渚涘簲鍟嗙紪鐮佹煡璇㈠簱瀛樻槑缁�
             LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()

--
Gitblit v1.9.1