tjx
2025-11-26 f8169c6249a02f57cd88d7b05292c0a9f617e316
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package com.gs.xky;
 
import com.gs.xky.service.VwCjScSjTsBbService;
import com.gs.xky.service.WorkWXService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
 
import java.io.IOException;
import java.util.List;
 
@SpringBootTest
class XkyApplicationTests {
 
 
    @Autowired
    private VwCjScSjTsBbService vwCjScSjTsBbService;
 
    @Autowired
    private WorkWXService workWXService;
 
    /**
     * 测试导出生产数据并发送钉钉消息
     * 功能:查询VW_CJ_SC_SJ_TS_BB表数据 -> 导出Excel -> 发送钉钉文件消息
     */
    @Test
    void testExportAndSendProductionData() throws Exception {
        System.out.println("=== 开始测试导出生产数据并发送钉钉 ===");
 
//        try {
//            boolean result = vwCjScSjTsBbService.exportAndSendToDingtalk();
//
//            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();
//        }
 
        System.out.println("=== 测试结束 ===");
    }
 
    @Test
    void testGetCheckinDataByQwStaff() {
        System.out.println("=== 开始测试通过QW_STAFF表获取打卡数据 ===");
 
        try {
            long endTime = System.currentTimeMillis() / 1000;
            long startTime = endTime - 86400;
 
            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("=== 测试结束 ===");
    }
 
    @Test
    void testGetWorkWXUserList() {
        System.out.println("=== 开始测试获取企业微信用户列表 ===");
 
        try {
            List<WorkWXService.WorkWXUser> userList = workWXService.getUserList();
 
            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("✗ 获取的用户列表为空");
            }
        } catch (IOException e) {
            System.out.println("✗ 获取用户列表失败: " + e.getMessage());
            e.printStackTrace();
        }
 
        System.out.println("=== 测试结束 ===");
    }
 
    @Test
    void testGetUserDetail() {
        System.out.println("=== 开始测试获取用户详情 ===");
 
        try {
            String userid = "ShenJuanYue";
            WorkWXService.WorkWXUserDetail userDetail = workWXService.getUserDetail(userid);
 
            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();
        }
 
        System.out.println("=== 测试结束 ===");
    }
}