Browse Source

Merge remote-tracking branch 'origin/dev_bugfix_ljj' into dev

# Conflicts:
#	epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
master
yinzuomei 4 years ago
parent
commit
a9b81d7f66
  1. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmettduck/PrUserProjectDao.java
  2. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java
  3. 1
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml
  4. 40
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
  5. 22
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmettduck/PrUserProjectDao.java

@ -55,7 +55,7 @@ public interface PrUserProjectDao extends BaseDao<PrUserProjectEntity> {
* @author zxc * @author zxc
* @date 2021/9/17 2:16 下午 * @date 2021/9/17 2:16 下午
*/ */
List<String> selectProjectKey(@Param("orgIds")List<String> orgIds); List<String> selectProjectKey(@Param("orgIds")List<String> orgIds,@Param("customerId")String customerId);
/** /**
* @Description 根据keys查询project * @Description 根据keys查询project

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java

@ -209,7 +209,7 @@ public class PrUserProjectServiceImpl extends BaseServiceImpl<PrUserProjectDao,
orgIds.add(oneOrg); orgIds.add(oneOrg);
} }
// 根据orgIds查询 问卷调查的key // 根据orgIds查询 问卷调查的key
List<String> projectKeys = baseDao.selectProjectKey(orgIds); List<String> projectKeys = baseDao.selectProjectKey(orgIds,formDTO.getCustomerId());
if (CollectionUtils.isEmpty(projectKeys)){ if (CollectionUtils.isEmpty(projectKeys)){
return new ArrayList<>(); return new ArrayList<>();
} }

1
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml

@ -73,6 +73,7 @@
DISTINCT project_key DISTINCT project_key
FROM pr_publish_range FROM pr_publish_range
WHERE del_flag = 0 WHERE del_flag = 0
AND customer_id = #{customerId}
AND ( AND (
<foreach collection="orgIds" item="orgId" separator=" OR "> <foreach collection="orgIds" item="orgId" separator=" OR ">
#{orgId} LIKE CONCAT(org_ids,'%') #{orgId} LIKE CONCAT(org_ids,'%')

40
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java

@ -62,6 +62,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
@ -865,11 +866,36 @@ public class DemoController {
return new Result(); return new Result();
} }
/**
* screen_project_datascreen_project_processscreen_project_img_data
*
* @param param 不传客户id,执行dim中所有有效客户
* @return com.epmet.commons.tools.utils.Result
* @author yinzuomei
* @date 2021/10/12 5:54 下午
*/
@PostMapping("project-test") @PostMapping("project-test")
public Result project(@RequestBody ScreenCentralZoneDataFormDTO param) { public Result project(@RequestBody ScreenCentralZoneDataFormDTO param) {
if(StringUtils.isBlank(param.getDateId())){
//默认截止到昨天。
param.setDateId(DateUtils.getBeforeNDay(1));
}
List<String> customerIds = new ArrayList();
if (StringUtils.isNotBlank(param.getCustomerId())) {
customerIds.add(param.getCustomerId());
} else {
customerIds = dimCustomerService.selectCustomerIdPage(1, 100);
}
for (String customerId : customerIds) {
ScreenCentralZoneDataFormDTO formDTO = new ScreenCentralZoneDataFormDTO();
formDTO.setCustomerId(customerId);
formDTO.setDateId(param.getDateId());
screenProjectSettleService.extractScreenData(param); screenProjectSettleService.extractScreenData(param);
log.error(String.format("/data/stats/demo/project-test,screen_project_**表抽取完毕,customerId:%s", customerId));
}
return new Result(); return new Result();
} }
public static void main(String[] args) { public static void main(String[] args) {
List<String> monthIds = DateUtils.getMonthBetween("202001","202012"); List<String> monthIds = DateUtils.getMonthBetween("202001","202012");
for(String monthId:monthIds){ for(String monthId:monthIds){
@ -899,7 +925,19 @@ public class DemoController {
**/ **/
@PostMapping("extractProjectCategory") @PostMapping("extractProjectCategory")
public Result extractProjectCategory(@RequestBody ExtractOriginFormDTO formDTO){ public Result extractProjectCategory(@RequestBody ExtractOriginFormDTO formDTO){
originProjectCategoryDailyService.extractProjectCategory(formDTO); List<String> customerIds = new ArrayList();
if (StringUtils.isNotBlank(formDTO.getCustomerId())) {
customerIds.add(formDTO.getCustomerId());
} else {
customerIds = dimCustomerService.selectCustomerIdPage(1, 100);
}
for (String customerId : customerIds) {
ExtractOriginFormDTO paramDTO = new ExtractOriginFormDTO();
paramDTO.setCustomerId(customerId);
paramDTO.setDateId(formDTO.getDateId());
originProjectCategoryDailyService.extractProjectCategory(paramDTO);
log.error(String.format("/data/stats/demo/extractProjectCategory,fact_origin_project_category_daily表抽取完毕,customerId:%s", customerId));
}
return new Result(); return new Result();
} }

22
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java

@ -41,7 +41,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
@Autowired @Autowired
private ScreenProjectDataService targetDbService; private ScreenProjectDataService screenProjectDataService;
@Autowired @Autowired
private FactOriginProjectMainDailyService originMainService; private FactOriginProjectMainDailyService originMainService;
@Autowired @Autowired
@ -55,9 +55,9 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
@Autowired @Autowired
private IssueService issueService; private IssueService issueService;
@Autowired @Autowired
private ScreenProjectProcessService targetProcessService; private ScreenProjectProcessService screenProjectProcessService;
@Autowired @Autowired
private ScreenProjectImgDataService targetImgService; private ScreenProjectImgDataService screenProjectImgDataService;
@Autowired @Autowired
private ScreenProjectProcessAttachmentService targetAttachmentService; private ScreenProjectProcessAttachmentService targetAttachmentService;
@ -71,7 +71,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
@Override @Override
public void extractScreenData(ScreenCentralZoneDataFormDTO param) { public void extractScreenData(ScreenCentralZoneDataFormDTO param) {
//screen_project_data表是否存在此客户数据 //screen_project_data表是否存在此客户数据
int rows = targetDbService.checkIfExisted(param.getCustomerId()); int rows = screenProjectDataService.checkIfExisted(param.getCustomerId());
List<ScreenProjectDataDTO> metaData = List<ScreenProjectDataDTO> metaData =
originMainService.initNewScreenProjectData(param.getCustomerId(), rows , param.getDateId()); originMainService.initNewScreenProjectData(param.getCustomerId(), rows , param.getDateId());
@ -119,7 +119,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
orientCase.setCustomerId(param.getCustomerId()); orientCase.setCustomerId(param.getCustomerId());
//待更新的数据 需要检测更新的字段为:①projectStatusCode ②closeCaseTime ③allCategoryName ④projectLevel //待更新的数据 需要检测更新的字段为:①projectStatusCode ②closeCaseTime ③allCategoryName ④projectLevel
List<ScreenProjectDataDTO> orientData = List<ScreenProjectDataDTO> orientData =
targetDbService.getPending(orientCase,param.getDateId()); screenProjectDataService.getPending(orientCase,param.getDateId());
// 给metaData和orientData赋上分类信息 // 给metaData和orientData赋上分类信息
List<String> projectIds = List<String> projectIds =
@ -148,20 +148,20 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
//更新结案时间和结案状态 //更新结案时间和结案状态
processService.updateProjectStatus(orientData,param.getDateId(),param.getCustomerId()); 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)){ if(!CollectionUtils.isEmpty(metaData)){
List<ScreenProjectImgDataDTO> imgs = topicService.buildNewScreenProjectImgData(metaData); List<ScreenProjectImgDataDTO> imgs = topicService.buildNewScreenProjectImgData(metaData);
if(!CollectionUtils.isEmpty(imgs)){ 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)){ 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())); List<ScreenProjectProcessAttachmentDTO> attachments = processService.buildProcessAttachmentData(processes.stream().map(ScreenProjectProcessDTO::getProcessId).distinct().collect(Collectors.toList()));
if(!CollectionUtils.isEmpty(attachments)){ if(!CollectionUtils.isEmpty(attachments)){
@ -186,7 +186,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
if(StringUtils.isNotBlank(projectId)){ if(StringUtils.isNotBlank(projectId)){
BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, projectId); BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, projectId);
log.warn("单独计算projectId=" + projectId + "满意度得分:" + calProjectSatisfactionScore); log.warn("单独计算projectId=" + projectId + "满意度得分:" + calProjectSatisfactionScore);
targetDbService.updateProjectSatisfactionScore(projectId,calProjectSatisfactionScore); screenProjectDataService.updateProjectSatisfactionScore(projectId,calProjectSatisfactionScore);
return; return;
} }
List<String> projectIds=new ArrayList<>(); List<String> projectIds=new ArrayList<>();
@ -207,7 +207,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
projectIds.forEach(id -> { projectIds.forEach(id -> {
BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, id); BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, id);
log.warn("projectId=" + id + "满意度得分:" + calProjectSatisfactionScore); log.warn("projectId=" + id + "满意度得分:" + calProjectSatisfactionScore);
targetDbService.updateProjectSatisfactionScore(id, calProjectSatisfactionScore); screenProjectDataService.updateProjectSatisfactionScore(id, calProjectSatisfactionScore);
}); });
} }

Loading…
Cancel
Save