|
@@ -7,7 +7,9 @@ import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
import org.fouram.core.util.DateUtil;
|
|
import org.fouram.core.util.DateUtil;
|
|
|
|
+import org.fouram.entity.SapApprovalInfo;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
|
|
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
@@ -17,6 +19,7 @@ import me.chanjar.weixin.cp.bean.oa.WxCpApprovalInfoQueryFilter;
|
|
import me.chanjar.weixin.cp.bean.oa.WxCpApprovalInfoQueryFilter.KEY;
|
|
import me.chanjar.weixin.cp.bean.oa.WxCpApprovalInfoQueryFilter.KEY;
|
|
import me.chanjar.weixin.cp.bean.oa.WxCpCheckinData;
|
|
import me.chanjar.weixin.cp.bean.oa.WxCpCheckinData;
|
|
import me.chanjar.weixin.cp.bean.oa.WxCpCheckinOption;
|
|
import me.chanjar.weixin.cp.bean.oa.WxCpCheckinOption;
|
|
|
|
+import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 企业微信用户工具类
|
|
* 企业微信用户工具类
|
|
@@ -47,32 +50,46 @@ public class WXCpOaUtil {
|
|
return Lists.newArrayList();
|
|
return Lists.newArrayList();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
public static List<WxCpApprovalInfo> getAllApprovalInfo(Date startTime, Date endTime) throws WxErrorException {
|
|
public static List<WxCpApprovalInfo> getAllApprovalInfo(Date startTime, Date endTime) throws WxErrorException {
|
|
List<WxCpApprovalInfo> result = Lists.newArrayList();
|
|
List<WxCpApprovalInfo> result = Lists.newArrayList();
|
|
Integer cursor = 0;
|
|
Integer cursor = 0;
|
|
- while(true) {
|
|
|
|
|
|
+ while (true) {
|
|
WxCpApprovalInfo approvalInfo = getApprovalInfo(startTime, endTime, cursor);
|
|
WxCpApprovalInfo approvalInfo = getApprovalInfo(startTime, endTime, cursor);
|
|
result.add(approvalInfo);
|
|
result.add(approvalInfo);
|
|
- if(approvalInfo.getNextCursor() != null) {
|
|
|
|
|
|
+ if (approvalInfo.getNextCursor() != null) {
|
|
cursor = approvalInfo.getNextCursor();
|
|
cursor = approvalInfo.getNextCursor();
|
|
- }else {
|
|
|
|
|
|
+ } else {
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- public static List<WxCpApprovalDetailResult> getApprovalDetailList(Date startTime, Date endTime) throws WxErrorException {
|
|
|
|
- List<WxCpApprovalDetailResult> result = Lists.newArrayList();
|
|
|
|
- for(WxCpApprovalInfo approvalInfo : getAllApprovalInfo(startTime, endTime)) {
|
|
|
|
- for(String spNo : approvalInfo.getSpNoList()) {
|
|
|
|
- result.add(oaApprovalService.getApprovalDetail(spNo));
|
|
|
|
|
|
+
|
|
|
|
+ public static List<SapApprovalInfo> getApprovalDetailList(Date startTime, Date endTime) throws WxErrorException {
|
|
|
|
+ List<SapApprovalInfo> result = Lists.newArrayList();
|
|
|
|
+ int i = 0;
|
|
|
|
+ for (WxCpApprovalInfo approvalInfo : getAllApprovalInfo(startTime, endTime)) {
|
|
|
|
+ for (String spNo : approvalInfo.getSpNoList()) {
|
|
|
|
+ i = i + 1;
|
|
|
|
+ String responseContent = oaApprovalService.getApprovalDetailToString(spNo);
|
|
|
|
+ if (responseContent.contains("\"time\"")) {
|
|
|
|
+ String str = responseContent.substring(responseContent.indexOf("\"time\""));
|
|
|
|
+ String time = JSONObject.parseObject("{" + str.substring(0, str.indexOf("}")) + "}").get("time")
|
|
|
|
+ .toString();
|
|
|
|
+ String userId = WxCpGsonBuilder.create().fromJson(responseContent, WxCpApprovalDetailResult.class)
|
|
|
|
+ .getInfo().getApplier().getUserId();
|
|
|
|
+ SapApprovalInfo info = SapApprovalInfo.builder().userId(userId).time(time)
|
|
|
|
+ .day(DateUtil.getDay(new Date(Long.valueOf(time) * 1000))).build();
|
|
|
|
+ result.add(info);
|
|
|
|
+ }
|
|
|
|
+ System.out.println(i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
- public static WxCpApprovalInfo getApprovalInfo(Date startTime, Date endTime, Integer cursor) throws WxErrorException {
|
|
|
|
|
|
+ public static WxCpApprovalInfo getApprovalInfo(Date startTime, Date endTime, Integer cursor)
|
|
|
|
+ throws WxErrorException {
|
|
List<WxCpApprovalInfoQueryFilter> filters = Lists.newArrayList();
|
|
List<WxCpApprovalInfoQueryFilter> filters = Lists.newArrayList();
|
|
WxCpApprovalInfoQueryFilter filter1 = new WxCpApprovalInfoQueryFilter();
|
|
WxCpApprovalInfoQueryFilter filter1 = new WxCpApprovalInfoQueryFilter();
|
|
filter1.setKey(KEY.TEMPLATE_ID);
|
|
filter1.setKey(KEY.TEMPLATE_ID);
|
|
@@ -86,9 +103,7 @@ public class WXCpOaUtil {
|
|
}
|
|
}
|
|
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
public static void main(String[] args) throws Exception {
|
|
- for(WxCpApprovalDetailResult approvalInfo : WXCpOaUtil.getApprovalDetailList(
|
|
|
|
- DateUtil.sdfTime.parse("2020-04-01 00:00:00"), DateUtil.sdfTime.parse("2020-04-30 23:59:59"))) {
|
|
|
|
- System.out.println(approvalInfo);
|
|
|
|
- }
|
|
|
|
|
|
+ System.out.println(getApprovalDetailList(DateUtil.sdfTime.parse("2020-04-01 00:00:00"),
|
|
|
|
+ DateUtil.sdfTime.parse("2020-04-01 23:59:59")));
|
|
}
|
|
}
|
|
}
|
|
}
|