From 5f11cb1edd264cfae8bf47261a4449f576703227 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 12 七月 2024 19:28:53 +0800
Subject: [PATCH] 调用金蝶同步物料信息

---
 src/main/java/com/zy/asrs/task/handler/GhlnHandler.java |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 103 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/GhlnHandler.java b/src/main/java/com/zy/asrs/task/handler/GhlnHandler.java
index 40adf9f..673dc22 100644
--- a/src/main/java/com/zy/asrs/task/handler/GhlnHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/GhlnHandler.java
@@ -4,12 +4,12 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.Mat;
 import com.zy.asrs.entity.WrkDetl;
 import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.BasDevpService;
-import com.zy.asrs.service.WrkDetlService;
-import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.*;
+import com.zy.asrs.task.core.ReturnT;
+
 import com.zy.common.constant.MesConstant;
 import com.zy.common.constant.OpenApiAddressConstant;
 import com.zy.common.utils.HttpHandler;
@@ -18,9 +18,9 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
 
 /**
  * @author pang.jiabao
@@ -42,6 +42,12 @@
 
     @Autowired
     private ApiLogService apiLogService;
+
+    @Autowired
+    private LoginAuthHandler loginAuthHandler;
+
+    @Resource
+    private MatService matService;
 
     /**
      * 鍑哄簱鍒拌揪鍑哄簱鐩爣绔欐椂锛岃皟鐢ˋGV寮�鏀惧嚭搴撴帴鍙�
@@ -133,4 +139,94 @@
         }
     }
 
+    /**
+     * 璋冪敤閲戣澏鍚屾鐗╂枡鎺ュ彛锛屽閲忓悓姝ユ瘡灏忔椂浜х敓鐨勬柊鐗╂枡
+     */
+    public void syncMat() {
+
+        //鐧诲綍閲戣澏
+        ReturnT<String> start = loginAuthHandler.start();
+
+        //鏉′欢鍜岄渶瑕佽幏寰楃殑缁撴灉鎷兼帴
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("FormId", "BD_MATERIAL");
+        jsonObject.put("OrderString","");
+        jsonObject.put("TopRowCount",0);
+        jsonObject.put("Limit", 3000);
+        jsonObject.put("StartRow", "0");
+        jsonObject.put("SubSystemId", "");
+        // 鑾峰彇褰撳墠鏃堕棿
+        LocalDateTime currentDateTime = LocalDateTime.now();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        // 鑾峰彇褰撳墠鏃堕棿鐨勫墠涓�灏忔椂鏁寸偣鏃堕棿
+        LocalDateTime oneHourAgo = currentDateTime.minusHours(1).withMinute(0).withSecond(0).withNano(0);
+        jsonObject.put("FilterString", "FCreateDate >= '"+oneHourAgo.format(formatter)+"' and FUseOrgId .FNumber='10004'");
+        jsonObject.put("FieldKeys", "FNumber,FName,FCreateDate,FTypeID");
+
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("data", jsonObject);
+        String add = jsonObject1.toJSONString();
+
+        String response = "";
+        boolean success = false;
+        String url = "http://192.168.16.7";
+        String address = "K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc";
+        try {
+            //鑾峰彇Cookie鍊�
+            HashMap<String, Object> headers = new HashMap<>();
+            headers.put("Cookie", start.getContent());
+            response = new HttpHandler.Builder()
+                    .setHeaders(headers)
+                    .setUri(url)
+                    .setPath(address)
+                    .setJson(add)
+                    .build()
+                    .doPost();
+            String[] tempstr;
+            if (!"[]".equals(response)) {
+                String[] returnstr = response.split("],");
+                int count = 0;
+                log.info("--------璋冪敤閲戣澏鍚屾鐗╂枡淇℃伅寮�濮�--------");
+                for (int i = 0; i < returnstr.length; i++) {
+                    Mat mat = new Mat();
+                    tempstr = returnstr[i].split(",");
+                    if (i == 0) {
+                        mat.setMatnr(tempstr[0].substring(2));  //鐗╂枡缂栫爜
+                    } else {
+                        mat.setMatnr(tempstr[0].substring(1));  //鐗╂枡缂栫爜
+                    }
+                    mat.setMaktx(tempstr[1]); //  鐗╂枡鍚嶇О
+                    mat.setTagId(Long.valueOf(tempstr[3])); // 鐗╂枡鍒嗙被
+                    mat.setCreateTime(new Date());//鍟嗗搧鍒涘缓鏃堕棿
+                    mat.setUpdateTime(new Date());
+                    mat.setStatus(1);
+                    try {
+                        matService.insert(mat);
+                        count++;
+                    }catch (Exception e){
+                        log.error("閲戣澏鍚屾鐗╂枡寮傚父锛歿}", mat);
+                    }
+                }
+                log.info("----璋冪敤閲戣澏鍚屾鐗╂枡淇℃伅缁撴灉锛氭�粄},鎴恵}--------",returnstr.length, count);
+                success = true;
+            }
+        } catch (Exception e) {
+            log.error("fail", e);
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                apiLogService.save(
+                        "璇锋眰閲戣澏鍚屾鐗╂枡淇℃伅",
+                        url + address,
+                        null,
+                        "127.0.0.1",
+                        add,
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("", e);
+            }
+        }
+    }
 }

--
Gitblit v1.9.1