From b839bdc85e784e545cb5d371ed3f638747fb6a06 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期一, 22 十二月 2025 09:05:22 +0800
Subject: [PATCH] 新增企业微信的接口

---
 src/test/java/com/gs/xky/XkyApplicationTests.java |  245 +++++++++++++++++++++++++++++-------------------
 1 files changed, 147 insertions(+), 98 deletions(-)

diff --git a/src/test/java/com/gs/xky/XkyApplicationTests.java b/src/test/java/com/gs/xky/XkyApplicationTests.java
index 40c332e..782b4ed 100644
--- a/src/test/java/com/gs/xky/XkyApplicationTests.java
+++ b/src/test/java/com/gs/xky/XkyApplicationTests.java
@@ -1,7 +1,14 @@
 package com.gs.xky;
 
-import com.gs.xky.service.VwCjScSjTsBbService;
-import com.gs.xky.service.WorkWXService;
+import com.alibaba.fastjson.JSONObject;
+import com.gs.xky.config.ApiResponse;
+import com.gs.xky.config.BodyParam;
+import com.gs.xky.config.DataAcquisitionConfiguration;
+import com.gs.xky.config.XkyCommonParam;
+import com.gs.xky.dto.BarcodeDeliveryNo;
+import com.gs.xky.dto.XkyDetail;
+import com.gs.xky.dto.XkyEntity;
+import com.gs.xky.service.*;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -13,126 +20,168 @@
 class XkyApplicationTests {
 
 
+    public static final String URL = "http://192.168.1.64/eHR/eHRExternalService/Service.ashx";
     @Autowired
-    private VwCjScSjTsBbService vwCjScSjTsBbService;
+    private XkyService xkyService;
 
     @Autowired
-    private WorkWXService workWXService;
+    private ApiService apiService;
 
-    /**
-     * 娴嬭瘯瀵煎嚭鐢熶骇鏁版嵁骞跺彂閫侀拤閽夋秷鎭�
-     * 鍔熻兘锛氭煡璇W_CJ_SC_SJ_TS_BB琛ㄦ暟鎹� -> 瀵煎嚭Excel -> 鍙戦�侀拤閽夋枃浠舵秷鎭�
-     */
+    @Autowired
+    private MesStaffService staffService;
+
+    @Autowired
+    private DeliveryNoticeService deliveryNoticeService;
+
+    @Autowired
+    private TblBarcodeInformationService barcodeInformationService;
+
+    @Autowired
+    private MesInvItemArnService invItemArnService;
+    @Autowired
+    private PurchaseService service;
+    @Autowired
+    private DingtalkInfoService dingtalkInfoService;
+
     @Test
-    void testExportAndSendProductionData() throws Exception {
-        System.out.println("=== 寮�濮嬫祴璇曞鍑虹敓浜ф暟鎹苟鍙戦�侀拤閽� ===");
+    void contextLoads() throws IOException {
 
-//        try {
-//            boolean result = vwCjScSjTsBbService.exportAndSendToDingtalk();
+//        List<MesInvItemArn> itemArnMinus = invItemArnService.getItemArnMinus();
 //
-//            if (result) {
-//                System.out.println("鉁� 鐢熶骇鏁版嵁瀵煎嚭骞跺彂閫佹垚鍔�");
-//                System.out.println("  - 鏁版嵁宸蹭粠 VW_CJ_SC_SJ_TS_BB 琛ㄦ煡璇�");
-//                System.out.println("  - Excel 鏂囦欢宸茬敓鎴愬苟淇濆瓨鍒� D:\\BIFile\\");
-//                System.out.println("  - 閽夐拤鏂囦欢娑堟伅宸插彂閫�");
-//            } else {
-//                System.out.println("鉁� 鐢熶骇鏁版嵁瀵煎嚭鎴栧彂閫佸け璐�");
-//            }
-//        } catch (Exception e) {
-//            System.out.println("鉁� 瀵煎嚭骞跺彂閫佹椂鍙戠敓寮傚父: " + e.getMessage());
-//            e.printStackTrace();
-//        }
+//        deliveryNoticeService.processMesInvItemArnStatusAsync(itemArnMinus);
 
-        System.out.println("=== 娴嬭瘯缁撴潫 ===");
     }
 
     @Test
-    void testGetCheckinDataByQwStaff() {
-        System.out.println("=== 寮�濮嬫祴璇曢�氳繃QW_STAFF琛ㄨ幏鍙栨墦鍗℃暟鎹� ===");
-
-        try {
-            long currentTime = System.currentTimeMillis() / 1000;
-            long oneDaySeconds = 86400;
-
-            long endTime = (currentTime / oneDaySeconds) * oneDaySeconds - 1;
-            long startTime = endTime - oneDaySeconds + 1;
-
-            System.out.println("  - 寮�濮嬫椂闂�: " + new java.util.Date(startTime * 1000));
-            System.out.println("  - 缁撴潫鏃堕棿: " + new java.util.Date(endTime * 1000));
-
-            List<WorkWXService.CheckinData> checkinDataList = workWXService.getCheckinDataByQwStaff(startTime, endTime);
-
-            if (checkinDataList != null && !checkinDataList.isEmpty()) {
-                System.out.println("鉁� 鎴愬姛鑾峰彇鎵撳崱鏁版嵁");
-                System.out.println("  - 鎵撳崱璁板綍鎬绘暟: " + checkinDataList.size());
-                System.out.println("  - 鍓�5鏉℃暟鎹�:");
-                checkinDataList.stream().limit(5).forEach(data -> {
-                    System.out.println("    * userid: " + data.getUserid() +
-                            ", 鎵撳崱鏃堕棿: " + new java.util.Date(data.getCheckinTime() * 1000) +
-                            ", 鎵撳崱绫诲瀷: " + data.getCheckinType() +
-                            ", 寮傚父绫诲瀷: " + data.getExceptionType() +
-                            ", 鍦扮偣: " + data.getLocationDetail());
-                });
-            } else {
-                System.out.println("鉁� 鑾峰彇鐨勬墦鍗℃暟鎹负绌猴紙鍙兘QW_STAFF琛ㄦ棤鏁版嵁鎴栨椂闂磋寖鍥村唴鏃犳墦鍗¤褰曪級");
-            }
-        } catch (IOException e) {
-            System.out.println("鉁� 鑾峰彇鎵撳崱鏁版嵁澶辫触: " + e.getMessage());
-            e.printStackTrace();
-        }
-
-        System.out.println("=== 娴嬭瘯缁撴潫 ===");
+    public void getDeviceRealTimeData() throws IOException {
+//        xkyService.GetSaveDetail();
     }
 
     @Test
-    void testGetWorkWXUserList() {
-        System.out.println("=== 寮�濮嬫祴璇曡幏鍙栦紒涓氬井淇$敤鎴峰垪琛� ===");
+    void cs() throws IOException {
 
-        try {
-            List<WorkWXService.WorkWXUser> userList = workWXService.getUserList();
+        String str = "22251123LM3X";
 
-            if (userList != null && !userList.isEmpty()) {
-                System.out.println("鉁� 鎴愬姛鑾峰彇浼佷笟寰俊鐢ㄦ埛鍒楄〃");
-                System.out.println("  - 鐢ㄦ埛鎬绘暟: " + userList.size());
-                System.out.println("  - 鍓�10鏉℃暟鎹�:");
-                userList.stream().limit(10).forEach(user -> {
-                    System.out.println("    * userid: " + user.getUserid() +
-                            ", 濮撳悕: " + user.getName() +
-                            ", 閮ㄩ棬: " + user.getDepartment());
-                });
-            } else {
-                System.out.println("鉁� 鑾峰彇鐨勭敤鎴峰垪琛ㄤ负绌�");
+
+        String[] split = str.split(";");
+
+        for (String s : split) {
+            XkyCommonParam param = XkyCommonParam.GetInit();
+
+            // 鍒涘缓 BodyParam 瀵硅薄骞惰祴鍊�
+            BodyParam bodyParam = new BodyParam();
+
+            bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE);
+            bodyParam.setDeliveryNo(s);
+
+            param.setBody(bodyParam);
+
+            ApiResponse<XkyDetail> detail = apiService.sendListRequest(param, XkyDetail.class, "https://openapi.xiekeyun.com/delivery/getDetail.json");
+
+            XkyDetail deliveryNo = detail.getData();
+            System.out.println((JSONObject) JSONObject.toJSON(deliveryNo));
+            if (deliveryNo == null) {
+                System.out.println("涓虹┖鐨勯�佽揣鍗曞彿" + s);
+                return;
             }
-        } catch (IOException e) {
-            System.out.println("鉁� 鑾峰彇鐢ㄦ埛鍒楄〃澶辫触: " + e.getMessage());
-            e.printStackTrace();
+            System.out.println("閫佽揣鍗曠姸鎬�" + deliveryNo.getStatus());
+            if ("6".equals(deliveryNo.getStatus()) || "8".equals(deliveryNo.getStatus()) || "0".equals(deliveryNo.getLogisticsStatus())) {
+                XkyEntity xkyEntity = new XkyEntity();
+                xkyEntity.setDeliveryNo(deliveryNo.getDeliveryNo());
+                xkyService.remove1(xkyEntity);
+            } else if ("1".equals(deliveryNo.getStatus()) && ("2".equals(deliveryNo.getLogisticsStatus()) || "1".equals(deliveryNo.getLogisticsStatus()))) {
+                XkyDetail detail1 = deliveryNo;
+                deliveryNoticeService.saveDeliveryNotice(detail1);
+                List<BarcodeDeliveryNo> barcodeDeliveryNos = GetBarcodeInformation(deliveryNo.getDeliveryNo());
+                barcodeInformationService.SaveBarcodeInformation(barcodeDeliveryNos, deliveryNo.getDeliveryNo());
+                if ("2".equals(deliveryNo.getLogisticsStatus())) {
+                    deliveryNoticeService.callPdaReceiptBtn("閫佽揣鍗曠鏀禰BTNOK[PL017[" + deliveryNo.getDeliveryNo(), "");
+                }
+            }
         }
+    }
 
-        System.out.println("=== 娴嬭瘯缁撴潫 ===");
+    private List<BarcodeDeliveryNo> GetBarcodeInformation(String deliveryNo) throws IOException {
+        XkyCommonParam param = XkyCommonParam.GetInit();
+
+        // 鍒涘缓 BodyParam 瀵硅薄骞惰祴鍊�
+        BodyParam bodyParam = new BodyParam();
+
+        bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE);
+        bodyParam.setDeliveryNo(deliveryNo);
+
+        param.setBody(bodyParam);
+
+
+        ApiResponse<BarcodeDeliveryNo> noList = apiService.sendListRequest(param, BarcodeDeliveryNo.class, "https://openapi.xiekeyun.com/barcode/byDeliveryNo.json");
+
+        return noList.getDataList();
     }
 
     @Test
-    void testGetUserDetail() {
-        System.out.println("=== 寮�濮嬫祴璇曡幏鍙栫敤鎴疯鎯� ===");
+    void cs1() throws IOException {
+//        DingTalkParam dingTalkParam = new DingTalkParam(0);
+//
+//        DingTalkResponse<EmployeeInfo> employeeInfoDingTalkResponse = apiService.sendListRequest(dingTalkParam, EmployeeInfo.class, "http://192.168.1.64/eHR/eHRExternalService/Service.ashx");
+//
+//        //閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃 cUnitName
+//        //http://192.168.1.64/eHR
+//        List<EmployeeInfo> collect = employeeInfoDingTalkResponse.getData().stream().filter(s -> "閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃".equals(s.getCUnitName())).collect(Collectors.toList());
+//        //System.out.println(collect.size());
+//
+//        collect.stream().filter(s->s.getEmployeeId().equals("2025130028")).forEach(System.out::println);
+//
+//        List<List<EmployeeInfo>> partition = ListUtil.partition(collect, 500);
 
-        try {
-            String userid = "ShenJuanYue";
-            WorkWXService.WorkWXUserDetail userDetail = workWXService.getUserDetail(userid);
+//        partition.forEach(list -> {
+//            staffService.SaveStaff(list);
+//        });
+//        XkyCommonParam param = XkyCommonParam.GetInit();
+//        String jsonString = JSON.toJSONString(param);
+//        System.out.println(jsonString);
+    }
 
-            if (userDetail != null && userDetail.getErrcode() == 0) {
-                System.out.println("鉁� 鎴愬姛鑾峰彇鐢ㄦ埛璇︽儏");
-                System.out.println("  - userid: " + userDetail.getUserid());
-                System.out.println("  - 濮撳悕: " + userDetail.getName());
-                System.out.println("  - 鎵嬫満鍙�: " + userDetail.getMobile());
-                System.out.println("  - 鑱屼綅: " + userDetail.getPosition());
-            } else {
-                System.out.println("鉁� 鑾峰彇鐢ㄦ埛璇︽儏澶辫触");
-            }
-        } catch (IOException e) {
-            System.out.println("鉁� 鑾峰彇鐢ㄦ埛璇︽儏澶辫触: " + e.getMessage());
-            e.printStackTrace();
-        }
+    @Test
+    void cs2() throws IOException {
+//        DingTalkParam dingTalkParam = new DingTalkParam(1);
+//
+//        DingTalkResponse<EmployeeInfo> employeeInfoDingTalkResponse = apiService.sendListRequest(dingTalkParam, EmployeeInfo.class, "http://192.168.1.64/eHR/eHRExternalService/Service.ashx");
+//
+//        //閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃 cUnitName
+//        //http://192.168.1.64/eHR
+//        List<EmployeeInfo> collect = employeeInfoDingTalkResponse.getData().stream().filter(s -> "閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃".equals(s.getCUnitName())).collect(Collectors.toList());
+//        System.out.println(collect.size());
+//
+//        List<List<EmployeeInfo>> partition = ListUtil.partition(collect, 100);
+//
+//        partition.forEach(list -> {
+//            staffService.UpdateStaff(list);
+//
+//
+//        });
 
-        System.out.println("=== 娴嬭瘯缁撴潫 ===");
+    }
+
+    @Test
+    void cs113() throws Exception {
+//        DingTalkParam dingTalkParam = new DingTalkParam(1);
+//        DingTalkResponse<EmployeeInfo> employeeInfoDingTalkResponse =
+//                apiService.sendListRequest(dingTalkParam, EmployeeInfo.class,
+//                        "http://192.168.1.64/eHR/eHRExternalService/Service.ashx");
+//
+//        List<EmployeeInfo> collect = employeeInfoDingTalkResponse.getData().stream()
+//                .filter(s -> "閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃".equals(s.getCUnitName()))
+//                .collect(Collectors.toList());
+
+    }
+
+    @Test
+    void cs3() throws Exception {
+//        dingtalkInfoService.sendMessage("CGJY20250412166");
+
+//        XkyEntity xkyEntity = new XkyEntity();
+//        xkyEntity.setDeliveryNo("222505057541");
+//        xkyService.remove1(xkyEntity);
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3