From 0890247fff8ea09207bc804904db72b864d9a7ce Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 18 Sep 2020 17:04:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E6=8A=BD=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/extract/form/ExtractFormDTO.java | 16 +++++++++++++--- .../epmet/controller/FactOriginController.java | 17 ++++++++++++++++- .../impl/FactOriginExtractServiceImpl.java | 2 +- .../extract/impl/IssueExtractServiceImpl.java | 3 ++- .../extract/impl/ProjectExtractServiceImpl.java | 1 - .../resources/mapper/project/ProjectDao.xml | 2 +- .../mapper/project/ProjectProcessDao.xml | 8 ++++---- 7 files changed, 37 insertions(+), 12 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/ExtractFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/ExtractFormDTO.java index 50b3a91f5c..0b392c0053 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/ExtractFormDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/ExtractFormDTO.java @@ -15,11 +15,21 @@ public class ExtractFormDTO implements Serializable { private static final long serialVersionUID = -6180252151765854242L; - public interface ExtractForm extends CustomerClientShowGroup{} + public interface ExtractForm extends CustomerClientShowGroup { + } - @NotBlank(message = "客户ID不能为空",groups = ExtractForm.class) + @NotBlank(message = "客户ID不能为空", groups = ExtractForm.class) private String customerId; - @NotBlank(message = "dateId不能为空",groups = ExtractForm.class) + @NotBlank(message = "dateId不能为空", groups = ExtractForm.class) private String dateId; + + /** + * 开始时间 + */ + private String startDate; + /** + * 结束时间 + */ + private String endDate; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java index eaabd2fa48..870485ffd3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java @@ -1,5 +1,6 @@ package com.epmet.controller; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.extract.form.ExtractFormDTO; @@ -7,6 +8,7 @@ import com.epmet.service.evaluationindex.extract.FactOriginExtractService; import com.epmet.service.evaluationindex.extract.FactOriginTopicMainDailyService; import com.epmet.service.evaluationindex.extract.IssueExtractService; import com.epmet.service.evaluationindex.extract.ProjectExtractService; +import com.epmet.util.DimIdGenerator; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -14,6 +16,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Date; + /** * 原始数据清洗 @@ -41,7 +45,18 @@ public class FactOriginController { */ @PostMapping("extractall") public Result extractAll(@RequestBody ExtractFormDTO extractFormDTO) { - factOriginExtractService.extractAll(extractFormDTO); + if (StringUtils.isNotBlank(extractFormDTO.getStartDate()) && StringUtils.isNotBlank(extractFormDTO.getEndDate())) { + Date startDate = DateUtils.stringToDate(extractFormDTO.getStartDate(), "yyyyMMdd"); + Date endDate = DateUtils.stringToDate(extractFormDTO.getEndDate(), "yyyyMMdd"); + do { + String dateDimId = DimIdGenerator.getDateDimId(startDate); + extractFormDTO.setDateId(dateDimId); + factOriginExtractService.extractAll(extractFormDTO); + startDate = DateUtils.addDateDays(DateUtils.stringToDate(extractFormDTO.getStartDate(), "yyyyMMdd"), 1); + } while (endDate.compareTo(startDate) >= 0); + } else { + factOriginExtractService.extractAll(extractFormDTO); + } return new Result(); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/FactOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/FactOriginExtractServiceImpl.java index 7c6275929d..f1a5b7e378 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/FactOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/FactOriginExtractServiceImpl.java @@ -32,7 +32,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { .setNameFormat("factOriginExtract-pool-%d").build(); ExecutorService threadPool = new ThreadPoolExecutor(4, 8, 10L, TimeUnit.MINUTES, - new LinkedBlockingQueue<>(100), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); @Autowired private IssueExtractService issueExtractService; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java index cc57e3d000..33524d2e5b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java @@ -161,7 +161,8 @@ public class IssueExtractServiceImpl implements IssueExtractService { // 1. 查询议题process List listResult = issueService.selectIssueProcessInfo(customerId, dateId); if (CollectionUtils.isEmpty(listResult)){ - throw new RenException(ExtractConstant.ISSUE_PROCESS); + log.warn("issueExtractMain issueExtractLog return empty,customerId:{},dateId:{}", customerId, dateId); + return true; } listResult.forEach(issueProcess -> { IssueLogDailyFormDTO issueLogDailyFormDTO = ConvertUtils.sourceToTarget(issueProcess, IssueLogDailyFormDTO.class); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/ProjectExtractServiceImpl.java index cd8802aa8b..cc5a4ed2ee 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/ProjectExtractServiceImpl.java @@ -65,7 +65,6 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { public void saveOriginProjectDaily(ExtractFormDTO extractFormDTO) { String dateString = extractFormDTO.getDateId(); String customerId = extractFormDTO.getCustomerId(); - //获取已关闭项目列表 List closedList = projectProcessService.getClosedProjectList(customerId, dateString); List pendingList = factOriginProjectMainDailyService.getPendingList(customerId); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index c44315b3e6..e1a5401797 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -93,7 +93,7 @@ AND ORIGIN = 'issue' AND CUSTOMER_ID = #{customerId} - AND DATE_FORMAT(CREATED_TIME, '%Y-%m-%d') = #{date} + AND DATE_FORMAT(CREATED_TIME, '%Y%m%d') = #{date} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml index 1028e08e11..fd4b391fbf 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml @@ -30,7 +30,7 @@ INNER JOIN project p ON pp.PROJECT_ID = p.ID WHERE p.CUSTOMER_ID = #{customerId} - AND DATE_FORMAT(pp.CREATED_TIME, '%Y-%m-%d') = #{date} + AND DATE_FORMAT(pp.CREATED_TIME, '%Y%m%d') = #{date}