From 44bc5cf48fa23a1bf5fcefedce1b4686033b245a Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期三, 24 十二月 2025 13:38:59 +0800
Subject: [PATCH] 添加损溢单上报接口

---
 src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java |   65 ++++++++++++++++++--------------
 1 files changed, 36 insertions(+), 29 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..38d8f8d 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -472,10 +472,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 +495,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 +509,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 +542,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