Procházet zdrojové kódy

调整知识库导入数据,增加层级

lijie před 3 roky
rodič
revize
4c7bfef523

+ 255 - 148
dmp-rwd-datautils/src/test/java/com/persagy/dmp/rwd/dic/ImportKnowledgeForEdit.java

@@ -1,5 +1,6 @@
 package com.persagy.dmp.rwd.dic;
 
+import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.common.criteria.JacksonCriteria;
@@ -61,9 +62,9 @@ public class ImportKnowledgeForEdit {
 //        writeFuncSqlToFile(classes, "material");
 //        classes.clear();
         // 省市区编号
-        initCityLocation(classes,"cityLocation","省市区编号");
-        writeFuncSqlToFile(classes, "cityLocation");
-        classes.clear();
+//        initCityLocation(classes,"cityLocation","省市区编号");
+//        writeFuncSqlToFile(classes, "cityLocation");
+//        classes.clear();
 //        // 气候分区
 //        initClimaticDivision(classes,"climaticDivision","气候分区");
 //        writeFuncSqlToFile(classes, "climaticDivision");
@@ -76,11 +77,11 @@ public class ImportKnowledgeForEdit {
 //        initGeographicalDivision(classes,"geographicalDivision","地理分区");
 //        writeFuncSqlToFile(classes, "geographicalDivision");
 //        classes.clear();
-//        // 城市发展水平
+////        // 城市发展水平
 //        initCityDevelopmentLevel(classes,"cityDevelopmentLevel","城市发展水平");
 //        writeFuncSqlToFile(classes, "cityDevelopmentLevel");
 //        classes.clear();
-//        // 天气状态
+        // 天气状态
 //        initWeatherConditions(classes,"weatherConditions","天气状态");
 //        writeFuncSqlToFile(classes, "weatherConditions");
 //        classes.clear();
@@ -132,58 +133,58 @@ public class ImportKnowledgeForEdit {
 //        initCommercialLeasingType(classes,"commercialLeasingType","商业租赁业态类型");
 //        writeFuncSqlToFile(classes, "commercialLeasingType");
 //        classes.clear();
-//        // 通用面积树
-//        initThreeLevelData(classes,"universalAreaTree","A0");
-//        writeFuncSqlToFile(classes, "universalAreaTree");
-//        classes.clear();
-//        // 商业综合体面积树
-//        initFourLevelData(classes,"businessSynthesisAreaTree","A1");
-//        writeFuncSqlToFile(classes, "businessSynthesisAreaTree");
-//        classes.clear();
-//        // 办公面积树
-//        initFourLevelData(classes,"officeSpaceTree","A2");
-//        writeFuncSqlToFile(classes, "officeSpaceTree");
-//        classes.clear();
-//        // 商场面积树
-//        initFourLevelData(classes,"shoppingMallAreaTree","A3");
-//        writeFuncSqlToFile(classes, "shoppingMallAreaTree");
-//        classes.clear();
-//        // 宾馆酒店面积树
-//        initFourLevelData(classes,"hotelAreaTree","A4");
-//        writeFuncSqlToFile(classes, "hotelAreaTree");
-//        classes.clear();
-//        // 医院面积树
-//        initFourLevelData(classes,"hospitalAreaTree","A5");
-//        writeFuncSqlToFile(classes, "hospitalAreaTree");
-//        classes.clear();
-//        // 学校面积树
-//        initFourLevelData(classes,"schoolAreaTree","A6");
-//        writeFuncSqlToFile(classes, "schoolAreaTree");
-//        classes.clear();
-//        // 通用分项树
-//        initSevenLevelData(classes,"generalSubTree","S0");
-//        writeFuncSqlToFile(classes, "generalSubTree");
-//        classes.clear();
-//        // 商业综合体分项树
-//        initFiveLevelData(classes,"businessSynthesisItemizedTree","S1");
-//        writeFuncSqlToFile(classes, "businessSynthesisItemizedTree");
-//        classes.clear();
-//        // 办公分项树
-//        initFiveLevelData(classes,"officeItemizedTree","S2");
-//        writeFuncSqlToFile(classes, "officeItemizedTree");
-//        classes.clear();
-//        // 商场分项树
-//        initFiveLevelData(classes,"shoppingMallItemTree","S3");
-//        writeFuncSqlToFile(classes, "shoppingMallItemTree");
-//        classes.clear();
-//        // 宾馆酒店分项树
-//        initFiveLevelData(classes,"hotelSubTree","S4");
-//        writeFuncSqlToFile(classes, "hotelSubTree");
-//        classes.clear();
-//        // 医院分项树
-//        initFiveLevelData(classes,"hospitalItemizedTree","S4");
-//        writeFuncSqlToFile(classes, "hospitalItemizedTree");
-//        classes.clear();
+        // 通用面积树
+        initThreeLevelData(classes,"universalAreaTree","A0");
+        writeFuncSqlToFile(classes, "universalAreaTree");
+        classes.clear();
+        // 商业综合体面积树
+        initFourLevelData(classes,"businessSynthesisAreaTree","A1");
+        writeFuncSqlToFile(classes, "businessSynthesisAreaTree");
+        classes.clear();
+        // 办公面积树
+        initFourLevelData(classes,"officeSpaceTree","A2");
+        writeFuncSqlToFile(classes, "officeSpaceTree");
+        classes.clear();
+        // 商场面积树
+        initFourLevelData(classes,"shoppingMallAreaTree","A3");
+        writeFuncSqlToFile(classes, "shoppingMallAreaTree");
+        classes.clear();
+        // 宾馆酒店面积树
+        initFourLevelData(classes,"hotelAreaTree","A4");
+        writeFuncSqlToFile(classes, "hotelAreaTree");
+        classes.clear();
+        // 医院面积树
+        initFourLevelData(classes,"hospitalAreaTree","A5");
+        writeFuncSqlToFile(classes, "hospitalAreaTree");
+        classes.clear();
+        // 学校面积树
+        initFourLevelData(classes,"schoolAreaTree","A6");
+        writeFuncSqlToFile(classes, "schoolAreaTree");
+        classes.clear();
+        // 通用分项树
+        initSevenLevelData(classes,"generalSubTree","S0");
+        writeFuncSqlToFile(classes, "generalSubTree");
+        classes.clear();
+        // 商业综合体分项树
+        initFiveLevelData(classes,"businessSynthesisItemizedTree","S1");
+        writeFuncSqlToFile(classes, "businessSynthesisItemizedTree");
+        classes.clear();
+        // 办公分项树
+        initFiveLevelData(classes,"officeItemizedTree","S2");
+        writeFuncSqlToFile(classes, "officeItemizedTree");
+        classes.clear();
+        // 商场分项树
+        initFiveLevelData(classes,"shoppingMallItemTree","S3");
+        writeFuncSqlToFile(classes, "shoppingMallItemTree");
+        classes.clear();
+        // 宾馆酒店分项树
+        initFiveLevelData(classes,"hotelSubTree","S4");
+        writeFuncSqlToFile(classes, "hotelSubTree");
+        classes.clear();
+        // 医院分项树
+        initFiveLevelData(classes,"hospitalItemizedTree","S4");
+        writeFuncSqlToFile(classes, "hospitalItemizedTree");
+        classes.clear();
 //        // 对象间关系
 //        initObjectRelation(classes,"objectRelation","新版");
 //        writeFuncSqlToFile(classes, "objectRelation");
@@ -458,22 +459,23 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.firstLevelName);
                 model.setParentCode("-9999");
                 model.setCodePath(refKey+"-"+target.firstLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.secondLevelCode)
                     && StringUtils.isBlank(target.thirdLevelCode)
                     && StringUtils.isBlank(target.fourthLevelCode)
                     && StringUtils.isBlank(target.fifthLevelCode)
                     && StringUtils.isBlank(target.sixthLevelCode)
                     && StringUtils.isBlank(target.seventhLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第一级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -490,21 +492,22 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.secondLevelName);
                 model.setParentCode(target.firstLevelCode);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.thirdLevelCode)
                         && StringUtils.isBlank(target.fourthLevelCode)
                         && StringUtils.isBlank(target.fifthLevelCode)
                         && StringUtils.isBlank(target.sixthLevelCode)
                         && StringUtils.isBlank(target.seventhLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第二级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -522,20 +525,21 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.thirdLevelName);
                 model.setParentCode(target.secondLevelCode);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode+"-"+target.thirdLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.fourthLevelCode)
                         && StringUtils.isBlank(target.fifthLevelCode)
                         && StringUtils.isBlank(target.sixthLevelCode)
                         && StringUtils.isBlank(target.seventhLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第三级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -555,19 +559,20 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.fourthLevelName);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode+"-"+target.thirdLevelCode+"-"+target.fourthLevelCode);
                 model.setParentCode(target.thirdLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.fifthLevelCode)
                         && StringUtils.isBlank(target.sixthLevelCode)
                         && StringUtils.isBlank(target.seventhLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第四级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -591,18 +596,19 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.fifthLevelName);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode+"-"+target.thirdLevelCode+"-"+target.fourthLevelCode+"-"+target.fifthLevelCode);
                 model.setParentCode(target.fourthLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.sixthLevelCode)
                         && StringUtils.isBlank(target.seventhLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第五级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -634,17 +640,18 @@ public class ImportKnowledgeForEdit {
                         +"-"+target.fifthLevelCode
                         +"-"+target.sixthLevelCode);
                 model.setParentCode(target.fifthLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.seventhLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第六级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -686,6 +693,7 @@ public class ImportKnowledgeForEdit {
                 if (StringUtils.isNotBlank(areaName)){
                     dataSource.put("areaName",areaName);
                 }
+                dataSource.put("levelName","第七级");
                 if (dataSource.size()>0){
                     model.setDataSource(dataSource);
                 }
@@ -804,20 +812,21 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.firstLevelName);
                 model.setParentCode("-9999");
                 model.setCodePath(refKey+"-"+target.firstLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.secondLevelCode)
                         && StringUtils.isBlank(target.thirdLevelCode)
                         && StringUtils.isBlank(target.fourthLevelCode)
                         && StringUtils.isBlank(target.fifthLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第一级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -834,19 +843,20 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.secondLevelName);
                 model.setParentCode(target.firstLevelCode);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.thirdLevelCode)
                         && StringUtils.isBlank(target.fourthLevelCode)
                         && StringUtils.isBlank(target.fifthLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第二级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -864,18 +874,19 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.thirdLevelName);
                 model.setParentCode(target.secondLevelCode);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode+"-"+target.thirdLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.fourthLevelCode)
                         && StringUtils.isBlank(target.fifthLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第三级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -895,17 +906,18 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.fourthLevelName);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode+"-"+target.thirdLevelCode+"-"+target.fourthLevelCode);
                 model.setParentCode(target.thirdLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.fifthLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(areaCode)){
                         dataSource.put("areaCode",areaCode);
                     }
                     if (StringUtils.isNotBlank(areaName)){
                         dataSource.put("areaName",areaName);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第四级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -936,6 +948,7 @@ public class ImportKnowledgeForEdit {
                 if (StringUtils.isNotBlank(areaName)){
                     dataSource.put("areaName",areaName);
                 }
+                dataSource.put("levelName","第五级");
                 if (dataSource.size()>0){
                     model.setDataSource(dataSource);
                 }
@@ -1031,6 +1044,9 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.firstLevelName);
                 model.setParentCode("-9999");
                 model.setCodePath(refKey+"-"+target.firstLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                dataSource.put("levelName","第一级");
+                model.setDataSource(dataSource);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
                 models.add(model);
@@ -1046,6 +1062,9 @@ public class ImportKnowledgeForEdit {
                 model.setCode(target.secondLevelCode);
                 model.setName(target.secondLevelName);
                 model.setParentCode(target.firstLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                dataSource.put("levelName","第二级");
+                model.setDataSource(dataSource);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -1062,6 +1081,9 @@ public class ImportKnowledgeForEdit {
                 model.setCode(target.thirdLevelCode);
                 model.setName(target.thirdLevelName);
                 model.setParentCode(target.secondLevelCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                dataSource.put("levelName","第三级");
+                model.setDataSource(dataSource);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode+"-"+target.thirdLevelCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
@@ -1079,6 +1101,9 @@ public class ImportKnowledgeForEdit {
                 model.setRefKey(refKey);
                 model.setCode(target.fourthLevelCode);
                 model.setName(target.fourthLevelName);
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                dataSource.put("levelName","第四级");
+                model.setDataSource(dataSource);
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode+"-"+target.thirdLevelCode+"-"+target.fourthLevelCode);
                 model.setParentCode(target.thirdLevelCode);
                 model.setCreateUser(CREATE_USER_ID);
@@ -1160,18 +1185,19 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.firstLevelCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.secondLevelCode)
                         && StringUtils.isBlank(target.thirdLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if(StringUtils.isNotBlank(remark)){
                         dataSource.put("remark",remark);
                     }
                     if (StringUtils.isNotBlank(configRequire)){
                         dataSource.put("configRequire",configRequire);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第一级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 models.add(model);
                 majorCodes.add(target.firstLevelCode);
@@ -1189,17 +1215,18 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.firstLevelCode+"-"+target.secondLevelCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.thirdLevelCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if(StringUtils.isNotBlank(remark)){
                         dataSource.put("remark",remark);
                     }
                     if (StringUtils.isNotBlank(configRequire)){
                         dataSource.put("configRequire",configRequire);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第二级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 models.add(model);
                 systemCodes.add(target.firstLevelCode+"-"+target.secondLevelCode);
@@ -1224,6 +1251,7 @@ public class ImportKnowledgeForEdit {
                 if (StringUtils.isNotBlank(configRequire)){
                     dataSource.put("configRequire",configRequire);
                 }
+                dataSource.put("levelName","第三级");
                 if (dataSource.size()>0){
                     model.setDataSource(dataSource);
                 }
@@ -1305,18 +1333,20 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.systemCode)
                         && StringUtils.isBlank(target.equipCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(typicalShops)){
                         dataSource.put("typicalShops",typicalShops);
                     }
                     if (StringUtils.isNotBlank(classificationReason)){
                         dataSource.put("classificationReason",classificationReason);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+
+                }
+                dataSource.put("levelName","第一级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 models.add(model);
                 majorCodes.add(target.majorCode);
@@ -1334,17 +1364,18 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.equipCode)){
-                    ObjectNode dataSource = objectMapper.createObjectNode();
                     if (StringUtils.isNotBlank(typicalShops)){
                         dataSource.put("typicalShops",typicalShops);
                     }
                     if (StringUtils.isNotBlank(classificationReason)){
                         dataSource.put("classificationReason",classificationReason);
                     }
-                    if (dataSource.size()>0){
-                        model.setDataSource(dataSource);
-                    }
+                }
+                dataSource.put("levelName","第二级");
+                if (dataSource.size()>0){
+                    model.setDataSource(dataSource);
                 }
                 models.add(model);
                 systemCodes.add(target.majorCode+"-"+target.systemCode);
@@ -1369,6 +1400,7 @@ public class ImportKnowledgeForEdit {
                 if (StringUtils.isNotBlank(classificationReason)){
                     dataSource.put("classificationReason",classificationReason);
                 }
+                dataSource.put("levelName","第三级");
                 if (dataSource.size()>0){
                     model.setDataSource(dataSource);
                 }
@@ -1410,7 +1442,13 @@ public class ImportKnowledgeForEdit {
             target.equipName = (String) ExcelUtils.parseCell(row.getCell(6), "string");//设备设施类名称
             target.componentCode = (String) ExcelUtils.parseCell(row.getCell(9), "string");//设备设施类编码
             target.componentName = (String) ExcelUtils.parseCell(row.getCell(8), "string");//设备设施类名称
-            target.extendName = (String) ExcelUtils.parseCell(row.getCell(0), "string");//设备设施类名称
+            target.extendName = (String) ExcelUtils.parseCell(row.getCell(1), "string");//设备设施类名称
+
+            if (target.extendName != null) {
+                cache.extendName = target.extendName;
+            } else {
+                target.extendName = cache.extendName;
+            }
 
             // 专业不为空
             if (target.majorCode != null) {
@@ -1461,12 +1499,15 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isNotBlank(target.extendName)
-                        && StringUtils.isBlank(target.systemCode)
+                        /*&& StringUtils.isBlank(target.systemCode)
                         && StringUtils.isBlank(target.equipCode)
-                        && StringUtils.isBlank(target.componentCode)){
-                    model.setDataSource(objectMapper.createObjectNode().put("classification",target.extendName));
+                        && StringUtils.isBlank(target.componentCode)*/){
+                    dataSource.put("classification",target.extendName);
                 }
+                dataSource.put("levelName","第一级");
+                model.setDataSource(dataSource);
                 models.add(model);
                 majorCodes.add(target.majorCode);
             }
@@ -1483,11 +1524,14 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isNotBlank(target.extendName)
-                        && StringUtils.isBlank(target.equipCode)
-                        && StringUtils.isBlank(target.componentCode)){
-                    model.setDataSource(objectMapper.createObjectNode().put("classification",target.extendName));
+                        /*&& StringUtils.isBlank(target.equipCode)
+                        && StringUtils.isBlank(target.componentCode)*/){
+                    dataSource.put("classification",target.extendName);
                 }
+                dataSource.put("levelName","第二级");
+                model.setDataSource(dataSource);
                 models.add(model);
                 systemCodes.add(target.majorCode+"-"+target.systemCode);
             }
@@ -1504,10 +1548,13 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode+"-"+target.equipCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isNotBlank(target.extendName)
-                        && StringUtils.isBlank(target.componentCode)){
-                    model.setDataSource(objectMapper.createObjectNode().put("classification",target.extendName));
+                       /* && StringUtils.isBlank(target.componentCode)*/){
+                    dataSource.put("classification",target.extendName);
                 }
+                dataSource.put("levelName","第三级");
+                model.setDataSource(dataSource);
                 models.add(model);
                 equipmentCodes.add(target.majorCode+"-"+target.systemCode+"-"+target.equipCode);
             }
@@ -1523,9 +1570,12 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode+"-"+target.equipCode+"-"+target.componentCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isNotBlank(target.extendName)){
-                    model.setDataSource(objectMapper.createObjectNode().put("classification",target.extendName));
+                    dataSource.put("classification",target.extendName);
                 }
+                dataSource.put("levelName","第四级");
+                model.setDataSource(dataSource);
                 models.add(model);
                 equipmentCodes.add(target.majorCode+"-"+target.systemCode+"-"+target.equipCode+"-"+target.componentCode);
             }
@@ -1595,9 +1645,12 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
-                if (StringUtils.isNotBlank(target.extendName) && StringUtils.isBlank(target.systemCode)){
-                    model.setDataSource(objectMapper.createObjectNode().put("classification",target.extendName));
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                if (StringUtils.isNotBlank(target.extendName)/* && StringUtils.isBlank(target.systemCode)*/){
+                    dataSource.put("classification",target.extendName);
                 }
+                dataSource.put("levelName","第一级");
+                model.setDataSource(dataSource);
                 models.add(model);
                 majorCodes.add(target.majorCode);
             }
@@ -1614,9 +1667,12 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isNotBlank(target.extendName)){
-                    model.setDataSource(objectMapper.createObjectNode().put("classification",target.extendName));
+                    dataSource.put("classification",target.extendName);
                 }
+                dataSource.put("levelName","第二级");
+                model.setDataSource(dataSource);
                 models.add(model);
                 systemCodes.add(target.majorCode+"-"+target.systemCode);
             }
@@ -1690,6 +1746,9 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.majorName);
                 model.setParentCode("-9999");
                 model.setCodePath(refKey+"-"+target.majorCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                dataSource.put("levelName","第一级");
+                model.setDataSource(dataSource);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
                 models.add(model);
@@ -1706,6 +1765,9 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.systemName);
                 model.setParentCode(target.majorCode);
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                dataSource.put("levelName","第二级");
+                model.setDataSource(dataSource);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
                 models.add(model);
@@ -1722,6 +1784,9 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.equipName);
                 model.setParentCode(target.systemCode);
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode+"-"+target.equipCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                dataSource.put("levelName","第三级");
+                model.setDataSource(dataSource);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
                 models.add(model);
@@ -2315,12 +2380,15 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.systemCode)
                         && StringUtils.isBlank(target.equipCode)
                         && StringUtils.isBlank(target.componentCode)
                         && StringUtils.isNotBlank(commentsOnForm)){
-                    model.setDataSource(objectMapper.createObjectNode().put("commentsOnForm",commentsOnForm));
+                    dataSource.put("commentsOnForm",commentsOnForm);
                 }
+                dataSource.put("levelName","第一级");
+                model.setDataSource(dataSource);
                 models.add(model);
                 majorCodes.add(target.majorCode);
             }
@@ -2335,11 +2403,14 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.systemName);
                 model.setParentCode(target.majorCode);
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.equipCode)
                         && StringUtils.isBlank(target.componentCode)
                         && StringUtils.isNotBlank(commentsOnForm)){
-                    model.setDataSource(objectMapper.createObjectNode().put("commentsOnForm",commentsOnForm));
+                    dataSource.put("commentsOnForm",commentsOnForm);
                 }
+                dataSource.put("levelName","第二级");
+                model.setDataSource(dataSource);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
                 models.add(model);
@@ -2355,10 +2426,13 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.equipName);
                 model.setParentCode(target.systemCode);
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode+"-"+target.equipCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.componentCode)
                         && StringUtils.isNotBlank(commentsOnForm)){
-                    model.setDataSource(objectMapper.createObjectNode().put("commentsOnForm",commentsOnForm));
+                    dataSource.put("commentsOnForm",commentsOnForm);
                 }
+                dataSource.put("levelName","第三级");
+                model.setDataSource(dataSource);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
                 models.add(model);
@@ -2374,9 +2448,12 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.componentName);
                 model.setParentCode(target.equipCode);
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode+"-"+target.equipCode+"-"+target.componentCode);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isNotBlank(commentsOnForm)){
-                    model.setDataSource(objectMapper.createObjectNode().put("commentsOnForm",commentsOnForm));
+                    dataSource.put("commentsOnForm",commentsOnForm);
                 }
+                dataSource.put("levelName","第四级");
+                model.setDataSource(dataSource);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
                 models.add(model);
@@ -2441,9 +2518,12 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.systemCode) && StringUtils.isNotBlank(inclusion)){
-                    model.setDataSource(objectMapper.createObjectNode().put("inclusion",inclusion));
+                    dataSource.put("inclusion",inclusion);
                 }
+                dataSource.put("levelName","第一级");
+                model.setDataSource(dataSource);
                 models.add(model);
                 majorCodes.add(target.majorCode);
             }
@@ -2456,7 +2536,12 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.systemName);
                 model.setParentCode(target.majorCode);
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode);
-                model.setDataSource(objectMapper.createObjectNode().put("inclusion",inclusion));
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                if (StringUtils.isNotBlank(inclusion)){
+                    dataSource.put("inclusion",inclusion);
+                }
+                dataSource.put("levelName","第二级");
+                model.setDataSource(dataSource);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
                 models.add(model);
@@ -2569,9 +2654,12 @@ public class ImportKnowledgeForEdit {
                 model.setCodePath(refKey+"-"+target.majorCode);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
+                ObjectNode dataSource = objectMapper.createObjectNode();
                 if (StringUtils.isBlank(target.systemCode) && StringUtils.isNotBlank(describe)){
-                    model.setDataSource(objectMapper.createObjectNode().put("zoningBasis",describe));
+                    dataSource.put("zoningBasis",describe);
                 }
+                dataSource.put("levelName","第一级");
+                model.setDataSource(dataSource);
                 models.add(model);
                 majorCodes.add(target.majorCode);
             }
@@ -2584,7 +2672,12 @@ public class ImportKnowledgeForEdit {
                 model.setName(target.systemName);
                 model.setParentCode(target.majorCode);
                 model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode);
-                model.setDataSource(objectMapper.createObjectNode().put("zoningBasis",describe));
+                ObjectNode dataSource = objectMapper.createObjectNode();
+                if (StringUtils.isNotBlank(describe)){
+                    dataSource.put("zoningBasis",describe);
+                }
+                dataSource.put("levelName","第二级");
+                model.setDataSource(dataSource);
                 model.setCreateUser(CREATE_USER_ID);
                 model.setUpdateUser(UPDATE_USER_ID);
                 models.add(model);
@@ -2633,12 +2726,23 @@ public class ImportKnowledgeForEdit {
             model.setName(name);
             model.setParentCode(cache.equipCode);
             model.setCodePath(refKey+"-"+cache.systemCode+"-"+cache.equipCode+"-"+code);
+            if (StringUtils.isNotBlank(climaticDivisionCode)){
+                cache.climaticDivisionCode = climaticDivisionCode;
+            }
+            ObjectNode objectNode = objectMapper.createObjectNode()
+                    .put("altitude", altitude)
+                    .put("latitude", latitude)
+                    .put("longitude", longitude)
+                    .put("climaticDivisionCode", cache.climaticDivisionCode)
+                    .put("cityDevelopmentLevelCode", cityDevelopmentLevelCode);
+            objectNode.put("levelName","第三级");
             if ("00".equals(cityCode) && "00".equals(areaCode)){
                 // 省
                 cache.systemCode = code;
                 cache.systemName = name;
                 model.setParentCode("-9999");
                 model.setCodePath(refKey+"-"+code);
+                objectNode.put("levelName","第一级");
             }
             if (!"00".equals(cityCode) && "00".equals(areaCode)){
                 // 市
@@ -2646,16 +2750,8 @@ public class ImportKnowledgeForEdit {
                 cache.equipName = name;
                 model.setParentCode(cache.systemCode);
                 model.setCodePath(refKey+"-"+cache.systemCode+"-"+code);
+                objectNode.put("levelName","第二级");
             }
-            if (StringUtils.isNotBlank(climaticDivisionCode)){
-                cache.climaticDivisionCode = climaticDivisionCode;
-            }
-            ObjectNode objectNode = objectMapper.createObjectNode()
-                    .put("altitude", altitude)
-                    .put("latitude", latitude)
-                    .put("longitude", longitude)
-                    .put("climaticDivisionCode", cache.climaticDivisionCode)
-                    .put("cityDevelopmentLevelCode", cityDevelopmentLevelCode);
             model.setDataSource(objectNode);
             model.setCreateUser(CREATE_USER_ID);
             model.setUpdateUser(UPDATE_USER_ID);
@@ -2772,8 +2868,10 @@ public class ImportKnowledgeForEdit {
                 cache.systemEnglishName = target.systemEnglishName;
                 cache.systemName = target.systemName;
                 cache.equipCode = null;
+                cache.equipEnglishName = null;
                 cache.equipName = null;
                 cache.componentCode = null;
+                cache.componentEnglishName = null;
                 cache.componentName = null;
             } else {
                 target.systemCode = cache.systemCode;
@@ -2786,6 +2884,7 @@ public class ImportKnowledgeForEdit {
                 cache.equipEnglishName = target.equipEnglishName;
                 cache.equipName = target.equipName;
                 cache.componentCode = null;
+                cache.componentEnglishName = null;
                 cache.componentName = null;
             } else {
                 target.equipCode = cache.equipCode;
@@ -2807,12 +2906,14 @@ public class ImportKnowledgeForEdit {
             object.equipCode = target.majorCode + target.equipCode;
             object.equipName = target.equipName;
             object.equipEnglishName = target.equipEnglishName;
-            object.componentCode = target.componentCode;
+            object.componentCode = StrUtil.isBlankIfStr(target.componentCode)?"":target.majorCode + target.componentCode;
             object.componentName = target.componentName;
             object.componentEnglishName = target.componentEnglishName;
 
             // 判断专业是否存在
-            if (!majorCodes.contains(object.majorCode)) {
+            if (StrUtil.isNotBlank(object.majorCode)
+                    && StrUtil.isNotBlank(object.majorName)
+                    && !majorCodes.contains(object.majorCode)) {
                 RwdeditRefTypeInfosModel model = new RwdeditRefTypeInfosModel();
                 model.setRefKey(refKey);
                 model.setCode(object.majorCode);
@@ -2829,7 +2930,9 @@ public class ImportKnowledgeForEdit {
             }
 
             // 判断系统是否存在
-            if (!systemCodes.contains(object.systemCode)) {
+            if (StrUtil.isNotBlank(object.systemCode)
+                    && StrUtil.isNotBlank(object.systemName)
+                    && !systemCodes.contains(object.systemCode)) {
                 RwdeditRefTypeInfosModel model = new RwdeditRefTypeInfosModel();
                 model.setRefKey(refKey);
                 model.setCode(object.systemCode);
@@ -2846,7 +2949,9 @@ public class ImportKnowledgeForEdit {
             }
 
             // 判断设备是否存在
-            if (!equipmentCodes.contains(object.equipCode)) {
+            if (StrUtil.isNotBlank(object.equipCode)
+                    && StrUtil.isNotBlank(object.equipName)
+                    && !equipmentCodes.contains(object.equipCode)) {
                 RwdeditRefTypeInfosModel model = new RwdeditRefTypeInfosModel();
                 model.setRefKey(refKey);
                 model.setCode(object.equipCode);
@@ -2862,7 +2967,9 @@ public class ImportKnowledgeForEdit {
                 equipmentCodes.add(object.equipCode);
             }
             // 部件不为空
-            if (object.componentCode != null) {
+            if (StrUtil.isNotBlank(object.componentCode)
+                    && StrUtil.isNotBlank(object.componentName)
+                    && object.componentCode != null) {
                 RwdeditRefTypeInfosModel model = new RwdeditRefTypeInfosModel();
                 model.setRefKey(refKey);
                 model.setCode(object.componentCode);