123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package com.malk.shangfeng.controller;
- /**
- * 错误抛出与拦截详见 CatchException
- */
- import com.malk.server.common.McR;
- import com.malk.service.dingtalk.DDClient;
- import com.malk.service.dingtalk.DDClient_Attendance;
- import com.malk.service.dingtalk.DDClient_Contacts;
- import com.malk.utils.UtilMap;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- @Slf4j
- @RestController
- @RequestMapping
- public class SFController {
- @Autowired
- private DDClient ddClient;
- @Autowired
- private DDClient_Attendance ddClient_attendance;
- @Autowired
- private DDClient_Contacts ddClient_contacts;
- @PostMapping("test")
- McR test() {
- List<String> columnNames = Arrays.asList("考勤结果", "下班1打卡结果", "下班1打卡时间", "旷工天数", "出勤天数", "休息天数", "工作时长", "考勤结果", "出差时长", "迟到次数", "早退次数", "下班缺卡次数", "上班缺卡次数", "外出时长", "休息日加班", "工作日加班", "节假日加班", "严重迟到次数", "应出勤天数");
- List<Map> columns = ddClient_attendance.getAttColumns(ddClient.getAccessToken());
- Map columnIds = new HashMap(); // 列id通过map提取, 月度汇总接口仅返回id, 存储映射关系
- List<String> leaveNames = columns.stream().filter(column -> {
- if (columnNames.contains(column.get("name"))) {
- columnIds.put(column.get("id"), column.get("name"));
- }
- return column.get("alias").equals("leave_");
- }
- ).map(column -> String.valueOf(column.get("name"))).collect(Collectors.toList());
- // ddClient_contacts.getDepartmentId_all(ddClient.getAccessToken(), true).forEach(deptId -> {
- //
- //
- // });
- String start = "2023-07-01 00:00:00";
- String end = "2023-07-22 23:59:59";
- String userId = "196230404821883307";
- Map userInfo = UtilMap.map("userId, userName", "196230404821883307", "吴迎梅");
- ddClient_attendance.getAttColumnVal(ddClient.getAccessToken(), userId, (List<String>) columnIds.keySet(), start, end).forEach(attendance -> {
- String columnId = ((Map) attendance.get("column_vo")).get("id").toString();
- userInfo.put(columnIds.get(columnId), "");
- });
- List<Map> leaveList = ddClient_attendance.getLeaveTimeByNames(ddClient.getAccessToken(), userId, leaveNames, start, end);
- // getLeaveTimeByNames
- // ddClient_attendance.getAttColumns(ddClient.getAccessToken());
- // getAttColumnVal
- return McR.success(columns);
- }
- }
|