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,'%') 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 a25e563a07..a21fd502b5 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 @@ -62,6 +62,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; @@ -865,11 +866,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){ @@ -899,7 +925,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); }); }