From 7446dfb39941139ac3251967bd4e049799772de6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 Oct 2021 18:20:09 +0800 Subject: [PATCH] =?UTF-8?q?screen=5Fproject=5Fxx=E8=A1=A8=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E8=B0=83=E7=94=A8=E6=96=B9=E6=B3=95=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/DemoController.java | 44 +++++++++++++++++-- .../impl/ScreenProjectSettleServiceImpl.java | 22 +++++----- 2 files changed, 52 insertions(+), 14 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index ca81ce0ba7..771145678f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -59,6 +59,7 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; @@ -850,11 +851,36 @@ public class DemoController { return new Result(); } + /** + * screen_project_data、screen_project_process、screen_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") - public Result project(@RequestBody ScreenCentralZoneDataFormDTO param){ - screenProjectSettleService.extractScreenData(param); + public Result project(@RequestBody ScreenCentralZoneDataFormDTO param) { + if(StringUtils.isBlank(param.getDateId())){ + //默认截止到昨天。 + param.setDateId(DateUtils.getBeforeNDay(1)); + } + List 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); + log.error(String.format("/data/stats/demo/project-test,screen_project_**表抽取完毕,customerId:%s", customerId)); + } return new Result(); } + public static void main(String[] args) { List monthIds = DateUtils.getMonthBetween("202001","202012"); for(String monthId:monthIds){ @@ -884,7 +910,19 @@ public class DemoController { **/ @PostMapping("extractProjectCategory") public Result extractProjectCategory(@RequestBody ExtractOriginFormDTO formDTO){ - originProjectCategoryDailyService.extractProjectCategory(formDTO); + List 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(); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index 0b4a519efe..dd9eafe5dd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/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 - 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 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 orientData = - targetDbService.getPending(orientCase,param.getDateId()); + screenProjectDataService.getPending(orientCase,param.getDateId()); // 给metaData和orientData赋上分类信息 List projectIds = @@ -148,20 +148,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 imgs = topicService.buildNewScreenProjectImgData(metaData); if(!CollectionUtils.isEmpty(imgs)){ - targetImgService.insertBatch(imgs); + screenProjectImgDataService.insertBatch(imgs); } } // - List processes = processService.buildNewScreenProjectProcessData(param.getCustomerId(), param.getDateId(),!targetProcessService.checkIfHistoricalDataExists(param.getCustomerId())); + List 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 attachments = processService.buildProcessAttachmentData(processes.stream().map(ScreenProjectProcessDTO::getProcessId).distinct().collect(Collectors.toList())); if(!CollectionUtils.isEmpty(attachments)){ @@ -186,7 +186,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 projectIds=new ArrayList<>(); @@ -207,7 +207,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); }); }