From c14c261181c9afb2e0d07c714e06c81a6417c8cd Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期四, 05 六月 2025 16:10:51 +0800
Subject: [PATCH] 对接mes物料信息

---
 src/main/java/com/zy/asrs/controller/MatController.java |  101 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 97 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 53e9135..51a04b9 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -10,20 +11,21 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.*;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.Mat;
-import com.zy.asrs.entity.MatPrint;
-import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.entity.result.KeyValueVo;
+import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.MatService;
 import com.zy.asrs.utils.MatExcelListener;
 import com.zy.common.CodeRes;
 import com.zy.common.config.AdminInterceptor;
 import com.zy.common.entity.MatExcel;
 import com.zy.common.utils.BarcodeUtils;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.utils.QrCode;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -42,6 +44,12 @@
     private MatService matService;
     @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
+    @Value("${mes.address.url}")
+    private String url;
+    @Value("${mes.address.cxaddress}")
+    private String cxaddress;
+    @Autowired
+    private ApiLogService apiLogService;
 
     @RequestMapping(value = "/mat/auto/matnr/auth")
     public R autoMatnr(){
@@ -80,7 +88,92 @@
     @RequestMapping(value = "/mat/auth")
     @ManagerAuth
     public R find(@RequestParam("matnr") String matnr) {
-        return R.ok(matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr)));
+        Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr));
+        if(Cools.isEmpty(mat)){
+            LinkedHashMap<String,Object> map = new LinkedHashMap<>();
+            LinkedHashMap<String,Object> YongHuCanShu=new LinkedHashMap<>();
+            YongHuCanShu.put("QianMingId","");
+            map.put("YongHuCanShu",YongHuCanShu);
+            LinkedHashMap<String,Object> QiTaCanShu=new LinkedHashMap<>();
+            QiTaCanShu.put("GnBm","bopp_TM302D12");
+            QiTaCanShu.put("pagesize",50);
+            QiTaCanShu.put("pageindex",1);
+            QiTaCanShu.put("Operation","1");
+
+            List<LinkedHashMap<String,Object>> XhJiHes=new ArrayList<>();
+            LinkedHashMap<String,Object> XhJiHe=new LinkedHashMap<>();
+            XhJiHe.put("Xh1","1");
+            XhJiHe.put("Xh2",2);
+            XhJiHes.add(XhJiHe);
+            QiTaCanShu.put("XhJiHe",XhJiHes);
+            QiTaCanShu.put("鏉′欢涓�"," and t1.tm_xj like ##"+"%"+matnr+"%"+"##");
+            map.put("QiTaCanShu",QiTaCanShu);
+
+
+            HashMap<String,Object>hashMap=new HashMap<String,Object>();
+            hashMap.put("Quanjucanshu","%7B%22XiTongCanShu%22%3A%7B%22xt_id%22%3A%2230077%22%2C%22xt_bm%22%3A%22undefined%22%2C%22xt_yhid%22%3A%22156%22%2C%22xt_yhms%22%3A%22%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98%22%2C%22xt_yhbm%22%3A%22admin%22%2C%22xt_qyms%22%3A%221%22%2C%22xt_qyjc%22%3A%221%22%2C%22xt_jsms%22%3A%22%E7%AE%A1%E7%90%86%E5%91%98%22%2C%22xt_yuyan%22%3A%22%22%7D%2C%22NeiBuCanShu%22%3A%7B%7D%7D");
+
+            String jsonString = JSON.toJSONString(map);
+            HashMap<String,Object>CanShuJi=new HashMap<String,Object>();
+            CanShuJi.put("CanShuJi",jsonString);
+            System.out.println(JSON.toJSONString(CanShuJi));
+            String response = "";
+            boolean success = false;
+            try {
+                response = new HttpHandler.Builder()
+                        .setHeaders(hashMap)
+                        .setUri(url)
+                        .setPath(cxaddress)
+                        .setParams(CanShuJi)
+                        .build()
+                        .doPost();
+                JSONObject jsonObject = JSON.parseObject(response);
+                if (jsonObject.getString("BianHao").equals("0000")) {
+                    Object jieGuo = jsonObject.get("JieGuo");
+                    JSONObject jsonString1 = JSON.parseObject(jieGuo.toString());
+                    JSONObject jsonString2 = JSON.parseObject(jsonString1.get("peizhidingyicanshu").toString());
+                    JSONArray sqlyujujg = JSON.parseArray(jsonString2.get("sqlyujujg").toString());
+                    JSONObject jsonString3 = JSON.parseObject(sqlyujujg.get(0).toString());
+                    //娣诲姞鐗╂枡妗f
+                    Mat mat1=new Mat();
+                    mat1.setMatnr(jsonString3.getString("鐢熶骇鎵瑰彿"));
+                    mat1.setMaktx(jsonString3.getString("浜у搧鍚嶇О"));
+                    mat1.setSpecs(jsonString3.getString("浜у搧瑙勬牸"));
+                    mat1.setUnit(jsonString3.getString("鍗曚綅"));
+                    mat1.setModel(jsonString3.getString("鍒跺崟浜�"));
+                    mat1.setColor(jsonString3.getString("鐘舵��"));
+                    mat1.setPrice(jsonString3.getDouble("鐢熶骇鏁伴噺"));
+                    mat1.setSku(jsonString3.getString("鐢熶骇鎵瑰彿"));
+                    mat1.setOrigin(jsonString3.getString("鑳堕噺"));
+                    mat1.setBarcode(jsonString3.getString("鏉$爜"));
+                    mat1.setManu(jsonString3.getString("璐ㄩ噺鐘舵��"));
+                    matService.insert(mat1);
+                    mat=mat1;
+                    success=true;
+
+                } else {
+                    throw new CoolException("wms璇锋眰mes鏌ヨ鐗╂枡淇℃伅澶辫触");
+                }
+            } catch (Exception e) {
+                return R.error(e.getMessage());
+            } finally {
+                try {
+                    // 淇濆瓨鎺ュ彛鏃ュ織
+                    apiLogService.save(
+                            "wms璇锋眰mes鏌ヨ鐗╂枡淇℃伅",
+                            url+"/"+cxaddress,
+                            null,
+                            "127.0.0.1",
+                            JSON.toJSONString(map),
+                            response,
+                            success
+                    );
+                } catch (Exception e) {
+                    R.error(e.toString());
+                }
+            }
+        }
+        return R.ok(mat);
     }
 
     @RequestMapping(value = "/mat/list/auth")

--
Gitblit v1.9.1