Browse Source

这一批都执行完再继续其他的

dev_shibei_match
jianjun 4 years ago
parent
commit
a641e679e1
  1. 36
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java

36
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java

@ -5,9 +5,7 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractOriginFormDTO;
import com.epmet.dto.group.form.GroupTotalFormDTO;
import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO; import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO;
import com.epmet.dto.stats.topic.form.TopicStatusFormDTO;
import com.epmet.service.StatsGroupService; import com.epmet.service.StatsGroupService;
import com.epmet.service.StatsTopicService; import com.epmet.service.StatsTopicService;
import com.epmet.service.evaluationindex.extract.todata.*; import com.epmet.service.evaluationindex.extract.todata.*;
@ -94,6 +92,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
} }
private void submitJob(ExtractOriginFormDTO param) { private void submitJob(ExtractOriginFormDTO param) {
CountDownLatch countDownLatch = new CountDownLatch(NumConstant.FIVE);
boolean isRange = StringUtils.isBlank(param.getDateId()); boolean isRange = StringUtils.isBlank(param.getDateId());
List<String> daysBetween = null; List<String> daysBetween = null;
if (isRange) { if (isRange) {
@ -101,6 +100,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
} }
List<String> finalDaysBetween = daysBetween; List<String> finalDaysBetween = daysBetween;
threadPool.submit(() -> { threadPool.submit(() -> {
try {
CustomerIdAndDateIdFormDTO formDTO = new CustomerIdAndDateIdFormDTO(); CustomerIdAndDateIdFormDTO formDTO = new CustomerIdAndDateIdFormDTO();
formDTO.setCustomerId(param.getCustomerId()); formDTO.setCustomerId(param.getCustomerId());
if (!isRange) { if (!isRange) {
@ -121,8 +121,12 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
log.error("抽取【党员数据】发生异常,参数:" + JSON.toJSONString(param), e); log.error("抽取【党员数据】发生异常,参数:" + JSON.toJSONString(param), e);
} }
} }
} finally {
countDownLatch.countDown();
}
}); });
threadPool.submit(() -> { threadPool.submit(() -> {
try {
ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) { if (!isRange) {
try { try {
@ -141,8 +145,12 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
} }
} }
} finally {
countDownLatch.countDown();
}
}); });
threadPool.submit(() -> { threadPool.submit(() -> {
try {
log.debug("extractAll start param:{}", JSON.toJSONString(param)); log.debug("extractAll start param:{}", JSON.toJSONString(param));
ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) { if (!isRange) {
@ -164,8 +172,12 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
} }
} }
log.debug("extractAll end param:{}", JSON.toJSONString(paramNew)); log.debug("extractAll end param:{}", JSON.toJSONString(paramNew));
} finally {
countDownLatch.countDown();
}
}); });
threadPool.submit(() -> { threadPool.submit(() -> {
try {
ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) { if (!isRange) {
try { try {
@ -198,9 +210,13 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(paramNew), e); log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(paramNew), e);
} }
} }
} finally {
countDownLatch.countDown();
}
}); });
//小组活动 //小组活动
threadPool.submit(() -> { threadPool.submit(() -> {
try {
ExtractOriginFormDTO extractOriginFormDTO = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); ExtractOriginFormDTO extractOriginFormDTO = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) { if (!isRange) {
//截止到当前dateId //截止到当前dateId
@ -235,6 +251,9 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e); log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e);
} }
} }
} finally {
countDownLatch.countDown();
}
}); });
/* //网格、组织小组总数日统计 /* //网格、组织小组总数日统计
@ -297,7 +316,18 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
} }
});*/ });*/
submitProjectRelationData(param, finalDaysBetween); Future<?> future = submitProjectRelationData(param, finalDaysBetween);
try {
future.get();
} catch (Exception e) {
log.error("submitProjectRelationData exception:{}",e);
}
try {
countDownLatch.await();
log.info("extractAll submitJob execute end,param:{}",JSON.toJSONString(param));
} catch (InterruptedException e) {
log.error("extractAll daily InterruptedException:{}", e);
}
} }
@Override @Override

Loading…
Cancel
Save