From 07209190eae32504b5fff126e7c0d129de191272 Mon Sep 17 00:00:00 2001
From: 18516761980 <tqsxp@163.com>
Date: 星期日, 05 三月 2023 13:07:46 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OpenController.java    |   38 +++++++++++-
 src/main/webapp/static/js/apiLog/apiLog.js                  |    4 
 src/main/java/com/zy/asrs/entity/param/MatSyncParam.java    |   64 +++++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   61 ++++++++++++++++++--
 src/main/java/com/zy/asrs/service/OpenService.java          |   11 ++-
 5 files changed, 161 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 50f219f..af47237 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -4,10 +4,7 @@
 import com.core.annotations.AppAuth;
 import com.core.common.*;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.param.OpenOrderCompleteParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
-import com.zy.asrs.entity.param.OpenOrderPakoutParam;
-import com.zy.asrs.entity.param.PackParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.service.OpenService;
 import com.zy.common.model.DetlDto;
 import com.zy.common.web.BaseController;
@@ -146,6 +143,39 @@
         return R.ok().add(openService.queryStock());
     }
 
+    @PostMapping("/mat/v1")
+//    @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
+    public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
+                                      @RequestBody(required = false) MatSyncParam param,
+                                      HttpServletRequest request){
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        MatSyncParam matSyncParam = openService.syncMat(param);
+        if (Cools.isEmpty(matSyncParam.getMats()) || matSyncParam.getMats().size() <=0 ) {
+            return R.error("鏁版嵁寮傚父");
+        }
+        StringBuilder Msg= new StringBuilder("鍘熷洜锛�");
+        int MsgT=0,MsgF=0;
+        for (MatSyncParam.Mats matParam:matSyncParam.getMats()){
+            if (matParam.isType()){
+                MsgT++;
+            }else {
+                MsgF++;
+                Msg.append(matParam.getMatnr()).append(":").append(matParam.getMemo()).append(";");
+            }
+        }
+        if (MsgF==0){
+            return R.ok("鎴愬姛鎺ユ敹鐗╂枡锛�"+MsgT+"涓�");
+        }else if (MsgT==0){
+            return R.ok("鎺ユ敹鐗╂枡澶辫触锛�"+MsgF+"涓�;"+Msg);
+        }else {
+            return R.ok("鎴愬姛鎺ユ敹鐗╂枡锛�"+MsgT+"涓�;"+"鎺ユ敹鐗╂枡澶辫触锛�"+MsgF+"涓�;"+Msg);
+        }
+
+    }
+
 
     private void auth(String appkey, Object obj, HttpServletRequest request) {
         log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
new file mode 100644
index 0000000..48ab7a4
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
@@ -0,0 +1,64 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 鍟嗗搧鍚屾鎺ュ彛锛屽弬鏁�
+ * Created on 2022/6/22
+ */
+@Data
+public class MatSyncParam {
+
+    public List<Mats> mats;
+
+    @Data
+    public static class Mats{
+        /**
+         * 鎺ユ敹鎴愬姛锛歵rue
+         * 鎺ユ敹澶辫触锛歠alse
+         */
+        private boolean type=true;
+        /**
+         * 鍟嗗搧缂栧彿
+         */
+        private String matnr;
+
+        /**
+         * 鍟嗗搧鍚嶇О
+         */
+        private String maktx;
+
+        /**
+         * 瑙勬牸
+         */
+        private String specs;
+
+        /**
+         * 鍨嬪彿
+         */
+        private String model;
+
+        /**
+         * 棰滆壊
+         */
+        private  String color;
+
+        /**
+         * 鍗曚綅
+         */
+        private String unit;
+
+        /**
+         * 鍗曚綅閲�
+         */
+        private Double units;
+
+        /**
+         * 澶囨敞
+         */
+        private String memo;
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index c349203..a49a922 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -1,9 +1,6 @@
 package com.zy.asrs.service;
 
-import com.zy.asrs.entity.param.OpenOrderCompleteParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
-import com.zy.asrs.entity.param.OpenOrderPakoutParam;
-import com.zy.asrs.entity.param.PackParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.entity.result.OpenOrderCompeteResult;
 import com.zy.asrs.entity.result.StockVo;
 
@@ -41,4 +38,10 @@
     // 鎵撳寘涓婄嚎
     void packageUp(PackParam param);
 
+    /**
+     * 鍚屾鍟嗗搧淇℃伅
+     * @param param
+     */
+    MatSyncParam syncMat(MatSyncParam param);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index ff23ab5..a05d92b 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -6,25 +6,21 @@
 import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.OpenOrderCompleteParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
-import com.zy.asrs.entity.param.OpenOrderPakoutParam;
-import com.zy.asrs.entity.param.PackParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.entity.result.OpenOrderCompeteResult;
 import com.zy.asrs.entity.result.StockVo;
 import com.zy.asrs.mapper.TagMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.common.model.DetlDto;
+import com.zy.common.utils.ListUtils;
 import com.zy.common.utils.NodeUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * Created by vincent on 2022/4/9
@@ -51,6 +47,8 @@
     private TagService tagService;
     @Autowired
     private TagMapper tagMapper;
+    @Autowired
+    private ApiLogService apiLogService;
 
     @Override
     @Transactional
@@ -437,5 +435,54 @@
             }
         }
     }
+    @Override
+    @Transactional
+    public MatSyncParam syncMat(MatSyncParam param) {
+        if (Cools.isEmpty(param.getMats()) || param.getMats().size() <=0 ) {
+            throw new CoolException("鍟嗗搧鏁版嵁涓虹┖");
+        }
+        MatSyncParam matSyncParam = new MatSyncParam();
+        ArrayList<MatSyncParam.Mats> matParams = new ArrayList<>();
+        Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
+        for (MatSyncParam.Mats matParam : param.getMats()){
+            Date date = new Date();
+            Mat mat = matService.selectByMatnr(matParam.getMatnr());
+            if (Cools.isEmpty(mat)) {
+                Mat matNew = new Mat();
+                matNew.setTagId(tag.getId());
+                matNew.setMatnr(matParam.getMatnr());//鐗╂枡缂栫爜
+                matNew.setMaktx(matParam.getMaktx());//鐗╂枡鍚嶇О
+                matNew.setSpecs(matParam.getSpecs());//瑙勬牸
+                matNew.setModel(matParam.getModel());//鍨嬪彿
+                matNew.setColor(matParam.getColor());//棰滆壊
+                matNew.setUnit(matParam.getUnit());//鍗曚綅
+                matNew.setMemo(matParam.getMemo());//澶囨敞
+                matNew.setCreateBy(9999L);//9999琛ㄧずerp涓嬪彂
+                matNew.setCreateTime(date);
+                matNew.setUpdateBy(9999L);//9999琛ㄧずerp涓嬪彂
+                matNew.setUpdateTime(date);
+                if (matService.insert(matNew)) {
+                    callApiLogSave(matParam, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+                    matParam.setType(true);
+                } else {
+                    callApiLogSave(matParam, "/open/asrs/mat/v1", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
+                    matParam.setType(false);
+                    matParam.setMemo("娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛�");
+                }
+            } else {
+                callApiLogSave(matParam, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
+                matParam.setType(false);
+                matParam.setMemo("鍟嗗搧宸插瓨鍦紒");
+            }
+            matParams.add(matParam);
+        }
+        matSyncParam.setMats(matParams);
+        return matSyncParam;
+    }
+    public void callApiLogSave(MatSyncParam.Mats matParam, String tableName, String response, Boolean bool) {
+        apiLogService.save("ERP涓嬪彂鍟嗗搧淇℃伅", tableName, "null", "10.10.10.1",
+                "鐗╂枡缂栫爜锛�" + matParam.getMatnr() + "銆佺墿鏂欏悕绉帮細" + matParam.getMaktx() + "銆佽鏍硷細" + matParam.getSpecs() + "銆佸娉細" + matParam.getMemo(),
+                response, bool);
+    }
 
 }
diff --git a/src/main/webapp/static/js/apiLog/apiLog.js b/src/main/webapp/static/js/apiLog/apiLog.js
index 4067be8..8e72f1a 100644
--- a/src/main/webapp/static/js/apiLog/apiLog.js
+++ b/src/main/webapp/static/js/apiLog/apiLog.js
@@ -26,9 +26,9 @@
             // ,{field: 'uuid', align: 'center',title: '鏃ュ織缂栧彿'}
             ,{field: 'namespace', align: 'center',title: '鍚嶇О绌洪棿'}
             ,{field: 'url', align: 'center',title: '鎺ュ彛鍦板潃'}
-            ,{field: 'appkey', align: 'center',title: '骞冲彴瀵嗛挜'}
+            // ,{field: 'appkey', align: 'center',title: '骞冲彴瀵嗛挜'}
             // ,{field: 'timestamp', align: 'center',title: '鏃堕棿鎴�'}
-            ,{field: 'clientIp', align: 'center',title: '瀹㈡埛绔疘P'}
+            // ,{field: 'clientIp', align: 'center',title: '瀹㈡埛绔疘P'}
             ,{field: 'request', align: 'center',title: '璇锋眰鍐呭'}
             ,{field: 'response', align: 'center',title: '鍝嶅簲鍐呭'}
             // ,{field: 'err', align: 'center',title: '寮傚父鍐呭'}

--
Gitblit v1.9.1