|
@@ -1084,7 +1084,7 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
|
|
|
//获取当天的员工考勤数据,包括打卡,请假/出差申请单; 仅企业内部应用有权限
|
|
|
@Override
|
|
|
- public void syncUserWorkData(CompanyDingding dingding, String startDate, String endDate, boolean showLog) {
|
|
|
+ public void syncUserWorkData(CompanyDingding dingding, String userId, String startDate, String endDate, boolean showLog) {
|
|
|
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
LocalDate sDate = LocalDate.parse(startDate, dateTimeFormatter);
|
|
|
LocalDate eDate = LocalDate.parse(endDate, dateTimeFormatter);
|
|
@@ -1094,7 +1094,7 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
LocalDate workDate = sDate.plusDays(i);
|
|
|
String wDate = dateTimeFormatter.format(workDate);
|
|
|
System.out.println("同步钉钉考勤假期出差第:"+i+"天, " + wDate);
|
|
|
- sycUserOneDayWorkData(dingding, wDate, showLog);
|
|
|
+ sycUserOneDayWorkData(dingding, userId, wDate, showLog);
|
|
|
//到达结束日期,结束了
|
|
|
if (workDate.isEqual(eDate)) {
|
|
|
break;
|
|
@@ -1103,8 +1103,16 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void sycUserOneDayWorkData(CompanyDingding dingding, String workDate, boolean showLog) {
|
|
|
- List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", dingding.getCompanyId()));
|
|
|
+ private void sycUserOneDayWorkData(CompanyDingding dingding, String userId, String workDate, boolean showLog) {
|
|
|
+ List<User> userList = null;
|
|
|
+ if (StringUtils.isEmpty(userId)) {
|
|
|
+ userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", dingding.getCompanyId()));
|
|
|
+ } else {
|
|
|
+ //指定某个员工进行同步
|
|
|
+ userList = new ArrayList<>();
|
|
|
+ userList.add(userMapper.selectById(userId));
|
|
|
+ }
|
|
|
+
|
|
|
String accessToken = null;
|
|
|
try {
|
|
|
accessToken = getInnerCorpToken(dingding);
|