Browse Source

Merge remote-tracking branch 'remotes/origin/dev_screen_data_2.0' into dev

dev_shibei_match
jianjun 5 years ago
parent
commit
388931e3ce
  1. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexDictController.java
  2. 155
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java

2
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<String> testTx(@RequestPart("file") MultipartFile file,@RequestParam("customerId") String customerId) {
public Result<String> testTx(@RequestPart("file") MultipartFile file, @RequestParam(value = "customerId", required = false) String customerId) {
ExcelReader excelReader = null;
try {
InputStream inputStream = null;

155
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<String> daysBetween = null;
if (isRange) {
daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate());
}
List<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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);
}
}
});

Loading…
Cancel
Save