From 2a2d6b0c071bf744a777991efb35f5503b68598a Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期五, 13 九月 2024 12:35:34 +0800
Subject: [PATCH] #

---
 zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 106 insertions(+), 4 deletions(-)

diff --git a/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java
index 2acaaac..a3d085a 100644
--- a/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java
+++ b/zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java
@@ -5,8 +5,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.common.openapi.entity.HostKey;
 import com.zy.asrs.common.openapi.entity.dto.OrderListDto;
-import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakInParam;
-import com.zy.asrs.common.openapi.entity.param.OrderListParam;
+import com.zy.asrs.common.openapi.entity.param.*;
 import com.zy.asrs.common.openapi.service.ApiService;
 import com.zy.asrs.common.openapi.service.HostKeyService;
 import com.zy.asrs.common.web.BaseController;
@@ -17,11 +16,14 @@
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
 import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.openapi.param.MatParam;
+import com.zy.asrs.openapi.param.OrderParam;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -34,6 +36,11 @@
     private HostKeyService hostKeyService;
     @Autowired
     private ApiService apiService;
+
+    @PostMapping("/test")
+    public R test() {
+        return R.ok();
+    }
 
     /**
      * 鐢熸垚鍏ュ簱璁㈠崟
@@ -52,11 +59,36 @@
         if (Cools.isEmpty(param.getOrderType())) {
             return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
         }
-        if (Cools.isEmpty(param.getOrderDetails())) {
-            return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
+        if (Cools.isEmpty(param.getMats())) {
+            return R.error("鐗╂枡[mats]涓嶈兘涓虹┖");
         }
         param.setHostId(hostKey.getHostId());
         apiService.generateOrderPakIn(param);
+        return R.ok();
+    }
+
+    /**
+     * 鐢熸垚鍑哄簱璁㈠崟
+     */
+    @PostMapping("generateOrderPakOut")
+    @AppAuth(memo = "鐢熸垚鍑哄簱璁㈠崟")
+    public synchronized R generateOrderPakOut(@RequestHeader(required = false) String appkey,
+                                            @RequestBody GenerateOrderPakOutParam param) {
+        HostKey hostKey = auth(appkey, param, true);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        if (Cools.isEmpty(param.getOrderNo())) {
+            return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderType())) {
+            return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getMats())) {
+            return R.error("鐗╂枡[mats]涓嶈兘涓虹┖");
+        }
+        param.setHostId(hostKey.getHostId());
+        apiService.generateOrderPakOut(param);
         return R.ok();
     }
 
@@ -91,6 +123,18 @@
         return R.ok().add(orderList);
     }
 
+    /**
+     * 鍒涘缓鐗╂枡淇℃伅
+     */
+    @PostMapping("/createMat")
+    public synchronized R createMat(@RequestHeader(required = true) String appkey,
+                                    @RequestBody(required = false) CreateMatParam param) {
+        HostKey hostKey = auth(appkey, param, true);
+        param.setHostId(hostKey.getHostId());
+        int result = apiService.createMat(param);
+        return R.ok().add(result);
+    }
+
     private HostKey auth(String appkey, Object obj, boolean signCheck) {
         request.setAttribute("cache", obj);
         if (Cools.isEmpty(appkey)) {
@@ -122,4 +166,62 @@
         return hostKey;
     }
 
+    @PostMapping("order/execute/auth/v1")
+    public R wms1(@RequestBody Map<String, Object> map) {
+        try {
+            System.out.println(map.toString());
+            log.info("order/execute/auth/v1锛�" + JSON.toJSONString(map));
+            OrderParam orderParam = JSON.parseObject(JSON.toJSONString(map), OrderParam.class);
+            List<DocType> list = apiService.getOrderType();
+            DocType type = null;
+            for (DocType docType : list) {
+                if (docType.getDocName().equals(orderParam.getOrderType())) {
+                    type = docType;
+                    break;
+                }
+            }
+            if (type == null) {
+                return R.error("鍗曟嵁绫诲瀷涓嶅瓨鍦�");
+            }
+
+            ArrayList<GenerateOrderMatParam> mats = new ArrayList<>();
+            for (MatParam matParam : orderParam.getList()) {
+                GenerateOrderMatParam mat = new GenerateOrderMatParam();
+                mat.setMatnr(matParam.getMatnr());
+                mat.setBatch(matParam.getBatch());
+                mat.setAnfme(matParam.getCount());
+                mat.setUnit(matParam.getUnit());
+                mat.setWarehouse(matParam.getWarehouse());
+                mat.setOrigin(matParam.getOrigin());
+                mat.setOriginNo(matParam.getOriginNo());
+                mats.add(mat);
+            }
+
+            if (orderParam.getInOut() == 1) {
+                //鍏ュ簱
+                GenerateOrderPakInParam param = new GenerateOrderPakInParam();
+                param.setHostId(1L);
+                param.setOrderType(type.getDocId().intValue());
+                param.setOrderNo(orderParam.getOrderNo());
+                param.setMats(mats);
+                apiService.generateOrderPakIn(param);
+            } else if (orderParam.getInOut() == 2) {
+                //鍑哄簱
+                GenerateOrderPakOutParam param = new GenerateOrderPakOutParam();
+                param.setHostId(1L);
+                param.setOrderType(type.getDocId().intValue());
+                param.setOrderNo(orderParam.getOrderNo());
+                param.setMats(mats);
+                apiService.generateOrderPakOut(param);
+            } else {
+                //鍏朵粬
+                return R.error("鍑哄叆搴撶被鍨嬮敊璇�");
+            }
+
+            return R.ok();
+        } catch (Exception e) {
+            return R.error(e.getMessage());
+        }
+    }
+
 }

--
Gitblit v1.9.1