|
@@ -2,8 +2,6 @@ package com.management.platform.task;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
-import com.management.platform.controller.ReportController;
|
|
|
|
import com.management.platform.entity.*;
|
|
import com.management.platform.entity.*;
|
|
import com.management.platform.entity.vo.TisTimeVO;
|
|
import com.management.platform.entity.vo.TisTimeVO;
|
|
import com.management.platform.mapper.*;
|
|
import com.management.platform.mapper.*;
|
|
@@ -78,6 +76,8 @@ public class DataCollectTask {
|
|
private CompanyMapper companyMapper;
|
|
private CompanyMapper companyMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private LeaveSheetService leaveSheetService;
|
|
private LeaveSheetService leaveSheetService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private UserFvTimeService userFvTimeService;
|
|
|
|
|
|
|
|
|
|
// private static HikariDataSource sqlServerDataSource;
|
|
// private static HikariDataSource sqlServerDataSource;
|
|
@@ -291,96 +291,12 @@ public class DataCollectTask {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-// @Scheduled(cron = "0 30 1 * * ?")
|
|
|
|
-@Scheduled(cron = "50 24 11 * * ?")
|
|
|
|
|
|
+ @Scheduled(cron = "0 30 1 * * ?")
|
|
|
|
+//@Scheduled(cron = "20 58 14 * * ?")
|
|
public void workDayTask(){
|
|
public void workDayTask(){
|
|
-// if(isDev){return;}
|
|
|
|
-// if(isPrivateDeploy) return;
|
|
|
|
- RestTemplate restTemplate = new RestTemplate();
|
|
|
|
- String sumUrl = PREFIX_URL+"/dataCollect/getWorkDayDataSum";
|
|
|
|
- String listUrl = PREFIX_URL+"/dataCollect/getWorkDayDataList";
|
|
|
|
-
|
|
|
|
- try {
|
|
|
|
- ResponseEntity<String> sumResponse = restTemplate.exchange(
|
|
|
|
- sumUrl,
|
|
|
|
- HttpMethod.GET,
|
|
|
|
- null,
|
|
|
|
- String.class
|
|
|
|
- );
|
|
|
|
- Integer totalNum = 0;
|
|
|
|
- if (sumResponse.getStatusCode() == HttpStatus.OK) {
|
|
|
|
- totalNum = Integer.parseInt(sumResponse.getBody());
|
|
|
|
- } else {
|
|
|
|
- System.out.println("请求失败,状态码: " + sumResponse.getStatusCode());
|
|
|
|
- }
|
|
|
|
- if(totalNum > 0){
|
|
|
|
- int pageSize = 1000;
|
|
|
|
- int offset = 0;
|
|
|
|
- List<UserFvTime> toAddList = new ArrayList<>();
|
|
|
|
- List<UserFvTime> toUpdateList = new ArrayList<>();
|
|
|
|
- List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getCompanyId, specialCompanyId));
|
|
|
|
- Map<String, User> userMap = users.stream().filter(t -> StringUtils.isNotBlank(t.getJobNumber()))
|
|
|
|
- .collect(Collectors.toMap(User::getJobNumber, t -> t));
|
|
|
|
- while (offset < totalNum) {
|
|
|
|
- HttpHeaders headers = new HttpHeaders();
|
|
|
|
- headers.setContentType(MediaType.APPLICATION_JSON);
|
|
|
|
- Map<String, Object> requestBody = new HashMap<>();
|
|
|
|
- requestBody.put("pageNo", offset);
|
|
|
|
- requestBody.put("pageSize", pageSize);
|
|
|
|
- HttpEntity<Object> requestEntity = new HttpEntity<>(requestBody, headers);
|
|
|
|
- ResponseEntity<List<UserFvTime>> listResponse = restTemplate.exchange(
|
|
|
|
- listUrl,
|
|
|
|
- HttpMethod.POST,
|
|
|
|
- requestEntity,
|
|
|
|
- new ParameterizedTypeReference<List<UserFvTime>>(){}
|
|
|
|
- );
|
|
|
|
- if (listResponse.getStatusCode() == HttpStatus.OK) {
|
|
|
|
- List<UserFvTime> dataList = listResponse.getBody();
|
|
|
|
- if(org.apache.commons.collections.CollectionUtils.isNotEmpty(dataList)){
|
|
|
|
- for (UserFvTime userFvTime : dataList) {
|
|
|
|
- if(StringUtils.isBlank(userFvTime.getProcinstId())){
|
|
|
|
- System.out.println(userFvTime);
|
|
|
|
- }
|
|
|
|
- User tmp = userMap.get(userFvTime.getUserId());
|
|
|
|
- if(null == tmp){
|
|
|
|
- System.out.println("缺失id=== "+userFvTime.getUserId()+",缺失名字=== "+userFvTime.getName());
|
|
|
|
- }
|
|
|
|
- userFvTime.setUserId(null==tmp?null:tmp.getId());
|
|
|
|
- }
|
|
|
|
- List<UserFvTime> realDataList = dataList.stream().filter(t -> StringUtils.isNotBlank(t.getUserId())).collect(Collectors.toList());
|
|
|
|
- if(!CollectionUtils.isEmpty(realDataList)){
|
|
|
|
- List<String> collect = realDataList.stream().map(UserFvTime::getProcinstId).distinct().collect(Collectors.toList());
|
|
|
|
- List<UserFvTime> existList = userFvTimeMapper.selectList(new LambdaQueryWrapper<UserFvTime>().in(UserFvTime::getProcinstId, collect).eq(UserFvTime::getCompanyId, specialCompanyId));
|
|
|
|
- for (UserFvTime tmp : realDataList) {
|
|
|
|
- Optional<UserFvTime> first = existList.stream().filter(t -> t.getProcinstId().equals(tmp.getProcinstId())).findFirst();
|
|
|
|
- if(first.isPresent()){
|
|
|
|
- tmp.setId(first.get().getId());
|
|
|
|
- toUpdateList.add(tmp);
|
|
|
|
- } else {
|
|
|
|
- toAddList.add(tmp);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if(!CollectionUtils.isEmpty(toAddList)){
|
|
|
|
- userFvTimeMapper.batchInsertCollect(toAddList);
|
|
|
|
- }
|
|
|
|
- if(!CollectionUtils.isEmpty(toUpdateList)){
|
|
|
|
- for (UserFvTime tmp : toUpdateList) {
|
|
|
|
- userFvTimeMapper.updateById(tmp);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- toUpdateList.clear();
|
|
|
|
- toAddList.clear();
|
|
|
|
- offset += pageSize;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- System.out.println("请求发生异常: " + e.getMessage());
|
|
|
|
- e.printStackTrace();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ if(isDev){return;}
|
|
|
|
+ if(isPrivateDeploy) return;
|
|
|
|
+ userFvTimeService.syncUserFvTime(specialCompanyId);
|
|
}
|
|
}
|
|
|
|
|
|
@Scheduled(cron = "0 0 2 * * ?")
|
|
@Scheduled(cron = "0 0 2 * * ?")
|
|
@@ -733,12 +649,12 @@ public class DataCollectTask {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-// @Scheduled(cron = "0 0 3 * * ?")
|
|
|
|
-@Scheduled(cron = "30 47 11 * * ?")
|
|
|
|
|
|
+ @Scheduled(cron = "0 0 3 * * ?")
|
|
|
|
+//@Scheduled(cron = "30 34 14 * * ?")
|
|
@Async
|
|
@Async
|
|
public void businessTripTask(){
|
|
public void businessTripTask(){
|
|
-// if(isDev){return;}
|
|
|
|
-// if(isPrivateDeploy) return;
|
|
|
|
|
|
+ if(isDev){return;}
|
|
|
|
+ if(isPrivateDeploy) return;
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
String sumUrl = PREFIX_URL+"/dataCollect/getBusinessTripDataSum";
|
|
String sumUrl = PREFIX_URL+"/dataCollect/getBusinessTripDataSum";
|
|
String listUrl = PREFIX_URL+"/dataCollect/getBusinessTripDataList";
|
|
String listUrl = PREFIX_URL+"/dataCollect/getBusinessTripDataList";
|
|
@@ -855,7 +771,7 @@ public class DataCollectTask {
|
|
UserFvTime time = new UserFvTime();
|
|
UserFvTime time = new UserFvTime();
|
|
time.setUserId(trip.getOwnerId());
|
|
time.setUserId(trip.getOwnerId());
|
|
time.setWorkDate(startDate);
|
|
time.setWorkDate(startDate);
|
|
- time.setStartTime("9:00");
|
|
|
|
|
|
+ time.setStartTime("09:00");
|
|
time.setEndTime("18:00");
|
|
time.setEndTime("18:00");
|
|
time.setWorkHours(8.0f);
|
|
time.setWorkHours(8.0f);
|
|
time.setCompanyId(trip.getCompanyId());
|
|
time.setCompanyId(trip.getCompanyId());
|