From 5c5ac364457ece1af7238ab325074a32df93d9cd Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期二, 23 十二月 2025 14:43:58 +0800
Subject: [PATCH] 添加库存查询接口

---
 src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java |  155 ++++++++++++++++++++++++++++++---------------------
 1 files changed, 92 insertions(+), 63 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 ed6ff98..5004c49 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -2,8 +2,9 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.R;
+import com.baomidou.mybatisplus.plugins.Page;
 import com.core.exception.CoolException;
+import com.zy.api.controller.params.PageRequestParams;
 import com.zy.api.entity.OrderItemsParam;
 import com.zy.api.entity.OrderParams;
 import com.zy.api.entity.OutOrderParams;
@@ -11,16 +12,19 @@
 import com.zy.api.entity.ReportOrderParam;
 import com.zy.api.entity.StockUpOrderParams;
 import com.zy.api.entity.SyncMatParmas;
+import com.zy.api.entity.dto.XSR;
 import com.zy.api.enums.MatLocType;
 import com.zy.api.enums.OrderType;
 import com.zy.api.enums.OrderWkType;
 import com.zy.api.service.KopenApiService;
+import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.Mat;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.enums.CommonEnum;
 import com.zy.asrs.enums.OrderSettle;
 import com.zy.asrs.enums.OrderTypeEnum;
+import com.zy.asrs.service.LocDetlService;
 import com.zy.asrs.service.MatService;
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.service.OrderService;
@@ -46,6 +50,8 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private MatService matService;
+    @Autowired
+    private LocDetlService locDetlService;
 
     /**
      * 鎺ユ敹涓嬪彂璁㈠崟淇℃伅
@@ -56,12 +62,12 @@
      * @date 2025/11/24 14:49
      */
     @Override
-    public R receiveOrders(PubOrderParams params) {
+    public XSR receiveOrders(PubOrderParams params) {
         if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
-            return R.error("褰撳墠绫诲瀷涓嶆槸涓婃灦娲惧伐鍗曪紒锛�");
+            return XSR.error("褰撳墠绫诲瀷涓嶆槸涓婃灦娲惧伐鍗曪紒锛�");
         }
         addOrUpdateOrders(params, "add");
-        return R.ok("鍗曟嵁涓嬪彂鎴愬姛锛侊紒");
+        return XSR.ok("鍗曟嵁涓嬪彂鎴愬姛锛侊紒");
     }
 
     /**
@@ -72,9 +78,9 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R getInDispatchResult(ReportOrderParam params) {
+    public XSR getInDispatchResult(ReportOrderParam params) {
         if (Objects.isNull(params)) {
-            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+            return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
         String response = null;
         try {
@@ -85,18 +91,18 @@
                     .build()
                     .doPost();
             if (Objects.isNull(response) || response.trim().isEmpty()) {
-                return R.error("澶栫綉鎺ュ彛鏃犲搷搴旓紒锛�");
+                return XSR.error("澶栫綉鎺ュ彛鏃犲搷搴旓紒锛�");
             }
             JSONObject jsonObject = JSONObject.parseObject(response);
             Integer code = jsonObject.getInteger("code");
             if (!Objects.isNull(code) && code.equals(1)) {
-                return R.ok("鍏ュ簱鍗曚笂鎶ュ畬鎴愶紒锛�");
+                return XSR.ok("鍏ュ簱鍗曚笂鎶ュ畬鎴愶紒锛�");
             } else {
                 String msg = jsonObject.getString("message");
-                return R.error(Objects.isNull(msg) ? "涓婃姤澶辫触锛侊紒" : msg);
+                return XSR.error(Objects.isNull(msg) ? "涓婃姤澶辫触锛侊紒" : msg);
             }
         } catch (Exception e) {
-            return R.error(e.getMessage());
+            return XSR.error(e.getMessage());
         }
     }
 
@@ -112,24 +118,24 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R sendOutDispatch(PubOrderParams params) {
+    public XSR sendOutDispatch(PubOrderParams params) {
         if (Objects.isNull(params)) {
-            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+            return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
         // 鏍¢獙鍙傛暟
         if (Objects.isNull(params.getDispatch_no())) {
-            return R.error("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
+            return XSR.error("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
         }
         if (Objects.isNull(params.getKopen_id())) {
-            return R.error("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
+            return XSR.error("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
         }
         if (Objects.isNull(params.getCompany_id())) {
-            return R.error("鍏徃ID涓嶈兘涓虹┖锛侊紒");
+            return XSR.error("鍏徃ID涓嶈兘涓虹┖锛侊紒");
         }
 
         addOrUpdateOrders(params, "add");
 
-        return R.ok("澶囪揣鎸囩ず娲惧伐鍗曚笅鍙戞垚鍔燂紒锛�");
+        return XSR.ok("澶囪揣鎸囩ず娲惧伐鍗曚笅鍙戞垚鍔燂紒锛�");
     }
 
     // /**
@@ -184,47 +190,55 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public synchronized R basMatupdate(SyncMatParmas params) {
-        if (Objects.isNull(params.getPro_komcode())) {
-            return R.error("闆朵欢缂栫爜涓嶈兘涓虹┖锛侊紒");
+    public synchronized XSR basMatupdate(List<SyncMatParmas> params) {
+        if (Objects.isNull(params) || params.isEmpty()) {
+            return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", params.getPro_komcode()));
-        if (!Objects.isNull(matnr)) {
-            // 璁㈠崟鏃堕棿
-            if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
-                Date date1 = Utils.getFormateDate(params.getUpdate_time());
-                matnr.setUpdateTime(date1);
+        params.forEach(mats -> {
+            if (Objects.isNull(mats)) {
+                throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒");
             }
-            matnr.setMaktx(params.getPro_name());
-            matnr.setSpecs(params.getPro_size());
-            matnr.setWeight(Double.parseDouble(params.getPro_wet()));
-            matnr.setSuppCode(params.getPro_id());
-            matnr.setTagId(MatLocType.getTag(params.getPro_type()));
-            matnr.setManu(params.getCompany_id());
-            if (!matService.updateById(matnr)) {
-                throw new CoolException("鐗╂枡鏇存柊澶辫触鎴栨棤闇�鏇存柊锛侊紒");
+            Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", mats.getPro_komcode()));
+            if (!Objects.isNull(matnr)) {
+                // 璁㈠崟鏃堕棿
+                if (Utils.isValidFormat(mats.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
+                    Date date1 = Utils.getFormateDate(mats.getUpdate_time());
+                    matnr.setUpdateTime(date1);
+                }
+                matnr.setMaktx(mats.getPro_name());
+                matnr.setSpecs(mats.getPro_size());
+                matnr.setWeight(Double.parseDouble(mats.getPro_wet()));
+                matnr.setSuppCode(mats.getPro_id());
+                matnr.setTagId(MatLocType.getTag(mats.getPro_type()));
+                matnr.setLocType(MatLocType.getTag(mats.getPro_type()));
+                matnr.setManu(mats.getCompany_id());
+                if (!matService.updateById(matnr)) {
+                    throw new CoolException("鐗╂枡鏇存柊澶辫触鎴栨棤闇�鏇存柊锛侊紒");
+                }
+            } else {
+                if (Objects.isNull(matnr)) {
+                    matnr = new Mat();
+                }
+                // 璁㈠崟鏃堕棿
+                if (Utils.isValidFormat(mats.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
+                    Date date1 = Utils.getFormateDate(mats.getUpdate_time());
+                    matnr.setUpdateTime(date1);
+                }
+                matnr.setMaktx(mats.getPro_name());
+                matnr.setMatnr(mats.getPro_komcode());
+                matnr.setSpecs(mats.getPro_size());
+                matnr.setWeight(Double.parseDouble(mats.getPro_wet()));
+                matnr.setSuppCode(mats.getPro_id());
+                matnr.setTagId(MatLocType.getTag(mats.getPro_type()));
+                matnr.setLocType(MatLocType.getTag(mats.getPro_type()));
+                matnr.setManu(mats.getCompany_id());
+                if (!matService.insert(matnr)) {
+                    throw new CoolException("鐗╂枡鏇存柊澶辫触锛侊紒");
+                }
             }
-        } else {
-            if (Objects.isNull(matnr)) {
-                matnr = new Mat();
-            }
-            // 璁㈠崟鏃堕棿
-            if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
-                Date date1 = Utils.getFormateDate(params.getUpdate_time());
-                matnr.setUpdateTime(date1);
-            }
-            matnr.setMaktx(params.getPro_name());
-            matnr.setMatnr(params.getPro_komcode());
-            matnr.setSpecs(params.getPro_size());
-            matnr.setWeight(Double.parseDouble(params.getPro_wet()));
-            matnr.setSuppCode(params.getPro_id());
-            matnr.setTagId(MatLocType.getTag(params.getPro_type()));
-            matnr.setManu(params.getCompany_id());
-            if (!matService.insert(matnr)) {
-                throw new CoolException("鐗╂枡鏇存柊澶辫触锛侊紒");
-            }
-        }
-        return R.ok("淇濆瓨鎴愬姛锛侊紒");
+        });
+
+        return XSR.ok("淇濆瓨鎴愬姛锛侊紒");
     }
 
     /**
@@ -250,8 +264,7 @@
             // 鍏ュ簱
             order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",
                     orderParams.getDispatch_no()));
-        } else if
-        (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
+        } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
             // 鍑哄簱
             if (OrderWkType.ORDER_WK_ORDER_OUT.val.equals(params.getType())) {
                 // 澶囪揣鍗曞嚭搴�
@@ -313,6 +326,7 @@
                 // 澶囪揣鍗曞嚭搴�
                 newOrder.setOrderNo(params.getPick_no());
                 newOrder.setNumber(params.getDispatch_no());
+                newOrder.setShipCode(params.getOrder_no());
                 newOrder.setCstmrName(params.getCus_id());
                 newOrder.setTel(params.getCus_address());
                 newOrder.setDocType(Long.parseLong(OrderTypeEnum.STOCK.type + ""));
@@ -394,22 +408,22 @@
      * @date 2025/11/24 15:40
      */
     @Override
-    public R getOutDetails(StockUpOrderParams params) {
+    public XSR getOutDetails(StockUpOrderParams params) {
         if (Objects.isNull(params)) {
-            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+            return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
         // 鏍¢獙鍙傛暟
         if (Objects.isNull(params.getDispatch_no())) {
-            return R.error("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
+            return XSR.error("娲惧伐鍗曠紪鍙蜂笉鑳戒负绌猴紒锛�");
         }
         if (Objects.isNull(params.getKopen_id())) {
-            return R.error("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
+            return XSR.error("娴佹按鍙蜂笉鑳戒负绌猴紒锛�");
         }
         if (Objects.isNull(params.getCompany_id())) {
-            return R.error("鍏徃ID涓嶈兘涓虹┖锛侊紒");
+            return XSR.error("鍏徃ID涓嶈兘涓虹┖锛侊紒");
         }
         if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
-            return R.error("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");
+            return XSR.error("璁㈠崟鏄庣粏涓嶈兘涓虹┖锛侊紒");
         }
 
         List<OrderItemsParam> items = new ArrayList<>();
@@ -434,7 +448,22 @@
             addOrUpdateOrders(pubOrderParams, "add");
         });
 
-        return R.ok("澶囪揣鍗曚笅鍙戞垚鍔燂紒锛�");
+        return XSR.ok("澶囪揣鍗曚笅鍙戞垚鍔燂紒锛�");
+    }
+
+    /**
+     * 鏌ヨWMS搴撳瓨淇℃伅
+     *
+     * @param params
+     * @return com.core.common.R
+     */
+    @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()));
+
+        return XSR.ok(locDetls.getRecords());
     }
 
 }

--
Gitblit v1.9.1