diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexDictController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexDictController.java index 6a24b3e98b..0764389e78 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexDictController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexDictController.java @@ -44,7 +44,7 @@ public class IndexDictController { * @return */ @PostMapping("initFromExcel") - public Result testTx(@RequestPart("file") MultipartFile file,@RequestParam("customerId") String customerId) { + public Result testTx(@RequestPart("file") MultipartFile file, @RequestParam(value = "customerId", required = false) String customerId) { ExcelReader excelReader = null; try { InputStream inputStream = null; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java index 9413b13209..72e39aecbf 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java @@ -2,9 +2,12 @@ package com.epmet.service.evaluationindex.extract.todata.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.dto.extract.form.ExtractOriginFormDTO; +import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO; import com.epmet.service.evaluationindex.extract.todata.*; +import com.epmet.service.stats.DimCustomerPartymemberService; import com.epmet.service.stats.DimCustomerService; import com.epmet.util.DimIdGenerator; import com.google.common.util.concurrent.ThreadFactoryBuilder; @@ -41,12 +44,14 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { private DimCustomerService dimCustomerService; @Autowired private GroupExtractService groupExtractService; + @Autowired + private DimCustomerPartymemberService dimCustomerPartymemberService; @Override public void extractAll(ExtractOriginFormDTO extractOriginFormDTO) { String customerId = extractOriginFormDTO.getCustomerId(); - if (StringUtils.isBlank(extractOriginFormDTO.getStartDate())||StringUtils.isBlank(extractOriginFormDTO.getEndDate())) { + if (StringUtils.isBlank(extractOriginFormDTO.getDateId()) && (StringUtils.isBlank(extractOriginFormDTO.getStartDate()) && StringUtils.isBlank(extractOriginFormDTO.getEndDate()))) { //如果没有设置开始日期、结束日期,默认查询昨天 extractOriginFormDTO.setDateId(DimIdGenerator.getDateDimId(DateUtils.addDateDays(new Date(), -1))); } @@ -77,116 +82,142 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { } private void submitJob(ExtractOriginFormDTO param) { + boolean isRange = StringUtils.isBlank(param.getDateId()) ? true : false; + List daysBetween = null; + if (isRange) { + daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); + } + List finalDaysBetween = daysBetween; + threadPool.submit(() -> { + CustomerIdAndDateIdFormDTO formDTO = new CustomerIdAndDateIdFormDTO(); + formDTO.setCustomerId(param.getCustomerId()); + if (!isRange) { + try { + formDTO.setDateId(param.getDateId()); + dimCustomerPartymemberService.statsPartyMember(formDTO); + } catch (Exception e) { + log.error("抽取【党员数据】发生异常,参数:" + JSON.toJSONString(formDTO), e); + } + } else { + try { + for (int i = 0; i < finalDaysBetween.size(); i++) { + String dateDimId = finalDaysBetween.get(i); + formDTO.setDateId(dateDimId); + dimCustomerPartymemberService.statsPartyMember(formDTO); + } + } catch (Exception e) { + log.error("抽取【党员数据】发生异常,参数:" + JSON.toJSONString(param), e); + } + } + }); threadPool.submit(() -> { - if(StringUtils.isNotBlank(param.getDateId())){ + ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); + if (!isRange) { try { - groupExtractService.extractGroupData(param); + groupExtractService.extractGroupData(paramNew); } catch (Exception e) { - log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } - }else if(StringUtils.isNotBlank(param.getStartDate()) && StringUtils.isNotBlank(param.getEndDate())){ - try{ - List daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); - for (int i = 0; i < daysBetween.size(); i++) { - String dateDimId = daysBetween.get(i); - param.setDateId(dateDimId); - groupExtractService.extractGroupData(param); + } else { + try { + for (int i = 0; i < finalDaysBetween.size(); i++) { + String dateDimId = finalDaysBetween.get(i); + paramNew.setDateId(dateDimId); + groupExtractService.extractGroupData(paramNew); } - }catch(Exception e){ - log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(param), e); + } catch (Exception e) { + log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } } }); threadPool.submit(() -> { - log.info("extractAll start param:{}", JSON.toJSONString(param)); - if(StringUtils.isNotBlank(param.getDateId())){ + log.debug("extractAll start param:{}", JSON.toJSONString(param)); + ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); + if (!isRange) { try { - factOriginTopicMainDailyService.topicCleaning(param); + factOriginTopicMainDailyService.topicCleaning(paramNew); } catch (Exception e) { - log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } - }else if(StringUtils.isNotBlank(param.getStartDate()) && StringUtils.isNotBlank(param.getEndDate())){ + } else { try { - List daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); - for (int i = 0; i < daysBetween.size(); i++) { - String dateDimId = daysBetween.get(i); - param.setDateId(dateDimId); - log.info("extractAll cal param:{}", JSON.toJSONString(param)); - factOriginTopicMainDailyService.topicCleaning(param); + for (int i = 0; i < finalDaysBetween.size(); i++) { + String dateDimId = finalDaysBetween.get(i); + paramNew.setDateId(dateDimId); + log.info("extractAll cal param:{}", JSON.toJSONString(paramNew)); + factOriginTopicMainDailyService.topicCleaning(paramNew); } } catch (Exception e) { - log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } } - log.info("extractAll end param:{}", JSON.toJSONString(param)); + log.info("extractAll end param:{}", JSON.toJSONString(paramNew)); }); threadPool.submit(() -> { - if(StringUtils.isNotBlank(param.getDateId())){ + ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); + if (!isRange) { try { - issueExtractService.issueExtractMain(param); + issueExtractService.issueExtractMain(paramNew); } catch (Exception e) { - log.error("抽取【议题数据主表】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【议题数据主表】发生异常,参数:" + JSON.toJSONString(paramNew), e); } try { - issueExtractService.issueExtractLog(param); + issueExtractService.issueExtractLog(paramNew); } catch (Exception e) { - log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(paramNew), e); } - }else if(StringUtils.isNotBlank(param.getStartDate()) && StringUtils.isNotBlank(param.getEndDate())){ + } else { try { - List daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); - for (int i = 0; i < daysBetween.size(); i++) { - String dateDimId = daysBetween.get(i); - param.setDateId(dateDimId); - issueExtractService.issueExtractMain(param); + for (int i = 0; i < finalDaysBetween.size(); i++) { + String dateDimId = finalDaysBetween.get(i); + paramNew.setDateId(dateDimId); + issueExtractService.issueExtractMain(paramNew); } } catch (Exception e) { - log.error("抽取【议题数据主表】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【议题数据主表】发生异常,参数:" + JSON.toJSONString(paramNew), e); } try { - List daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); - for (int i = 0; i < daysBetween.size(); i++) { - String dateDimId = daysBetween.get(i); - param.setDateId(dateDimId); - issueExtractService.issueExtractLog(param); + for (int i = 0; i < finalDaysBetween.size(); i++) { + String dateDimId = finalDaysBetween.get(i); + paramNew.setDateId(dateDimId); + issueExtractService.issueExtractLog(paramNew); } } catch (Exception e) { - log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(paramNew), e); } } }); threadPool.submit(() -> { - if(StringUtils.isNotBlank(param.getDateId())){ + ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); + if (!isRange) { try { - projectExtractService.saveOriginProjectDaily(param); + projectExtractService.saveOriginProjectDaily(paramNew); } catch (Exception e) { - log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } try { - projectExtractService.extractProjectPeriodData(param); + projectExtractService.extractProjectPeriodData(paramNew); } catch (Exception e) { - log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } - }else if(StringUtils.isNotBlank(param.getStartDate()) && StringUtils.isNotBlank(param.getEndDate())){ + } else { try { - List daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); - for (int i = 0; i < daysBetween.size(); i++) { - String dateDimId = daysBetween.get(i); - param.setDateId(dateDimId); - projectExtractService.saveOriginProjectDaily(param); + for (int i = 0; i < finalDaysBetween.size(); i++) { + String dateDimId = finalDaysBetween.get(i); + paramNew.setDateId(dateDimId); + projectExtractService.saveOriginProjectDaily(paramNew); } } catch (Exception e) { - log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } try { - List daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); - for (int i = 0; i < daysBetween.size(); i++) { - String dateDimId = daysBetween.get(i); - param.setDateId(dateDimId); - projectExtractService.extractProjectPeriodData(param); + for (int i = 0; i < finalDaysBetween.size(); i++) { + String dateDimId = finalDaysBetween.get(i); + paramNew.setDateId(dateDimId); + projectExtractService.extractProjectPeriodData(paramNew); } } catch (Exception e) { - log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(param), e); + log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } } });