From e400c6f84ad6e777ae32597d01eb2d0fd79f5e56 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期四, 21 十一月 2024 15:58:17 +0800
Subject: [PATCH] 完善

---
 zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java |  129 ++++++++++++++++++++++++++++---------------
 1 files changed, 84 insertions(+), 45 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 4f0fd6c..8da98f7 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
@@ -8,6 +8,9 @@
 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.sys.entity.OperateLog;
+import com.zy.asrs.common.sys.service.OperateLogService;
+import com.zy.asrs.common.utils.Utils;
 import com.zy.asrs.common.web.BaseController;
 import com.zy.asrs.common.wms.entity.DocType;
 import com.zy.asrs.common.wms.entity.OrderSettle;
@@ -15,6 +18,7 @@
 import com.zy.asrs.framework.common.BaseRes;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
+import com.zy.asrs.framework.common.SpringUtils;
 import com.zy.asrs.framework.exception.CoolException;
 import com.zy.asrs.openapi.param.MatParam;
 import com.zy.asrs.openapi.param.OrderParam;
@@ -24,6 +28,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -168,55 +173,89 @@
 
     @PostMapping("order/execute/auth/v1")
     public R wms1(@RequestBody Map<String, Object> map) {
-        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;
+        try {
+//            System.out.println(map.toString());
+            log.info("order/execute/auth/v1锛�" + JSON.toJSONString(map));
+            OrderParam orderParam = JSON.parseObject(JSON.toJSONString(map), OrderParam.class);
+
+            OperateLogService operateLogService = SpringUtils.getBean(OperateLogService.class);
+            //璁板綍涓婃姤鏁版嵁
+            OperateLog operateLog = new OperateLog();
+            operateLog.setAction("ERP鎺ㄩ�佽鍗�");
+            operateLog.setRequest(orderParam.toString());
+            operateLog.setResponse("");
+            operateLog.setCreateTime(new Date());
+            operateLog.setSystem("WMS");
+            operateLog.setUserId(9527L);
+            operateLog.setIp("127.0.0.1");
+            operateLogService.save(operateLog);
+
+            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("鍗曟嵁绫诲瀷涓嶅瓨鍦�");
-        }
+            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);
-        }
+            ArrayList<GenerateOrderMatParam> mats = new ArrayList<>();
+            String matnr=null;
+            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());
+                if(Cools.isEmpty(mats)){
+                    mats.add(mat);
+                }else{
+                    boolean boo=true;
+                    for (GenerateOrderMatParam m:mats
+                         ) {
+                        if(m.getMatnr().equals(matParam.getMatnr())){
+                            m.setAnfme(m.getAnfme()+mat.getAnfme());
+                            boo=false;
+                            break;
+                        }
+                    }
+                    if(boo){
+                        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("鍑哄叆搴撶被鍨嬮敊璇�");
-        }
+            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();
+            return R.ok();
+        } catch (Exception e) {
+            return R.error(e.getMessage());
+        }
     }
 
 }

--
Gitblit v1.9.1