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/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml
index ee196b5cbf..e83b569392 100644
--- a/epmet-module/data-statistical/data-statistical-server/pom.xml
+++ b/epmet-module/data-statistical/data-statistical-server/pom.xml
@@ -469,7 +469,7 @@
- true
+ false
5
@@ -581,7 +581,7 @@
- true
+ false
5
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 ae50deb189..9abf3b0fde 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
@@ -140,7 +140,7 @@ public class IndexCalculateController {
long start = System.currentTimeMillis();
Boolean aBoolean = indexCalculateService.indexCalculate(formDTO);
if (aBoolean) {
- log.error("客户Id:{},全部指标计算完成,总耗时:{}秒", formDTO.getCustomerId(), (System.currentTimeMillis() - start) / 1000);
+ log.error("客户Id:{},全部指标计算完成,结果:{},总耗时:{}秒", formDTO.getCustomerId(), aBoolean, (System.currentTimeMillis() - start) / 1000);
}
redisUtils.delete(RedisKeys.getCustomerStatsCalFlag(formDTO.getCustomerId()));
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 {
entity5.setCorrelation(data.getCorrelation());
entity5.setLevel("5");
entity5.setIndexCode(Pinyin4jUtil.getSpellPinYin(data.getLevel5Index(), false, 4));
- entity.setValueType(data.getValueType());
+ entity5.setValueType(data.getValueType());
indexDicMap.put(data.getLevel5Index(), entity5);
}
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java
index bd126af18c..0cc8aa4c00 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java
@@ -96,7 +96,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService {
List 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/indexcal/impl/CpcIndexCalculateServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/CpcIndexCalculateServiceImpl.java
index 278c4a2236..b2e0158aa4 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/CpcIndexCalculateServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/CpcIndexCalculateServiceImpl.java
@@ -203,13 +203,13 @@ public class CpcIndexCalculateServiceImpl implements CpcIndexCalculateService {
//计算最大最小值
Map minAndMaxMap = factIndexPartyAblityCpcMonthlyDao.getExtremeValue(formDTO.getCustomerId(), formDTO.getMonthId());
if (CollectionUtils.isEmpty(minAndMaxMap)) {
- log.error("cpcIndexCalculate getExtremeValue customerId:{} have not any fact record", formDTO.getCustomerId());
- throw new RenException("指标原始数据记录不存在");
+ log.warn("cpcIndexCalculate getExtremeValue customerId:{} have not any fact record", formDTO.getCustomerId());
+ return;
}
//指标集合
Map> groupIndexDetailsMap = getIndexDetailMap(formDTO);
if (groupIndexDetailsMap == null) {
- log.error("calculatePartScore");
+ log.error("calculatePartScore groupIndexDetailsMap is empty");
return;
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateServiceImpl.java
index a2703968ec..1c4d16d2f8 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateServiceImpl.java
@@ -91,7 +91,7 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
private Boolean calulateCustomerIndexScore(CalculateCommonFormDTO formDTO) {
try {
String customerId = formDTO.getCustomerId();
- Boolean flag;
+ Boolean flag = false;
long start = System.currentTimeMillis();
try {
//校验是否含有组织数据
@@ -107,7 +107,6 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
log.info("客户Id:{}【党员相关】计算完毕,总耗时:{}秒,result:{}", customerId, (System.currentTimeMillis() - start) / 1000, flag);
} catch (Exception e) {
log.error("indexCalculate cpcIndexCalculate exception", e);
- throw new RenException("indexCalculate cpcIndexCalculate exception", e);
}
//测试用
@@ -118,7 +117,6 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
log.info("客户Id:{}【网格相关】计算完毕,总耗时:{}秒,result:{},result:{}", customerId, (System.currentTimeMillis() - start) / 1000, flag);
} catch (Exception e) {
log.error("indexCalculate calculateGridCorreLation exception", e);
- throw new RenException("indexCalculate calculateGridCorreLation exception", e);
}
//计算社区
start = System.currentTimeMillis();
@@ -127,7 +125,6 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
log.info("客户Id:{}【社区相关】计算完毕,总耗时:{}秒,result:{},result:{}", customerId, (System.currentTimeMillis() - start) / 1000, flag);
} catch (Exception e) {
log.error("indexCalculate calCommunityAll exception", e);
- throw new RenException("indexCalculate calAll exception", e);
}
//计算街道
@@ -137,7 +134,6 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
log.info("客户Id:{}【街道相关】计算完毕,总耗时:{}秒,result:{}", customerId, (System.currentTimeMillis() - start) / 1000, flag);
} catch (Exception e) {
log.error("indexCalculate calStreetAll exception", e);
- throw new RenException("indexCalculate calStreetAll exception", e);
}
//计算区直属
@@ -147,7 +143,6 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
log.info("客户Id:{}【区直部门】计算完毕,总耗时:{}秒,result:{}", customerId, (System.currentTimeMillis() - start) / 1000, flag);
} catch (Exception e) {
log.error("indexCalculate calculateDeptCorreLation exception", e);
- throw new RenException("indexCalculate calculateDeptCorreLation exception", e);
}
//计算全区
@@ -157,7 +152,6 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
log.info("客户Id:{}【全区相关】计算完毕,总耗时:{}秒,result:{}", customerId, (System.currentTimeMillis() - start) / 1000, flag);
} catch (Exception e) {
log.error("indexCalculate calDistrictAll exception", e);
- throw new RenException("indexCalculate calDistrictAll exception", e);
}
} catch (RenException e) {
flag = false;
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/db/migration/V0.0.4__screen_org_add_source_col.sql b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.4__screen_org_add_source_col.sql
index 88d6e55b66..fe2f474600 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.4__screen_org_add_source_col.sql
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.4__screen_org_add_source_col.sql
@@ -1,3 +1,5 @@
-alter table screen_customer_agency add column SOURCE_TYPE varchar(20) default 'external' after AREA_CODE;
-alter table screen_customer_dept add column SOURCE_TYPE varchar(20) default 'external' after DEPT_MARK;
-alter table screen_customer_grid add column SOURCE_TYPE varchar(20) default 'external' after PARTY_MARK;
\ No newline at end of file
+# alter table screen_customer_agency add column SOURCE_TYPE varchar(20) default 'external' after AREA_CODE;
+# alter table screen_customer_dept add column SOURCE_TYPE varchar(20) default 'external' after DEPT_MARK;
+# alter table screen_customer_grid add column SOURCE_TYPE varchar(20) default 'external' after PARTY_MARK;
+
+select 1;
\ No newline at end of file
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;
diff --git a/epmet-module/data-statistical/data-statistical-server/src/test/java/resources/评价指标体系算法需求-备注.xlsx b/epmet-module/data-statistical/data-statistical-server/src/test/java/resources/评价指标体系算法需求-备注.xlsx
index 7f624f10bb..9c90c24c9e 100644
Binary files a/epmet-module/data-statistical/data-statistical-server/src/test/java/resources/评价指标体系算法需求-备注.xlsx and b/epmet-module/data-statistical/data-statistical-server/src/test/java/resources/评价指标体系算法需求-备注.xlsx differ