diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/IndexScoreFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/IndexScoreFormDTO.java index 70a7b6d36b..e75abb9f63 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/IndexScoreFormDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/IndexScoreFormDTO.java @@ -21,13 +21,15 @@ public class IndexScoreFormDTO implements Serializable { private String orgId; /** * 类型(组织:agency 网格:grid) + * 大屏接口此字段值为空 */ - @NotBlank(message = "数据类型不能为空",groups = {IndexScoreFormDTO.AddUserInternalGroup.class}) + //@NotBlank(message = "数据类型不能为空",groups = {IndexScoreFormDTO.AddUserInternalGroup.class}) private String orgType; /** * 月份Id eg:202009 + * 大屏接口此字段值为空 */ - @NotBlank(message = "月份Id不能为空",groups = {IndexScoreFormDTO.AddUserInternalGroup.class}) + //@NotBlank(message = "月份Id不能为空",groups = {IndexScoreFormDTO.AddUserInternalGroup.class}) private String monthId; public interface AddUserInternalGroup {} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java index fe09c575db..385ec49fcc 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java @@ -2,6 +2,7 @@ package com.epmet.datareport.service.evaluationindex.screen.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.DataSourceConstant; import com.epmet.datareport.dao.evaluationindex.screen.ScreenIndexDataMonthlyDao; import com.epmet.datareport.dao.evaluationindex.screen.ScreenIndexDataYearlyDao; @@ -268,13 +269,17 @@ public class IndexServiceImpl implements IndexService { @Override public IndexScoreResultDTO indexScore(IndexScoreFormDTO formDTO) { //screen_index_data_monthly 根据组织id和月份获取月度指标得分 - //1.根据组织或网格Id以及月份Id查询各项月度指数得分 + //1.大屏接口 orgType和monthId字段不传值,默认查询上一个月数据 + if(null==formDTO.getMonthId()||"".equals(formDTO.getMonthId())){ + formDTO.setMonthId(DateUtils.getBeforeNMonth(1)); + } + //2.根据组织或网格Id以及月份Id查询各项月度指数得分 IndexScoreResultDTO resultDTO = screenIndexDataMonthlyDao.selectMonthData(formDTO); if (null == resultDTO) { return resultDTO; } - //2.将数据改成正确格式 四舍五入保留一位小数 权重转成百分比 + //3.将数据改成正确格式 四舍五入保留一位小数 权重转成百分比 NumberFormat nf = NumberFormat.getPercentInstance(); nf.setMaximumFractionDigits(1); diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml index f7f35e0712..f35e7a490c 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml @@ -176,18 +176,20 @@ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenPartyUserRankDataDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenPartyUserRankDataDao.java index 35132261cc..559bb482d9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenPartyUserRankDataDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenPartyUserRankDataDao.java @@ -52,7 +52,7 @@ public interface ScreenPartyUserRankDataDao extends BaseDao orgList = dimGridService.getGridListByCustomerId(formDTO.getCustomerId()); if (CollectionUtils.isEmpty(orgList)) { log.warn("抽取【公众参与-人均议题】,获取组织数据失败"); - throw new RenException("抽取【公众参与-人均议题】,获取组织数据失败"); + return; } //构建组织数据 Map insertMap = new HashMap<>(); @@ -172,7 +172,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { List orgList = dimAgencyService.getAgencyListByCustomerId(formDTO.getCustomerId()); if (CollectionUtils.isEmpty(orgList)) { log.warn("抽取【公众参与-人均议题】,获取组织数据失败"); - throw new RenException("抽取【公众参与-人均议题】,获取组织数据失败"); + return; } //构建组织数据 Map insertMap = new HashMap<>(); 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 2edbaac99b..6229433fa7 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 @@ -233,13 +233,15 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { }catch (Exception e){ log.error("党建引领抽取到大屏失败,参数为:"+ JSON.toJSONString(formDTO), e); } - - //基层治理 - 热心市民 screen_party_user_rank_data - ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); - param.setCustomerId(customerId); - param.setDateId(monthId); - screenGrassrootsGovernDataAbsorptionService.userScoreDataHub(param); - + try { + //基层治理 - 热心市民 screen_party_user_rank_data + ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); + param.setCustomerId(customerId); + param.setDateId(monthId); + screenGrassrootsGovernDataAbsorptionService.userScoreDataHub(param); + }catch(Exception e){ + log.error("大屏热心市民/党员得分数据写入失败,参数为:{}",JSON.toJSONString(formDTO)); + } //此方法保持在最后即可 计算指标分数 todo 优化 手动创建线程池 控制任务数量 ExecutorService pool = Executors.newSingleThreadExecutor(); pool.submit(() -> { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index be0f66d42e..013838a959 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -122,7 +122,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr } //6.存入数据库 - screenPartyUserRankDataService.dataClean(registeredUsers,param.getCustomerId(),dateId); + //不按照时间删除,每次插入之前将该客户下的所有历史数据清空 + screenPartyUserRankDataService.dataClean(registeredUsers,param.getCustomerId()); } /** diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPartyUserRankDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPartyUserRankDataService.java index a454c51734..99ce30dc0c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPartyUserRankDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPartyUserRankDataService.java @@ -39,6 +39,6 @@ public interface ScreenPartyUserRankDataService extends BaseService dataList,String customerId,String dateId); + void dataClean(List dataList,String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenPartyUserRankDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenPartyUserRankDataServiceImpl.java index 0c6815db71..8e11fe379b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenPartyUserRankDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenPartyUserRankDataServiceImpl.java @@ -55,11 +55,11 @@ public class ScreenPartyUserRankDataServiceImpl extends BaseServiceImpl dataList, String customerId, String dateId) { + public void dataClean(List dataList, String customerId) { if(!CollectionUtils.isEmpty(dataList)) { int affectedRows; do { - affectedRows = baseDao.deleteBatchByCustomerIdAndDateId(customerId, dateId); + affectedRows = baseDao.deleteBatchByCustomerIdAndDateId(customerId); } while (affectedRows > NumConstant.ZERO); baseDao.insertBatch(dataList); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPartyUserRankDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPartyUserRankDataDao.xml index 1404eeb70c..66fc4cf716 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPartyUserRankDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPartyUserRankDataDao.xml @@ -12,7 +12,6 @@ delete from screen_party_user_rank_data where CUSTOMER_ID = #{customerId} - AND DATA_END_TIME = #{dateId} limit 1000;