|
@@ -6,10 +6,7 @@ import com.management.platform.controller.ReportController;
|
|
|
import com.management.platform.entity.*;
|
|
|
import com.management.platform.entity.vo.TisTimeVO;
|
|
|
import com.management.platform.mapper.*;
|
|
|
-import com.management.platform.service.LeaveSheetService;
|
|
|
-import com.management.platform.service.StagesService;
|
|
|
-import com.management.platform.service.TaskService;
|
|
|
-import com.management.platform.service.UserSalaryService;
|
|
|
+import com.management.platform.service.*;
|
|
|
import com.management.platform.util.MessageUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -47,6 +44,8 @@ public class DataCollectTask {
|
|
|
|
|
|
@Resource
|
|
|
private ErpOrderInfoMapper erpOrderInfoMapper;
|
|
|
+ @Resource
|
|
|
+ private ErpOrderInfoService erpOrderInfoService;
|
|
|
|
|
|
@Resource
|
|
|
private ProjectMapper projectMapper;
|
|
@@ -203,6 +202,7 @@ public class DataCollectTask {
|
|
|
|
|
|
|
|
|
@Scheduled(cron = "0 0 1 * * ?")
|
|
|
+// @Scheduled(cron = "0 46 7 * * ?")
|
|
|
@Async
|
|
|
public void sqlServerTask() {
|
|
|
if(isDev){return;}
|
|
@@ -246,20 +246,21 @@ public class DataCollectTask {
|
|
|
List<ErpOrderInfo> dataList = listResponse.getBody();
|
|
|
if(org.apache.commons.collections.CollectionUtils.isNotEmpty(dataList)){
|
|
|
List<String> collect = dataList.stream().map(ErpOrderInfo::getMoDId).distinct().collect(Collectors.toList());
|
|
|
- List<String> existIds = erpOrderInfoMapper.getExistIds(collect);
|
|
|
- if(!CollectionUtils.isEmpty(existIds)){
|
|
|
- toUpdateList.addAll(dataList.stream().filter(t -> existIds.contains(t.getMoDId())).collect(Collectors.toList()));
|
|
|
- toAddList.addAll(dataList.stream().filter(t -> !existIds.contains(t.getMoDId())).collect(Collectors.toList()));
|
|
|
- }else{
|
|
|
- toAddList.addAll(dataList);
|
|
|
+ List<ErpOrderInfo> erpOrderInfos = erpOrderInfoMapper.selectList(new LambdaQueryWrapper<ErpOrderInfo>().in(ErpOrderInfo::getMoDId, collect));
|
|
|
+ for (ErpOrderInfo item : dataList) {
|
|
|
+ Optional<ErpOrderInfo> first = erpOrderInfos.stream().filter(t -> t.getMoDId().equals(item.getMoDId())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ item.setId(first.get().getId());
|
|
|
+ toUpdateList.add(item);
|
|
|
+ } else {
|
|
|
+ toAddList.add(item);
|
|
|
+ }
|
|
|
}
|
|
|
if(!CollectionUtils.isEmpty(toAddList)){
|
|
|
erpOrderInfoMapper.batchInsert(toAddList);
|
|
|
}
|
|
|
if(!CollectionUtils.isEmpty(toUpdateList)){
|
|
|
- for (ErpOrderInfo orderInfo : toUpdateList) {
|
|
|
- erpOrderInfoMapper.updateById(orderInfo);
|
|
|
- }
|
|
|
+ erpOrderInfoService.updateBatchById(toUpdateList);
|
|
|
}
|
|
|
toUpdateList.clear();
|
|
|
toAddList.clear();
|