|
|
@ -112,85 +112,109 @@ public class IndexExcelDataListener extends AnalysisEventListener<IndexModel> { |
|
|
|
List<IndexModel> collect = indexModelList.stream().sorted(Comparator.comparing(IndexModel::getLevel1Index)).collect(Collectors.toList()); |
|
|
|
collect.forEach(index -> { |
|
|
|
if (index.getLevel1Index().equals("党员相关")) { |
|
|
|
|
|
|
|
IndexDictEntity indexDictEntity = indexDicMap.get(index.getLevel1Index()); |
|
|
|
String level1GroupId = UniqueIdGenerator.generate(); |
|
|
|
IndexGroupTemplateEntity group1 = indexGroupMap.get(index.getLevel1Index()); |
|
|
|
if (group1 == null) { |
|
|
|
group1 = new IndexGroupTemplateEntity(); |
|
|
|
group1.setIndexId(indexDictEntity.getId()); |
|
|
|
group1.setParentIndexGroupId("0"); |
|
|
|
group1.setId(level1GroupId); |
|
|
|
group1.setIndexCode(Pinyin4jUtil.getFirstSpellPinYin(indexDictEntity.getIndexName(),true)); |
|
|
|
group1.setId(UniqueIdGenerator.generate()); |
|
|
|
group1.setIndexCode(Pinyin4jUtil.getSpellPinYin(indexDictEntity.getIndexName(),true,4)); |
|
|
|
indexGroupMap.put(index.getLevel1Index(), group1); |
|
|
|
} |
|
|
|
StringBuilder allIndexCodeSb = new StringBuilder(group1.getIndexCode()); |
|
|
|
String level4Index = index.getLevel4Index(); |
|
|
|
indexDictEntity = indexDicMap.get(level4Index); |
|
|
|
String level2GroupId = UniqueIdGenerator.generate(); |
|
|
|
|
|
|
|
IndexGroupTemplateEntity group2 = indexGroupMap.get(level4Index); |
|
|
|
IndexGroupTemplateEntity group2 = indexGroupMap.get(index.getLevel1Index()+level4Index); |
|
|
|
IndexGroupDetailTemplateEntity templateEntity = null; |
|
|
|
if (group2 == null) { |
|
|
|
group2 = new IndexGroupTemplateEntity(); |
|
|
|
group2.setIndexId(indexDictEntity.getId()); |
|
|
|
group2.setParentIndexGroupId(level1GroupId); |
|
|
|
group2.setId(level2GroupId); |
|
|
|
group2.setIndexCode(Pinyin4jUtil.getFirstSpellPinYin(indexDictEntity.getIndexName(),true)); |
|
|
|
indexGroupMap.put(level4Index, group2); |
|
|
|
group2.setParentIndexGroupId(group1.getId()); |
|
|
|
group2.setId(UniqueIdGenerator.generate()); |
|
|
|
group2.setIndexCode(Pinyin4jUtil.getSpellPinYin(indexDictEntity.getIndexName(),false,4 )); |
|
|
|
indexGroupMap.put(index.getLevel1Index()+level4Index, group2); |
|
|
|
//构建 分组明细
|
|
|
|
templateEntity = indexGroupDetailMap.get(level4Index); |
|
|
|
templateEntity = indexGroupDetailMap.get(index.getLevel1Index()+level4Index); |
|
|
|
if (templateEntity == null) { |
|
|
|
buildIndexGroupDetail(indexDictEntity, index, group1, allIndexCodeSb.toString(), 2); |
|
|
|
templateEntity = new IndexGroupDetailTemplateEntity(); |
|
|
|
templateEntity.setIndexGroupId(group1.getId()); |
|
|
|
templateEntity.setIndexId(indexDictEntity.getId()); |
|
|
|
templateEntity.setAllParentIndexCode(allIndexCodeSb.toString()); |
|
|
|
templateEntity.setId(UniqueIdGenerator.generate()); |
|
|
|
buildIndexGroupDetail(templateEntity,indexDictEntity, index, group1, 2); |
|
|
|
indexGroupDetailMap.put(index.getLevel1Index()+level4Index,templateEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
indexDictEntity = indexDicMap.get(index.getLevel5Index()); |
|
|
|
|
|
|
|
allIndexCodeSb.append(StrConstant.COLON); |
|
|
|
allIndexCodeSb.append(group2.getIndexCode()); |
|
|
|
templateEntity = indexGroupDetailMap.get(index.getLevel5Index()); |
|
|
|
templateEntity = indexGroupDetailMap.get(index.getLevel1Index()+index.getLevel5Index()); |
|
|
|
if (templateEntity == null) { |
|
|
|
buildIndexGroupDetail(indexDictEntity, index, group2, allIndexCodeSb.toString(), 5); |
|
|
|
templateEntity = new IndexGroupDetailTemplateEntity(); |
|
|
|
templateEntity.setIndexGroupId(group2.getId()); |
|
|
|
System.out.println("=========="+group2.getId()); |
|
|
|
templateEntity.setIndexId(indexDictEntity.getId()); |
|
|
|
templateEntity.setAllParentIndexCode(allIndexCodeSb.toString()); |
|
|
|
templateEntity.setId(UniqueIdGenerator.generate()); |
|
|
|
buildIndexGroupDetail(templateEntity,indexDictEntity, index, group2, 5); |
|
|
|
indexGroupDetailMap.put(index.getLevel1Index()+index.getLevel5Index(),templateEntity); |
|
|
|
} |
|
|
|
} else { |
|
|
|
//todo 测试完去掉
|
|
|
|
//if ("街道相关".equals(index.getLevel1Index())) {
|
|
|
|
IndexDictEntity indexDictEntity = indexDicMap.get(index.getLevel1Index()); |
|
|
|
String level1GroupId = UniqueIdGenerator.generate(); |
|
|
|
IndexGroupTemplateEntity group1 = indexGroupMap.get(index.getLevel1Index()); |
|
|
|
if (group1 == null) { |
|
|
|
group1 = new IndexGroupTemplateEntity(); |
|
|
|
group1.setIndexId(indexDictEntity.getId()); |
|
|
|
group1.setParentIndexGroupId("0"); |
|
|
|
group1.setId(level1GroupId); |
|
|
|
group1.setIndexCode(Pinyin4jUtil.getFirstSpellPinYin(indexDictEntity.getIndexName(),true)); |
|
|
|
group1.setId(UniqueIdGenerator.generate()); |
|
|
|
group1.setIndexCode(Pinyin4jUtil.getSpellPinYin(indexDictEntity.getIndexName(),false,4 )); |
|
|
|
indexGroupMap.put(index.getLevel1Index(), group1); |
|
|
|
} |
|
|
|
StringBuilder allIndexCodeSb = new StringBuilder(group1.getIndexCode()); |
|
|
|
String level2Index = index.getLevel2Index(); |
|
|
|
indexDictEntity = indexDicMap.get(level2Index); |
|
|
|
String level2GroupId = UniqueIdGenerator.generate(); |
|
|
|
|
|
|
|
IndexGroupTemplateEntity group2 = indexGroupMap.get(level2Index); |
|
|
|
String groupMapKey = index.getLevel1Index() + level2Index; |
|
|
|
IndexGroupTemplateEntity group2 = indexGroupMap.get(groupMapKey); |
|
|
|
IndexGroupDetailTemplateEntity templateEntity = null; |
|
|
|
if (group2 == null) { |
|
|
|
group2 = new IndexGroupTemplateEntity(); |
|
|
|
group2.setIndexId(indexDictEntity.getId()); |
|
|
|
group2.setParentIndexGroupId(level1GroupId); |
|
|
|
group2.setId(level2GroupId); |
|
|
|
group2.setIndexCode(Pinyin4jUtil.getFirstSpellPinYin(indexDictEntity.getIndexName(),true)); |
|
|
|
indexGroupMap.put(level2Index, group2); |
|
|
|
group2.setParentIndexGroupId(group1.getId()); |
|
|
|
group2.setId(UniqueIdGenerator.generate()); |
|
|
|
group2.setIndexCode(Pinyin4jUtil.getSpellPinYin(indexDictEntity.getIndexName(),false,4 )); |
|
|
|
|
|
|
|
indexGroupMap.put(groupMapKey, group2); |
|
|
|
//构建 分组明细
|
|
|
|
templateEntity = indexGroupDetailMap.get(level2Index); |
|
|
|
if (templateEntity == null) { |
|
|
|
buildIndexGroupDetail(indexDictEntity, index, group1, allIndexCodeSb.toString(), 2); |
|
|
|
templateEntity = new IndexGroupDetailTemplateEntity(); |
|
|
|
templateEntity.setIndexGroupId(group2.getId()); |
|
|
|
templateEntity.setIndexId(indexDictEntity.getId()); |
|
|
|
templateEntity.setAllParentIndexCode(allIndexCodeSb.toString()); |
|
|
|
templateEntity.setId(UniqueIdGenerator.generate()); |
|
|
|
buildIndexGroupDetail(templateEntity,indexDictEntity, index, group1, 2); |
|
|
|
indexGroupDetailMap.put(level2Index,templateEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
indexDictEntity = indexDicMap.get(index.getLevel5Index()); |
|
|
|
allIndexCodeSb.append(StrConstant.COLON); |
|
|
|
allIndexCodeSb.append(group2.getIndexCode()); |
|
|
|
templateEntity = indexGroupDetailMap.get(index.getLevel5Index()); |
|
|
|
templateEntity = indexGroupDetailMap.get(index.getLevel1Index()+index.getLevel5Index()); |
|
|
|
if (templateEntity == null) { |
|
|
|
buildIndexGroupDetail(indexDictEntity, index, group2, allIndexCodeSb.toString(), 5); |
|
|
|
templateEntity = new IndexGroupDetailTemplateEntity(); |
|
|
|
templateEntity.setIndexGroupId(group2.getId()); |
|
|
|
templateEntity.setIndexId(indexDictEntity.getId()); |
|
|
|
templateEntity.setAllParentIndexCode(allIndexCodeSb.toString()); |
|
|
|
templateEntity.setId(UniqueIdGenerator.generate()); |
|
|
|
|
|
|
|
buildIndexGroupDetail(templateEntity, indexDictEntity, index, group2, 5); |
|
|
|
indexGroupDetailMap.put(index.getLevel1Index()+index.getLevel5Index(),templateEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
//}
|
|
|
@ -199,24 +223,16 @@ public class IndexExcelDataListener extends AnalysisEventListener<IndexModel> { |
|
|
|
LOGGER.info("所有指标分组明细数据解析完成:{}", JSON.toJSONString(indexGroupDetailMap.values())); |
|
|
|
} |
|
|
|
|
|
|
|
private void buildIndexGroupDetail(IndexDictEntity indexDictEntity, IndexModel index, IndexGroupTemplateEntity parentGroup, String allIndexCode, Integer level) { |
|
|
|
IndexGroupDetailTemplateEntity templateEntity; |
|
|
|
templateEntity = new IndexGroupDetailTemplateEntity(); |
|
|
|
templateEntity.setIndexGroupId(parentGroup.getId()); |
|
|
|
templateEntity.setAllParentIndexCode(allIndexCode); |
|
|
|
templateEntity.setIndexId(indexDictEntity.getId()); |
|
|
|
|
|
|
|
private void buildIndexGroupDetail( IndexGroupDetailTemplateEntity templateEntity,IndexDictEntity indexDictEntity, IndexModel index, IndexGroupTemplateEntity parentGroup, Integer level) { |
|
|
|
if (level == 5) { |
|
|
|
templateEntity.setIndexCode(Pinyin4jUtil.getFirstSpellPinYin(index.getLevel5Index(),true)); |
|
|
|
templateEntity.setIndexCode(Pinyin4jUtil.getSpellPinYin(index.getLevel5Index(),false,4 )); |
|
|
|
String level5WeightStr = index.getLevel5Weight().replace("%", ""); |
|
|
|
templateEntity.setWeight(new BigDecimal(level5WeightStr).divide(new BigDecimal(100), 4, RoundingMode.HALF_UP)); |
|
|
|
indexGroupDetailMap.put(index.getLevel5Index(), templateEntity); |
|
|
|
} else { |
|
|
|
templateEntity.setIndexCode(Pinyin4jUtil.getFirstSpellPinYin(indexDictEntity.getIndexName(),true)); |
|
|
|
indexGroupDetailMap.put(indexDictEntity.getIndexName(), templateEntity); |
|
|
|
templateEntity.setIndexCode(Pinyin4jUtil.getSpellPinYin(indexDictEntity.getIndexName(),false,4 )); |
|
|
|
templateEntity.setWeight(new BigDecimal(index.getWeight()).divide(new BigDecimal(100), 4, RoundingMode.HALF_UP)); |
|
|
|
} |
|
|
|
templateEntity.setId(UniqueIdGenerator.generate()); |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(index.getThreshold())) { |
|
|
|
String thresholdStr = index.getThreshold().replace("%", ""); |
|
|
|
templateEntity.setThreshold(new BigDecimal(thresholdStr).divide(new BigDecimal(100), 4, RoundingMode.HALF_UP)); |
|
|
|