diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index ea8f100f6c..12567a30d2 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -313,7 +313,7 @@ public class RedisKeys { * @return */ public static String getIndexCodeWeightKey(String customerId) { - return rootPrefix.concat("stats:indexcal:indexcode:weight").concat(customerId); + return rootPrefix.concat("stats:indexcal:indexcode:weight").concat(StrConstant.COLON).concat(customerId); } /** diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/ProjectParticipatedAgencyResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/ProjectParticipatedAgencyResultDTO.java index 0065a286ec..f7714ca882 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/ProjectParticipatedAgencyResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/ProjectParticipatedAgencyResultDTO.java @@ -17,4 +17,6 @@ public class ProjectParticipatedAgencyResultDTO implements Serializable { private String agencyId; private int count; + + private String projectId; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java index 9abf3b0fde..420838dec5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java @@ -165,6 +165,7 @@ public class IndexCalculateController { CalculateFlagModel flag = new CalculateFlagModel(); flag.setStatus(CalculateStatus.CALCULATING); flag.setForm(formDTO); + flag.setStartTime(DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN)); redisUtils.set(RedisKeys.getCustomerStatsCalFlag(formDTO.getCustomerId()), flag); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java index 180ce535bc..500fd52d48 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java @@ -23,6 +23,7 @@ import com.epmet.entity.evaluationindex.extract.FactOriginProjectLogDailyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -116,7 +117,7 @@ public interface FactOriginProjectLogDailyDao extends BaseDao selectProjectParticipatedAgency(@Param("agencies") List agencies, @Param("customerId") String customerId,@Param("dimId") String dimId); /*** - * @Description 评价周期内被吹哨次数 + * @Description 评价周期内被吹哨项目数 * @param agencies * @param customerId * @param dimId @@ -125,7 +126,16 @@ public interface FactOriginProjectLogDailyDao extends BaseDao selectAgencyWhistledCount(@Param("agencies") List agencies, @Param("customerId") String customerId,@Param("dimId") String dimId); - + /*** + * @Description 评价周期内被吹哨且被办结(无论是哪一级办结)的项目数 + * @param agencies + * @param customerId + * @param dimId + * @return java.util.List + * @author wangc + * @date 2020.10.16 10:43 + */ + List selectWhistledAgencyClosedProjectCount(@Param("agencies") List agencies, @Param("customerId") String customerId,@Param("dimId") String dimId); /*** * @Description 查询机关办结次数 * @param agencies @@ -134,7 +144,24 @@ public interface FactOriginProjectLogDailyDao extends BaseDao selectAgencyHandledProjectCount(@Param("agencies") List agencies,@Param("customerId") String customerId,@Param("dimId") String dimId); + /** + * @Description 查询评价周期内各级别机关办结的项目Id + * @param customerId + * @param dimId + * @return java.util.List + * @author wangc + * @date 2020.10.15 17:29 + */ + List selectProjectIdHandledByAgency(@Param("customerId") String customerId,@Param("dimId") String dimId); + /** + * @Description 计算每个办结项目的总耗时 + * @param projectIds + * @return java.util.List + * @author wangc + * @date 2020.10.15 17:32 + */ + List selectProjectCostTime(@Param("projectIds") List projectIds); /** * 网格项目响应度 * @author zhaoqifeng diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/model/CalculateFlagModel.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/model/CalculateFlagModel.java index 95d114ae16..d64fa71dd3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/model/CalculateFlagModel.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/model/CalculateFlagModel.java @@ -17,4 +17,11 @@ public class CalculateFlagModel { */ private String status; + /** + * 开始时间 + * CalculateStatus.java + */ + private String startTime; + + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java index e33f7a4982..062990b4ed 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java @@ -134,24 +134,19 @@ public class IndexCollCommunityServiceImpl implements IndexCollCommunityService })); } - //办结数 + List agencies = agencyList.stream().map(DimAgencyDTO :: getId).distinct().collect(Collectors.toList()); + //办结数 Map agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies,customerId,dimId.getMonthId(),"month"); - Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(agencies,customerId,dimId.getMonthId(),"month"); + //办结率 + Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies,customerId,dimId.getMonthId(),"month"); + //处理效率 + Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId,dimId.getMonthId(),"month"); list.forEach(entity ->{ - entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId())); - BigDecimal element = new BigDecimal(entity.getClosedProjectCount()); - //分母,即机关参与过的项目数(去重) - //“评价周期内被吹哨且办结的项目数”/“评价周期内被吹哨的所有项目数” - Integer denominator = entity.getTransferedCount(); - if (null != denominator && denominator != NumConstant.ZERO) { - //办结率 - entity.setClosedProjectRatio( - element.divide(new BigDecimal(denominator), NumConstant.SIX, RoundingMode.HALF_UP) - ); - }else{ - entity.setClosedProjectRatio(BigDecimal.ZERO); - } + //办结数 + entity.setClosedProjectCount(Optional.ofNullable(agencyHandleCount.get(entity.getAgencyId())).orElse(NumConstant.ZERO)); + //办结率 + entity.setClosedProjectRatio(Optional.ofNullable(handlingRatioMap.get(entity.getAgencyId())).orElse(BigDecimal.ZERO)); //办结效率 entity.setHandleProjectRatio(Optional.ofNullable(efficiencyMap.get(entity.getAgencyId())).orElse(BigDecimal.ZERO)); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java index 1e576f2ba3..aeaa04000c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java @@ -127,25 +127,19 @@ public class IndexCollDistrictServiceImpl implements IndexCollDistrictService { } })); } - //办结数 + List agencies = agencyList.stream().map(DimAgencyDTO :: getId).distinct().collect(Collectors.toList()); + //办结数 Map agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies,customerId,dimId.getMonthId(),"month"); - - Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(agencies,customerId,dimId.getMonthId(),"month"); + //办结率 + Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies,customerId,dimId.getMonthId(),"month"); + //处理效率 + Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId,dimId.getMonthId(),"month"); list.forEach(entity ->{ + //办结数 entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId())); - BigDecimal element = new BigDecimal(entity.getClosedProjectCount()); - //分母,即机关参与过的项目数(去重) - //“评价周期内被吹哨且办结的项目数”/“评价周期内被吹哨的所有项目数” - Integer denominator = entity.getTransferedCount(); - if (null != denominator && denominator != NumConstant.ZERO) { - //办结率 - entity.setClosedProjectRatio( - element.divide(new BigDecimal(denominator), NumConstant.SIX, RoundingMode.HALF_UP) - ); - }else{ - entity.setClosedProjectRatio(BigDecimal.ZERO); - } + //办结率 + entity.setClosedProjectRatio(Optional.ofNullable(handlingRatioMap.get(entity.getAgencyId())).orElse(BigDecimal.ZERO)); //办结效率 entity.setHandleProjectRatio(Optional.ofNullable(efficiencyMap.get(entity.getAgencyId())).orElse(BigDecimal.ZERO)); }); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java index edd1742ec0..8331905d41 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java @@ -125,25 +125,19 @@ public class IndexCollStreetServiceImpl implements IndexCollStreetService { } })); } - //办结数 + List agencies = agencyList.stream().map(DimAgencyDTO :: getId).distinct().collect(Collectors.toList()); + //办结数 Map agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies,customerId,dimId.getMonthId(),"month"); - - Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(agencies,customerId,dimId.getMonthId(),"month"); + //办结率 + Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies,customerId,dimId.getMonthId(),"month"); + //处理效率 + Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId,dimId.getMonthId(),"month"); list.forEach(entity ->{ + //办结数 entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId())); - BigDecimal element = new BigDecimal(entity.getClosedProjectCount()); - //分母,吹哨次数 - Integer denominator = entity.getTransferedCount(); - if (null != denominator && denominator != NumConstant.ZERO) { - //办结率 - //“评价周期内被吹哨且办结的项目数”/“评价周期内被吹哨的所有项目数” - entity.setClosedProjectRatio( - element.divide(new BigDecimal(denominator), NumConstant.SIX, RoundingMode.HALF_UP) - ); - }else{ - entity.setClosedProjectRatio(BigDecimal.ZERO); - } + //办结率 + entity.setClosedProjectRatio(Optional.ofNullable(handlingRatioMap.get(entity.getAgencyId())).orElse(BigDecimal.ZERO)); //办结效率 entity.setHandleProjectRatio(Optional.ofNullable(efficiencyMap.get(entity.getAgencyId())).orElse(BigDecimal.ZERO)); }); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java index f8f430eb0a..dbedbb762d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java @@ -178,7 +178,7 @@ public interface FactOriginProjectLogDailyService extends BaseService getProjectHandledAgency(List agencies, String customerId, String dimId,String dateType); /** - * @Description 查询机关单位经手的项目数,去重 + * @Description 办结率 * @param agencies * @param dimId * @param dateType - 日期维度类型 month date week quarter year @@ -186,16 +186,16 @@ public interface FactOriginProjectLogDailyService extends BaseService getCountOfDealingAgency(List agencies, String customerId,String dimId,String dateType); + Map getHandlingRatio(List agencies, String customerId,String dimId,String dateType); /** * @Description 计算机关办结项目效率 - * @param agencies + * @param customerId * @return * @author wangc * @date 2020.09.21 02:16 **/ - Map getAgencyWorkPieceRatio(List agencies, String customerId,String dimId,String dateType); + Map getAgencyWorkPieceRatio( String customerId,String dimId,String dateType); /** * 网格项目响应度 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 72e39aecbf..f44eef01de 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 @@ -151,7 +151,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } } - log.info("extractAll end param:{}", JSON.toJSONString(paramNew)); + log.debug("extractAll end param:{}", JSON.toJSONString(paramNew)); }); threadPool.submit(() -> { ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java index cff8dc53c1..d7c6a7e7de 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java @@ -38,6 +38,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.naming.LinkLoopException; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; @@ -183,7 +184,7 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl getCountOfDealingAgency(List agencies, String customerId,String dimId, String dateType) { - Map result = new HashMap<>(); - List projectAgencyCount = baseDao.selectProjectParticipatedAgency(agencies,customerId,dimId); + public Map getHandlingRatio(List agencies, String customerId,String dimId, String dateType) { + //计算方式:“评价周期内被吹哨且办结(无论是哪一级办结)的项目数”/“评价周期内被吹哨的所有项目数” + + Map result = new HashMap<>(); + List projectAgencyCount = baseDao.selectWhistledAgencyClosedProjectCount(agencies,customerId,dimId); if(!CollectionUtils.isEmpty(projectAgencyCount)){ - result = projectAgencyCount.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getAgencyId,ProjectParticipatedAgencyResultDTO::getCount)); + Map whistledAndHandledProjectTotalMap = projectAgencyCount.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getAgencyId,ProjectParticipatedAgencyResultDTO::getCount)); + List whistledProjectTotal = baseDao.selectAgencyWhistledCount(agencies,customerId,dimId); + Map whistledProjectTotalMap = whistledProjectTotal.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getAgencyId,ProjectParticipatedAgencyResultDTO::getCount)); + whistledAndHandledProjectTotalMap.forEach((agencyId,count) -> { + //分母 被吹哨项目数 + Integer denominator = whistledProjectTotalMap.get(agencyId); + if(null == denominator || NumConstant.ZERO == denominator){ + result.put(agencyId,BigDecimal.ZERO); + }else{ + result.put(agencyId,new BigDecimal(count).divide(new BigDecimal(denominator), NumConstant.SIX, RoundingMode.HALF_UP)); + } + }); } + return result; } /** * @Description 计算机关办结项目效率 - * @param agencies + * @param * @return * @author wangc * @date 2020.09.21 02:16 **/ @Override - public Map getAgencyWorkPieceRatio(List agencies, String customerId,String dimId, String dateType) { - //网格、部门的办结系数 - List gridDeptResponse = projectOrgPeriodDailyDao.selectSubOrgResponseCoefficient(customerId, dimId, dateType); - //机关的办结系数 - List agencyResponse = projectOrgPeriodDailyDao.selectAgencyResponseCoefficient(customerId, dimId, dateType); - Map consumingMap = new HashMap<>(); - Map timeMap = new HashMap<>(); - if(!CollectionUtils.isEmpty(agencyResponse)){ - agencyResponse.forEach(response -> { - consumingMap.put(response.getAgencyId(),response.getResponseTime()); - //注意,这里取的是去重后的项目次数,例如一个部门被项目流转了多次,项目数只算一次 - //如果需要改成不去重,只需response.getProjectTotal() - timeMap.put(response.getAgencyId(),response.getDistinctProjectTotal()); - }); - } - if(!CollectionUtils.isEmpty(gridDeptResponse)){ - gridDeptResponse.forEach(response -> { - if(null != consumingMap.get(response.getAgencyId())){ - consumingMap.put(response.getAgencyId(),consumingMap.get(response.getAgencyId()).add(response.getResponseTime())); - timeMap.put(response.getAgencyId(),timeMap.get(response.getAgencyId()).add(response.getDistinctProjectTotal())); - }else{ - consumingMap.put(response.getAgencyId(),response.getResponseTime()); - timeMap.put(response.getAgencyId(),response.getDistinctProjectTotal()); - } - }); - } - //效率map + public Map getAgencyWorkPieceRatio(String customerId,String dimId, String dateType) { + //计算方法 : 评价周期内办结项目的平均处理时长的倒数 + + + //1.评价周期内结案了的项目 + List projectsHandledByAgency = baseDao.selectProjectIdHandledByAgency(customerId,dimId); Map efficiencyMap = new HashMap<>(); - if(!CollectionUtils.isEmpty(consumingMap)) { - consumingMap.keySet().forEach(agencyId -> { - efficiencyMap.put(agencyId, consumingMap.get(agencyId).divide(timeMap.get(agencyId), NumConstant.SIX, RoundingMode.HALF_UP)); + if(!CollectionUtils.isEmpty(projectsHandledByAgency)){ + Map> agencyProjectsMap = new HashMap<>(); + + projectsHandledByAgency.forEach(o -> { + String agencyId = o.getAgencyId(); + String projectId = o.getProjectId(); + if(CollectionUtils.isEmpty(agencyProjectsMap.get(agencyId))){ + List projectUnit = new LinkedList<>(); + projectUnit.add(projectId); + agencyProjectsMap.put(agencyId,projectUnit); + }else{ + agencyProjectsMap.get(agencyId).add(projectId); + } + }); + + List projects = new LinkedList<>(); + agencyProjectsMap.forEach((key,value) -> {projects.addAll(value);}); + //2.结案项目的总耗时 + List costTimes = baseDao.selectProjectCostTime(projects); + + Map projectCostTime = costTimes.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getProjectId,ProjectParticipatedAgencyResultDTO::getCount)); + agencyProjectsMap.forEach((k,v) -> { + //k -> agencyId v -> projects + int total = NumConstant.ZERO; + if(!CollectionUtils.isEmpty(v)){ + for(String p : v){ + Integer cost = projectCostTime.get(p); + total = total + (null == cost ? NumConstant.ZERO : cost); + } + //每个机关的项目平均耗时 + BigDecimal avgCost = new BigDecimal(total).divide(new BigDecimal(v.size()),4, BigDecimal.ROUND_HALF_UP); + + efficiencyMap.put(k,BigDecimal.ONE.divide(avgCost,4, BigDecimal.ROUND_HALF_UP)); + + }else{ + efficiencyMap.put(k,BigDecimal.ZERO); + } }); } + return efficiencyMap; } + @Override public List getGridResponse(String customerId, String monthId) { return baseDao.selectGridResponse(customerId, monthId); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 6229433fa7..1ad6a429fc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -2,7 +2,9 @@ package com.epmet.service.evaluationindex.extract.toscreen.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.EnvEnum; import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO; import com.epmet.dto.indexcal.CalculateCommonFormDTO; @@ -167,6 +169,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { }catch (Exception e){ log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); } + log.info("===== extractDaily method end ======"); } /** @@ -245,14 +248,17 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { //此方法保持在最后即可 计算指标分数 todo 优化 手动创建线程池 控制任务数量 ExecutorService pool = Executors.newSingleThreadExecutor(); pool.submit(() -> { + long start = System.currentTimeMillis(); CalculateCommonFormDTO formDTO1 = new CalculateCommonFormDTO(); try { formDTO1.setMonthId(monthId); formDTO1.setCustomerId(customerId); - indexCalculateService.indexCalculate(formDTO1); + Boolean aBoolean = indexCalculateService.indexCalculate(formDTO1); + HttpClientManager.getInstance().sendAlarmMsg(EnvEnum.getCurrentEnv().getName() + "客户Id:" + formDTO.getCustomerId() + ",calculateAll全部指标计算完成,是否成功:" + aBoolean + ",总耗时:" + (System.currentTimeMillis() - start) / 1000 + "秒"); } catch (Exception e) { log.error("extractMonthly 计算分数异常,参数:{}", JSON.toJSONString(formDTO1)); } }); + log.info("===== extractMonthly method end ======"); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml index b389aa1aa3..86551a98e2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml @@ -23,7 +23,7 @@ AND da.`LEVEL` = #{level} WHERE fopld.IS_ACTIVE = 0 - AND fopld.ACTION_CODE = 'transfer' + AND (fopld.ACTION_CODE = 'transfer' OR fopld.ACTION_CODE = 'created') AND fopld.MONTH_ID = #{monthId} AND fopld.CUSTOMER_ID = #{customerId} GROUP BY @@ -160,11 +160,11 @@ GROUP BY AGENCY_ID - + + + + + + +