|
@@ -1,6 +1,8 @@
|
|
|
package org.fouram.service;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
import org.fouram.core.base.service.BaseService;
|
|
|
import org.fouram.core.plugin.weixin.cp.util.WXCpOaUtil;
|
|
@@ -21,15 +23,40 @@ public class SapCheckService extends BaseService {
|
|
|
@Autowired
|
|
|
private SapUserService userService;
|
|
|
|
|
|
+ public Map<String, List<String>> groupList(List<SapUser> list) {
|
|
|
+ int listSize = list.size();
|
|
|
+ int toIndex = 100;
|
|
|
+ Map<String, List<String>> map = new HashMap<>(); // 用map存起来新的分组后数据
|
|
|
+ int keyToken = 0;
|
|
|
+ for (int i = 0; i < list.size(); i += 100) {
|
|
|
+ if (i + 100 > listSize) { // 作用为toIndex最后没有100条数据则剩余几条newList中就装几条
|
|
|
+ toIndex = listSize - i;
|
|
|
+ }
|
|
|
+ List<SapUser> newList = list.subList(i, i + toIndex);
|
|
|
+ List<String> userIds = Lists.newArrayList();
|
|
|
+ for (SapUser user : newList) {
|
|
|
+ userIds.add(user.getUserId());
|
|
|
+ }
|
|
|
+ map.put("keyName" + keyToken, userIds);
|
|
|
+ keyToken++;
|
|
|
+ }
|
|
|
+
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
public void saveAllUserCheckData() throws Exception {
|
|
|
List<SapUser> users = userService.selectSuccessList();
|
|
|
+ Map<String, List<String>> map = groupList(users);
|
|
|
int count = 0;
|
|
|
- for (SapUser user : users) {
|
|
|
+ for (String key : map.keySet()) {
|
|
|
count = count + 1;
|
|
|
List<WxCpCheckinData> checkinDatas = WXCpOaUtil.getCheckinData(
|
|
|
DateUtil.sdfTime.parse("2020-04-01 00:00:00"), DateUtil.sdfTime.parse("2020-04-30 23:59:59"),
|
|
|
- Lists.newArrayList(user.getUserId()));
|
|
|
+ map.get(key));
|
|
|
+ System.out.println(checkinDatas.size());
|
|
|
+ int subCount = 0;
|
|
|
for (WxCpCheckinData data : checkinDatas) {
|
|
|
+ subCount = subCount + 1;
|
|
|
if (data.getCheckinType().equals("上班打卡")) {
|
|
|
saveCheckin(data);
|
|
|
} else if (data.getCheckinType().equals("下班打卡")) {
|
|
@@ -39,6 +66,7 @@ public class SapCheckService extends BaseService {
|
|
|
} else {
|
|
|
System.out.println(data);
|
|
|
}
|
|
|
+ System.out.println(subCount);
|
|
|
}
|
|
|
System.out.println(count);
|
|
|
}
|