|
|
@ -41,7 +41,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ScreenProjectDataService targetDbService; |
|
|
|
private ScreenProjectDataService screenProjectDataService; |
|
|
|
@Autowired |
|
|
|
private FactOriginProjectMainDailyService originMainService; |
|
|
|
@Autowired |
|
|
@ -55,9 +55,9 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic |
|
|
|
@Autowired |
|
|
|
private IssueService issueService; |
|
|
|
@Autowired |
|
|
|
private ScreenProjectProcessService targetProcessService; |
|
|
|
private ScreenProjectProcessService screenProjectProcessService; |
|
|
|
@Autowired |
|
|
|
private ScreenProjectImgDataService targetImgService; |
|
|
|
private ScreenProjectImgDataService screenProjectImgDataService; |
|
|
|
@Autowired |
|
|
|
private ScreenProjectProcessAttachmentService targetAttachmentService; |
|
|
|
|
|
|
@ -71,7 +71,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic |
|
|
|
@Override |
|
|
|
public void extractScreenData(ScreenCentralZoneDataFormDTO param) { |
|
|
|
//screen_project_data表是否存在此客户数据
|
|
|
|
int rows = targetDbService.checkIfExisted(param.getCustomerId()); |
|
|
|
int rows = screenProjectDataService.checkIfExisted(param.getCustomerId()); |
|
|
|
|
|
|
|
List<ScreenProjectDataDTO> metaData = |
|
|
|
originMainService.initNewScreenProjectData(param.getCustomerId(), rows , param.getDateId()); |
|
|
@ -119,7 +119,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic |
|
|
|
orientCase.setCustomerId(param.getCustomerId()); |
|
|
|
//待更新的数据 需要检测更新的字段为:①projectStatusCode ②closeCaseTime ③allCategoryName ④projectLevel
|
|
|
|
List<ScreenProjectDataDTO> orientData = |
|
|
|
targetDbService.getPending(orientCase,param.getDateId()); |
|
|
|
screenProjectDataService.getPending(orientCase,param.getDateId()); |
|
|
|
|
|
|
|
// 给metaData和orientData赋上分类信息
|
|
|
|
List<String> projectIds = |
|
|
@ -127,6 +127,8 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic |
|
|
|
if(!CollectionUtils.isEmpty(orientData)) { |
|
|
|
projectIds.addAll(orientData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList())); |
|
|
|
} |
|
|
|
projectIds.clear(); |
|
|
|
projectIds.add("18759f2fb5c5fb8513c4a21b0be81834"); |
|
|
|
Map<String, Set<String>> categoryMap = projectService.getProjectCategory(projectIds); |
|
|
|
if(!CollectionUtils.isEmpty(categoryMap)){ |
|
|
|
Map<String, String> integratedProjectCategoryMap = issueService.getIntegratedProjectCategory(categoryMap, param.getCustomerId()); |
|
|
@ -139,7 +141,9 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(projectIds.contains("4f670b349899b33c20e888e77842d938")){ |
|
|
|
return; |
|
|
|
} |
|
|
|
//重新计算orientData的级别 有现成的方法 fact_origin_project_org_period_daily
|
|
|
|
// originMainService.computerIfExceed(orientData, exceedLimit,about2ExceedLimit);
|
|
|
|
//todo 与上面重复处理 暂时注释掉
|
|
|
@ -148,20 +152,20 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic |
|
|
|
//更新结案时间和结案状态
|
|
|
|
processService.updateProjectStatus(orientData,param.getDateId(),param.getCustomerId()); |
|
|
|
|
|
|
|
targetDbService.insertOrUpdateBatch(param.getCustomerId(),param.getDateId(),metaData,orientData); |
|
|
|
screenProjectDataService.insertOrUpdateBatch(param.getCustomerId(),param.getDateId(),metaData,orientData); |
|
|
|
|
|
|
|
if(!CollectionUtils.isEmpty(metaData)){ |
|
|
|
List<ScreenProjectImgDataDTO> imgs = topicService.buildNewScreenProjectImgData(metaData); |
|
|
|
if(!CollectionUtils.isEmpty(imgs)){ |
|
|
|
|
|
|
|
targetImgService.insertBatch(imgs); |
|
|
|
screenProjectImgDataService.insertBatch(imgs); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//
|
|
|
|
List<ScreenProjectProcessDTO> processes = processService.buildNewScreenProjectProcessData(param.getCustomerId(), param.getDateId(),!targetProcessService.checkIfHistoricalDataExists(param.getCustomerId())); |
|
|
|
List<ScreenProjectProcessDTO> processes = processService.buildNewScreenProjectProcessData(param.getCustomerId(), param.getDateId(),!screenProjectProcessService.checkIfHistoricalDataExists(param.getCustomerId())); |
|
|
|
if(!CollectionUtils.isEmpty(processes)){ |
|
|
|
targetProcessService.insertBatch(processes,param.getCustomerId(),param.getDateId()); |
|
|
|
screenProjectProcessService.insertBatch(processes,param.getCustomerId(),param.getDateId()); |
|
|
|
List<ScreenProjectProcessAttachmentDTO> attachments = processService.buildProcessAttachmentData(processes.stream().map(ScreenProjectProcessDTO::getProcessId).distinct().collect(Collectors.toList())); |
|
|
|
if(!CollectionUtils.isEmpty(attachments)){ |
|
|
|
|
|
|
@ -186,7 +190,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic |
|
|
|
if(StringUtils.isNotBlank(projectId)){ |
|
|
|
BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, projectId); |
|
|
|
log.warn("单独计算projectId=" + projectId + "满意度得分:" + calProjectSatisfactionScore); |
|
|
|
targetDbService.updateProjectSatisfactionScore(projectId,calProjectSatisfactionScore); |
|
|
|
screenProjectDataService.updateProjectSatisfactionScore(projectId,calProjectSatisfactionScore); |
|
|
|
return; |
|
|
|
} |
|
|
|
List<String> projectIds=new ArrayList<>(); |
|
|
@ -207,7 +211,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic |
|
|
|
projectIds.forEach(id -> { |
|
|
|
BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, id); |
|
|
|
log.warn("projectId=" + id + "满意度得分:" + calProjectSatisfactionScore); |
|
|
|
targetDbService.updateProjectSatisfactionScore(id, calProjectSatisfactionScore); |
|
|
|
screenProjectDataService.updateProjectSatisfactionScore(id, calProjectSatisfactionScore); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|