|
@@ -1,17 +1,16 @@
|
|
package com.management.platform.task;
|
|
package com.management.platform.task;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.injector.methods.SelectById;
|
|
import com.baomidou.mybatisplus.core.injector.methods.SelectById;
|
|
import com.management.platform.controller.WeiXinCorpController;
|
|
import com.management.platform.controller.WeiXinCorpController;
|
|
import com.management.platform.entity.*;
|
|
import com.management.platform.entity.*;
|
|
|
|
+import com.management.platform.entity.vo.TokenVo;
|
|
import com.management.platform.mapper.*;
|
|
import com.management.platform.mapper.*;
|
|
import com.management.platform.service.*;
|
|
import com.management.platform.service.*;
|
|
-import com.management.platform.util.DockWithMLD;
|
|
|
|
-import com.management.platform.util.HttpRespMsg;
|
|
|
|
-import com.management.platform.util.RedisUtil;
|
|
|
|
-import com.management.platform.util.WorkDayCalculateUtils;
|
|
|
|
|
|
+import com.management.platform.util.*;
|
|
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
|
|
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
|
@@ -31,11 +30,16 @@ import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.security.SecureRandom;
|
|
import java.security.SecureRandom;
|
|
|
|
+import java.sql.Timestamp;
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
import java.time.*;
|
|
import java.time.*;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.temporal.TemporalAccessor;
|
|
import java.time.temporal.TemporalAccessor;
|
|
|
|
+import java.time.temporal.TemporalAdjusters;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.concurrent.CountDownLatch;
|
|
|
|
+import java.util.concurrent.Executor;
|
|
|
|
+import java.util.concurrent.Executors;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.IntStream;
|
|
import java.util.stream.IntStream;
|
|
|
|
|
|
@@ -84,6 +88,8 @@ public class TimingTask {
|
|
private WxCorpInfoService wxCorpInfoService;
|
|
private WxCorpInfoService wxCorpInfoService;
|
|
@Resource
|
|
@Resource
|
|
private WxCorpInfoMapper wxCorpInfoMapper;
|
|
private WxCorpInfoMapper wxCorpInfoMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private ReportLogMapper reportLogMapper;
|
|
@Value(value = "${upload.path}")
|
|
@Value(value = "${upload.path}")
|
|
private String path;
|
|
private String path;
|
|
|
|
|
|
@@ -188,10 +194,22 @@ public class TimingTask {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //每个月五号推送日报信息
|
|
|
|
+ @Scheduled(cron = "0 0 2 2 * ?")
|
|
|
|
+ private void pushReportListByToken(){
|
|
|
|
+ if(isDev) return;
|
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
|
+ LocalDate now=LocalDate.now().minusMonths(1);
|
|
|
|
+ now.with(TemporalAdjusters.lastDayOfMonth());
|
|
|
|
+ LocalDate start=now.with(TemporalAdjusters.firstDayOfMonth());
|
|
|
|
+ LocalDate end=now.with(TemporalAdjusters.lastDayOfMonth());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
//每天2:11 同步钉钉用户前2天到未来30天时间段的打卡,请假,出差数据
|
|
//每天2:11 同步钉钉用户前2天到未来30天时间段的打卡,请假,出差数据
|
|
- @Scheduled(cron = "0 11 2 ? * *")
|
|
|
|
|
|
+ @Scheduled(cron = "0 10 15 ? * *")
|
|
private void synFanWeiWorkData() {
|
|
private void synFanWeiWorkData() {
|
|
- if (isDev) return;
|
|
|
|
|
|
+ /*if (isDev) return;*/
|
|
List<TimeType> timeTypeList = timeTypeMapper.selectList(new QueryWrapper<TimeType>().eq("sync_fanwei", 1));
|
|
List<TimeType> timeTypeList = timeTypeMapper.selectList(new QueryWrapper<TimeType>().eq("sync_fanwei", 1));
|
|
List<Integer> compIds = timeTypeList.stream().map(TimeType::getCompanyId).collect(Collectors.toList());
|
|
List<Integer> compIds = timeTypeList.stream().map(TimeType::getCompanyId).collect(Collectors.toList());
|
|
if(compIds.isEmpty()){
|
|
if(compIds.isEmpty()){
|
|
@@ -259,8 +277,8 @@ public class TimingTask {
|
|
leaveSheet.setStatus(0);
|
|
leaveSheet.setStatus(0);
|
|
leaveSheet.setOwnerId(user.getId());
|
|
leaveSheet.setOwnerId(user.getId());
|
|
leaveSheet.setOwnerName(user.getName());
|
|
leaveSheet.setOwnerName(user.getName());
|
|
- leaveSheet.setStartDate(LocalDate.parse(String.valueOf(map.get("startDate")),dtf));
|
|
|
|
- leaveSheet.setEndDate(LocalDate.parse(String.valueOf(map.get("endDate")),dtf));
|
|
|
|
|
|
+ leaveSheet.setStartDate(LocalDate.parse(String.valueOf(map.get("startDate")),dtf1));
|
|
|
|
+ leaveSheet.setEndDate(LocalDate.parse(String.valueOf(map.get("endDate")),dtf1));
|
|
int timeType = Integer.parseInt(String.valueOf(map.get("timeType")));
|
|
int timeType = Integer.parseInt(String.valueOf(map.get("timeType")));
|
|
leaveSheet.setTimeType(timeType);
|
|
leaveSheet.setTimeType(timeType);
|
|
leaveSheet.setTimeDays((Float) map.get("timeDays"));
|
|
leaveSheet.setTimeDays((Float) map.get("timeDays"));
|
|
@@ -506,6 +524,10 @@ public class TimingTask {
|
|
token+=s;
|
|
token+=s;
|
|
}
|
|
}
|
|
System.out.println(token);
|
|
System.out.println(token);
|
|
|
|
+ LocalDate now=LocalDate.now().minusMonths(1);
|
|
|
|
+ LocalDate end=now.with(TemporalAdjusters.lastDayOfMonth());
|
|
|
|
+ LocalDate start=now.with(TemporalAdjusters.firstDayOfMonth());
|
|
|
|
+ System.out.println(start+"----"+end);
|
|
}
|
|
}
|
|
|
|
|
|
//发送上周填写的工时统计
|
|
//发送上周填写的工时统计
|