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 1/2] =?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); }); } From 31489e3425cec1ec01433a6c8c217e6bcf37072c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 13 Oct 2021 11:16:09 +0800 Subject: [PATCH 2/2] =?UTF-8?q?customerId=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dataaggre/dao/epmettduck/PrUserProjectDao.java | 2 +- .../service/epmettduck/impl/PrUserProjectServiceImpl.java | 2 +- .../src/main/resources/mapper/epmettduck/PrUserProjectDao.xml | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmettduck/PrUserProjectDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmettduck/PrUserProjectDao.java index 68f185ad89..0dd90bd8d0 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmettduck/PrUserProjectDao.java +++ b/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 { * @author zxc * @date 2021/9/17 2:16 下午 */ - List selectProjectKey(@Param("orgIds")List orgIds); + List selectProjectKey(@Param("orgIds")List orgIds,@Param("customerId")String customerId); /** * @Description 根据keys查询project diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java index 56d4512f97..a77e2be2ad 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java +++ b/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 projectKeys = baseDao.selectProjectKey(orgIds); + List projectKeys = baseDao.selectProjectKey(orgIds,formDTO.getCustomerId()); if (CollectionUtils.isEmpty(projectKeys)){ return new ArrayList<>(); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml index 48bd2f41bc..59dd4eb215 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml @@ -73,6 +73,7 @@ DISTINCT project_key FROM pr_publish_range WHERE del_flag = 0 + AND customer_id = #{customerId} AND ( #{orgId} LIKE CONCAT(org_ids,'%')