|  |  | @ -3,6 +3,7 @@ package com.epmet.model; | 
			
		
	
		
			
				
					|  |  |  | import com.alibaba.excel.context.AnalysisContext; | 
			
		
	
		
			
				
					|  |  |  | import com.alibaba.excel.event.AnalysisEventListener; | 
			
		
	
		
			
				
					|  |  |  | import com.alibaba.fastjson.JSON; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.constant.StrConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.UniqueIdGenerator; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.entity.screen.IndexDictEntity; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.entity.screen.IndexGroupDetailTemplateEntity; | 
			
		
	
	
		
			
				
					|  |  | @ -122,7 +123,7 @@ public class IndexExcelDataListener extends AnalysisEventListener<IndexModel> { | 
			
		
	
		
			
				
					|  |  |  |                     group1.setIndexCode(Pinyin4jUtil.getFirstSpellPinYin(indexDictEntity.getIndexName(),true)); | 
			
		
	
		
			
				
					|  |  |  |                     indexGroupMap.put(index.getLevel1Index(), group1); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 StringBuilder allIndexCodeSb = new StringBuilder(group1.getIndexCode()); | 
			
		
	
		
			
				
					|  |  |  |                 String level4Index = index.getLevel4Index(); | 
			
		
	
		
			
				
					|  |  |  |                 indexDictEntity = indexDicMap.get(level4Index); | 
			
		
	
		
			
				
					|  |  |  |                 String level2GroupId = UniqueIdGenerator.generate(); | 
			
		
	
	
		
			
				
					|  |  | @ -139,14 +140,16 @@ public class IndexExcelDataListener extends AnalysisEventListener<IndexModel> { | 
			
		
	
		
			
				
					|  |  |  |                     //构建 分组明细
 | 
			
		
	
		
			
				
					|  |  |  |                     templateEntity = indexGroupDetailMap.get(level4Index); | 
			
		
	
		
			
				
					|  |  |  |                     if (templateEntity == null) { | 
			
		
	
		
			
				
					|  |  |  |                         buildIndexGroupDetail(indexDictEntity, index, group1.getId(), 2); | 
			
		
	
		
			
				
					|  |  |  |                         buildIndexGroupDetail(indexDictEntity, index, group1, allIndexCodeSb.toString(), 2); | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |                 indexDictEntity = indexDicMap.get(index.getLevel5Index()); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 allIndexCodeSb.append(StrConstant.COLON); | 
			
		
	
		
			
				
					|  |  |  |                 allIndexCodeSb.append(group2.getIndexCode()); | 
			
		
	
		
			
				
					|  |  |  |                 templateEntity = indexGroupDetailMap.get(index.getLevel5Index()); | 
			
		
	
		
			
				
					|  |  |  |                 if (templateEntity == null) { | 
			
		
	
		
			
				
					|  |  |  |                     buildIndexGroupDetail(indexDictEntity, index, group2.getId(), 5); | 
			
		
	
		
			
				
					|  |  |  |                     buildIndexGroupDetail(indexDictEntity, index, group2, allIndexCodeSb.toString(), 5); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |             } else { | 
			
		
	
		
			
				
					|  |  |  |                 //todo  测试完去掉
 | 
			
		
	
	
		
			
				
					|  |  | @ -162,7 +165,7 @@ public class IndexExcelDataListener extends AnalysisEventListener<IndexModel> { | 
			
		
	
		
			
				
					|  |  |  |                     group1.setIndexCode(Pinyin4jUtil.getFirstSpellPinYin(indexDictEntity.getIndexName(),true)); | 
			
		
	
		
			
				
					|  |  |  |                     indexGroupMap.put(index.getLevel1Index(), group1); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 StringBuilder allIndexCodeSb = new StringBuilder(group1.getIndexCode()); | 
			
		
	
		
			
				
					|  |  |  |                 String level2Index = index.getLevel2Index(); | 
			
		
	
		
			
				
					|  |  |  |                 indexDictEntity = indexDicMap.get(level2Index); | 
			
		
	
		
			
				
					|  |  |  |                 String level2GroupId = UniqueIdGenerator.generate(); | 
			
		
	
	
		
			
				
					|  |  | @ -179,14 +182,15 @@ public class IndexExcelDataListener extends AnalysisEventListener<IndexModel> { | 
			
		
	
		
			
				
					|  |  |  |                     //构建 分组明细
 | 
			
		
	
		
			
				
					|  |  |  |                     templateEntity = indexGroupDetailMap.get(level2Index); | 
			
		
	
		
			
				
					|  |  |  |                     if (templateEntity == null) { | 
			
		
	
		
			
				
					|  |  |  |                         buildIndexGroupDetail(indexDictEntity, index, group1.getId(), 2); | 
			
		
	
		
			
				
					|  |  |  |                         buildIndexGroupDetail(indexDictEntity, index, group1, allIndexCodeSb.toString(), 2); | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |                 indexDictEntity = indexDicMap.get(index.getLevel5Index()); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 allIndexCodeSb.append(StrConstant.COLON); | 
			
		
	
		
			
				
					|  |  |  |                 allIndexCodeSb.append(group2.getIndexCode()); | 
			
		
	
		
			
				
					|  |  |  |                 templateEntity = indexGroupDetailMap.get(index.getLevel5Index()); | 
			
		
	
		
			
				
					|  |  |  |                 if (templateEntity == null) { | 
			
		
	
		
			
				
					|  |  |  |                     buildIndexGroupDetail(indexDictEntity, index, group2.getId(), 5); | 
			
		
	
		
			
				
					|  |  |  |                     buildIndexGroupDetail(indexDictEntity, index, group2, allIndexCodeSb.toString(), 5); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |             //}
 | 
			
		
	
	
		
			
				
					|  |  | @ -195,10 +199,11 @@ public class IndexExcelDataListener extends AnalysisEventListener<IndexModel> { | 
			
		
	
		
			
				
					|  |  |  |         LOGGER.info("所有指标分组明细数据解析完成:{}", JSON.toJSONString(indexGroupDetailMap.values())); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     private void buildIndexGroupDetail(IndexDictEntity indexDictEntity, IndexModel index, String groupId, Integer level) { | 
			
		
	
		
			
				
					|  |  |  |     private void buildIndexGroupDetail(IndexDictEntity indexDictEntity, IndexModel index, IndexGroupTemplateEntity parentGroup, String allIndexCode, Integer level) { | 
			
		
	
		
			
				
					|  |  |  |         IndexGroupDetailTemplateEntity templateEntity; | 
			
		
	
		
			
				
					|  |  |  |         templateEntity = new IndexGroupDetailTemplateEntity(); | 
			
		
	
		
			
				
					|  |  |  |         templateEntity.setIndexGroupId(groupId); | 
			
		
	
		
			
				
					|  |  |  |         templateEntity.setIndexGroupId(parentGroup.getId()); | 
			
		
	
		
			
				
					|  |  |  |         templateEntity.setAllParentIndexCode(allIndexCode); | 
			
		
	
		
			
				
					|  |  |  |         templateEntity.setIndexId(indexDictEntity.getId()); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         if (level == 5) { | 
			
		
	
	
		
			
				
					|  |  | 
 |