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..d6a7ad782a 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 @@ -61,6 +61,7 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.ExecutionException; @@ -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/Issue/impl/IssueServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java index fd5702c71b..593c21b9fa 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java @@ -12,6 +12,7 @@ import com.epmet.dto.extract.result.SatisfactionInfoResultDTO; import com.epmet.dto.issue.*; import com.epmet.entity.issue.IssueEntity; import com.epmet.service.Issue.IssueService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -26,6 +27,7 @@ import java.util.Set; * @dscription * @date 2020/6/17 16:02 */ +@Slf4j @Service @DataSource(DataSourceConstant.GOV_ISSUE) public class IssueServiceImpl implements IssueService { @@ -162,8 +164,11 @@ public class IssueServiceImpl implements IssueService { List categories = statsIssueDao.selectCategory(customerId, categoryIds); if(!CollectionUtils.isEmpty(categories)){ StringBuilder str = new StringBuilder(); - categories.forEach(category -> {str.append(category.getCategoryName()).append(StrConstant.COMMA);}); - map.put(projectId,str.substring(NumConstant.ZERO,str.length() - NumConstant.TWO)); + categories.forEach(category -> { + str.append(category.getCategoryName()).append(StrConstant.COMMA); + //log.info(str.toString()); + }); + map.put(projectId,str.substring(NumConstant.ZERO,str.length() - NumConstant.ONE)); } }); 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..8a41163726 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 = @@ -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> categoryMap = projectService.getProjectCategory(projectIds); if(!CollectionUtils.isEmpty(categoryMap)){ Map 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 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 +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 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); }); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectCategoryDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectCategoryDao.xml index 3f9c27f6d2..49942cdca3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectCategoryDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectCategoryDao.xml @@ -5,7 +5,7 @@ SELECT + distinct CATEGORY_CODE, PROJECT_ID, - CATEGORY_CODE, CUSTOMER_ID FROM project_category WHERE DEL_FLAG = '0'