|
@@ -8,6 +8,7 @@ import com.persagy.dmp.rwd.enums.ObjType;
|
|
|
import com.persagy.dmp.rwd.model.ClassDefModel;
|
|
|
import com.persagy.dmp.rwd.model.RwdeditRefTypeInfosModel;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang.StringEscapeUtils;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
|
import org.apache.poi.ss.usermodel.Sheet;
|
|
@@ -182,6 +183,135 @@ public class ImportKnowledgeForEdit {
|
|
|
initFiveLevelData(classes,"hospitalItemizedTree","S4");
|
|
|
writeFuncSqlToFile(classes, "hospitalItemizedTree");
|
|
|
classes.clear();
|
|
|
+
|
|
|
+ initObjectRelation(classes,"objectRelation","新版");
|
|
|
+ writeFuncSqlToFile(classes, "objectRelation");
|
|
|
+ classes.clear();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initObjectRelation(List<RwdeditRefTypeInfosModel> models,String refKey,String sheetName) throws IOException {
|
|
|
+ String classFile = basepath + "/附表3-对象间关系.xlsx";
|
|
|
+ FileInputStream inputStream = new FileInputStream(classFile);
|
|
|
+ Workbook workbook = new XSSFWorkbook(inputStream);
|
|
|
+ Sheet sheet = workbook.getSheet(sheetName);
|
|
|
+ if (sheet == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Set<String> systemCodes = new HashSet<>();
|
|
|
+ Set<String> majorCodes = new HashSet<>();
|
|
|
+ Set<String> equipmentCodes = new HashSet<>();
|
|
|
+ int startRowNum = 1;
|
|
|
+ int lastRowNum = sheet.getLastRowNum();
|
|
|
+ CacheModel cache = new CacheModel();
|
|
|
+ for (int rowIndex = startRowNum; rowIndex <= lastRowNum; rowIndex++) {
|
|
|
+ Row row = sheet.getRow(rowIndex);
|
|
|
+ if (row == null) {
|
|
|
+ log.info("row[{}] is null", rowIndex);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ CacheModel target = new CacheModel();
|
|
|
+ target.firstLevelName = (String) ExcelUtils.parseCell(row.getCell(0), "string");
|
|
|
+ target.secondLevelName = (String) ExcelUtils.parseCell(row.getCell(1), "string");
|
|
|
+ target.thirdLevelCode = (String) ExcelUtils.parseCell(row.getCell(2), "string");
|
|
|
+ target.thirdLevelName = (String) ExcelUtils.parseCell(row.getCell(3), "string");
|
|
|
+ target.fourthLevelCode = (String) ExcelUtils.parseCell(row.getCell(4), "string");
|
|
|
+ target.fourthLevelName = (String) ExcelUtils.parseCell(row.getCell(5), "string");
|
|
|
+ String edgeDirectivity= (String) ExcelUtils.parseCell(row.getCell(6), "string");
|
|
|
+ String propertyDirectivity = (String) ExcelUtils.parseCell(row.getCell(7), "string");
|
|
|
+ String mainObjRelation = (String) ExcelUtils.parseCell(row.getCell(8), "string");
|
|
|
+ String remark = (String) ExcelUtils.parseCell(row.getCell(9), "string");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (target.firstLevelName != null) {
|
|
|
+ cache.firstLevelName = target.firstLevelName;
|
|
|
+ cache.secondLevelCode = null;
|
|
|
+ cache.secondLevelName = null;
|
|
|
+ cache.thirdLevelCode = null;
|
|
|
+ cache.thirdLevelName = null;
|
|
|
+ cache.fourthLevelCode = null;
|
|
|
+ cache.fourthLevelName = null;
|
|
|
+ } else {
|
|
|
+ target.firstLevelName = cache.firstLevelName;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (target.secondLevelName != null) {
|
|
|
+ cache.secondLevelName = target.secondLevelName;
|
|
|
+ cache.thirdLevelCode = null;
|
|
|
+ cache.thirdLevelName = null;
|
|
|
+ cache.fourthLevelCode = null;
|
|
|
+ cache.fourthLevelName = null;
|
|
|
+ } else {
|
|
|
+ target.secondLevelName = cache.secondLevelName;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (target.thirdLevelCode != null) {
|
|
|
+ cache.thirdLevelCode = target.thirdLevelCode;
|
|
|
+ cache.thirdLevelName = target.thirdLevelName;
|
|
|
+ cache.fourthLevelCode = null;
|
|
|
+ cache.fourthLevelName = null;
|
|
|
+ } else {
|
|
|
+ target.thirdLevelCode = cache.thirdLevelCode;
|
|
|
+ target.thirdLevelName = cache.thirdLevelName;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(target.thirdLevelCode)
|
|
|
+ && StringUtils.isNotBlank(target.thirdLevelName)
|
|
|
+ && !equipmentCodes.contains(target.thirdLevelCode)) {
|
|
|
+ RwdeditRefTypeInfosModel model = new RwdeditRefTypeInfosModel();
|
|
|
+ model.setRefKey(refKey);
|
|
|
+ model.setCode(target.thirdLevelCode);
|
|
|
+ model.setName(target.thirdLevelName);
|
|
|
+ model.setParentCode("-9999");
|
|
|
+ model.setCodePath(refKey+"-"+target.thirdLevelCode);
|
|
|
+ ObjectNode dataSource = objectMapper.createObjectNode();
|
|
|
+ dataSource.put("imageClassification",target.secondLevelName);
|
|
|
+ dataSource.put("relationshipObjectCategory",target.firstLevelName);
|
|
|
+ dataSource.put("levelName","图");
|
|
|
+ model.setDataSource(dataSource);
|
|
|
+ model.setCreateUser(CREATE_USER_ID);
|
|
|
+ model.setUpdateUser(UPDATE_USER_ID);
|
|
|
+ models.add(model);
|
|
|
+ equipmentCodes.add(target.thirdLevelCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(target.fourthLevelCode)
|
|
|
+ && StringUtils.isNotBlank(target.fourthLevelName)
|
|
|
+ && !equipmentCodes.contains(target.thirdLevelCode
|
|
|
+ +"-"+target.fourthLevelCode)) {
|
|
|
+ RwdeditRefTypeInfosModel model = new RwdeditRefTypeInfosModel();
|
|
|
+ model.setRefKey(refKey);
|
|
|
+ model.setCode(target.fourthLevelCode);
|
|
|
+ model.setName(target.fourthLevelName);
|
|
|
+ model.setCodePath(refKey+"-"+target.thirdLevelCode+"-"+target.fourthLevelCode);
|
|
|
+ model.setParentCode(target.thirdLevelCode);
|
|
|
+ ObjectNode dataSource = objectMapper.createObjectNode();
|
|
|
+ dataSource.put("relationshipObjectCategory",target.firstLevelName);
|
|
|
+ dataSource.put("levelName","边");
|
|
|
+ if (StringUtils.isNotBlank(edgeDirectivity)){
|
|
|
+ dataSource.put("edgeDirectivity",edgeDirectivity);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(propertyDirectivity)){
|
|
|
+ dataSource.put("propertyDirectivity",propertyDirectivity);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(mainObjRelation)){
|
|
|
+ dataSource.put("mainObjRelation",mainObjRelation);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(remark)){
|
|
|
+ dataSource.put("remark",remark);
|
|
|
+ }
|
|
|
+ model.setDataSource(dataSource);
|
|
|
+ model.setCreateUser(CREATE_USER_ID);
|
|
|
+ model.setUpdateUser(UPDATE_USER_ID);
|
|
|
+ models.add(model);
|
|
|
+ equipmentCodes.add(target.thirdLevelCode
|
|
|
+ +"-"+target.fourthLevelCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void initSevenLevelData(List<RwdeditRefTypeInfosModel> models,String refKey,String sheetName) throws IOException {
|
|
@@ -2572,39 +2702,6 @@ public class ImportKnowledgeForEdit {
|
|
|
return sb.toString();
|
|
|
}
|
|
|
|
|
|
- private void initBaseClass(List<ClassDefModel> classes) {
|
|
|
- classes.add(prepareModel("project", "project", "项目", null, null, null));
|
|
|
- classes.add(prepareModel("building", "building", "建筑", null, null, null));
|
|
|
- classes.add(prepareModel("floor", "floor", "楼层", null, null, null));
|
|
|
- classes.add(prepareModel("space", "space", "空间", null, null, null));
|
|
|
- classes.add(prepareModel("system", "system", "系统", null, null, null));
|
|
|
- classes.add(prepareModel("equipment", "equipment", "设备", null, null, null));
|
|
|
- classes.add(prepareModel("component", "component", "部件", null, null, null));
|
|
|
- classes.add(prepareModel("shaft", "shaft", "竖井", null, null, null));
|
|
|
- classes.add(prepareModel("virtual", "virtual", "虚拟对象", null, null, null));
|
|
|
- classes.add(prepareModel("tool", "tool", "工具", null, null, null));
|
|
|
- classes.add(prepareModel("material", "material", "耗材", null, null, null));
|
|
|
- }
|
|
|
-
|
|
|
- private void initSpace(List<ClassDefModel> classes) {
|
|
|
- classes.add(prepareModel("space", "GeneralZone", "物业分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "PowerSupplyZone", "供电分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "LightingZone", "照明分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "NetworkZone", "网络分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "AirConditioningZone", "空调分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "HeatingZone", "采暖分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "CleanZone", "洁净分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "DomesticWaterSupplyZone", "生活给水分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "FireZone", "防火分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "SecurityZone", "安防分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "TenantZone", "租户分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "FunctionZone", "功能分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "PassengerFlowZone", "客流分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "OtherZone", "其他分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "EvacuateZone", "疏散分区", "space", null, null));
|
|
|
- classes.add(prepareModel("space", "EnvironmentZone", "环境分区", "space", null, null));
|
|
|
- }
|
|
|
-
|
|
|
private void initEquipment(List<RwdeditRefTypeInfosModel> models,String refKey) throws IOException {
|
|
|
String classFile = basepath + "/附表1-机电精装类对象分类体系.xlsx";
|
|
|
String sheetName = "系统设备部件类";
|
|
@@ -2715,7 +2812,9 @@ public class ImportKnowledgeForEdit {
|
|
|
model.setCodePath(refKey+"-"+target.majorCode);
|
|
|
model.setCreateUser(CREATE_USER_ID);
|
|
|
model.setUpdateUser(UPDATE_USER_ID);
|
|
|
- model.setDataSource(objectMapper.createObjectNode().put("englishName",object.majorEnglishName));
|
|
|
+ ObjectNode dataSource = objectMapper.createObjectNode().put("englishName", object.majorEnglishName);
|
|
|
+ dataSource.put("levelName","专业");
|
|
|
+ model.setDataSource(dataSource);
|
|
|
models.add(model);
|
|
|
majorCodes.add(object.majorCode);
|
|
|
}
|
|
@@ -2728,7 +2827,9 @@ public class ImportKnowledgeForEdit {
|
|
|
model.setName(object.systemName);
|
|
|
model.setParentCode(object.majorCode);
|
|
|
model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode);
|
|
|
- model.setDataSource(objectMapper.createObjectNode().put("englishName",object.systemEnglishName));
|
|
|
+ ObjectNode dataSource = objectMapper.createObjectNode().put("englishName", object.systemEnglishName);
|
|
|
+ dataSource.put("levelName","系统");
|
|
|
+ model.setDataSource(dataSource);
|
|
|
model.setCreateUser(CREATE_USER_ID);
|
|
|
model.setUpdateUser(UPDATE_USER_ID);
|
|
|
models.add(model);
|
|
@@ -2743,7 +2844,9 @@ public class ImportKnowledgeForEdit {
|
|
|
model.setName(object.equipName);
|
|
|
model.setParentCode(object.systemCode);
|
|
|
model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode+"-"+target.equipCode);
|
|
|
- model.setDataSource(objectMapper.createObjectNode().put("englishName",object.equipEnglishName));
|
|
|
+ ObjectNode dataSource = objectMapper.createObjectNode().put("englishName", object.equipEnglishName);
|
|
|
+ dataSource.put("levelName","设备");
|
|
|
+ model.setDataSource(dataSource);
|
|
|
model.setCreateUser(CREATE_USER_ID);
|
|
|
model.setUpdateUser(UPDATE_USER_ID);
|
|
|
models.add(model);
|
|
@@ -2757,7 +2860,9 @@ public class ImportKnowledgeForEdit {
|
|
|
model.setName(object.componentName);
|
|
|
model.setParentCode(object.equipCode);
|
|
|
model.setCodePath(refKey+"-"+target.majorCode+"-"+target.systemCode+"-"+target.equipCode+"-"+target.componentCode);
|
|
|
- model.setDataSource(objectMapper.createObjectNode().put("englishName",object.componentEnglishName));
|
|
|
+ ObjectNode dataSource = objectMapper.createObjectNode().put("englishName", object.componentEnglishName);
|
|
|
+ dataSource.put("levelName","部件");
|
|
|
+ model.setDataSource(dataSource);
|
|
|
model.setCreateUser(CREATE_USER_ID);
|
|
|
model.setUpdateUser(UPDATE_USER_ID);
|
|
|
models.add(model);
|
|
@@ -2765,18 +2870,6 @@ public class ImportKnowledgeForEdit {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void initVirtual(List<ClassDefModel> classes) {
|
|
|
- classes.add(prepareModel("virtual", "VOEm", "能耗模型", "virtual", null, null));
|
|
|
- classes.add(prepareModel("virtual", "VOSe", "分项", "virtual", null, null));
|
|
|
-
|
|
|
- classes.add(prepareModel("virtual", "VOBc", "信标", "virtual", null, null));
|
|
|
- classes.add(prepareModel("virtual", "VOTn", "租户", "virtual", null, null));
|
|
|
- classes.add(prepareModel("virtual", "VOWs", "工作历", "virtual", null, null));
|
|
|
- classes.add(prepareModel("virtual", "VoBl", "集团", "virtual", null, null));
|
|
|
- classes.add(prepareModel("virtual", "VOZn", "空间组合", "virtual", null, null));
|
|
|
- classes.add(prepareModel("virtual", "VOGp", "设备设施组合", "virtual", null, null));
|
|
|
- }
|
|
|
-
|
|
|
private void initToolOrMaterial(List<RwdeditRefTypeInfosModel> classes,String refKey,String sheetName) throws IOException {
|
|
|
String classFile = basepath + "/附表2-耗材工具类对象分类体系.xlsx";
|
|
|
FileInputStream inputStream = new FileInputStream(classFile);
|
|
@@ -2862,7 +2955,9 @@ public class ImportKnowledgeForEdit {
|
|
|
model.setCodePath(refKey+"-"+target.systemCode);
|
|
|
model.setUpdateUser(UPDATE_USER_ID);
|
|
|
model.setCreateUser(CREATE_USER_ID);
|
|
|
- model.setDataSource(objectMapper.createObjectNode().put("englishName",object.systemEnglishName));
|
|
|
+ ObjectNode dataSource = objectMapper.createObjectNode().put("englishName", object.systemEnglishName);
|
|
|
+ dataSource.put("levelName","第一级");
|
|
|
+ model.setDataSource(dataSource);
|
|
|
classes.add(model);
|
|
|
}
|
|
|
|
|
@@ -2877,7 +2972,9 @@ public class ImportKnowledgeForEdit {
|
|
|
model.setCodePath(refKey+"-"+target.systemCode+"-"+target.equipCode);
|
|
|
model.setUpdateUser(UPDATE_USER_ID);
|
|
|
model.setCreateUser(CREATE_USER_ID);
|
|
|
- model.setDataSource(objectMapper.createObjectNode().put("englishName",object.equipEnglishName));
|
|
|
+ ObjectNode dataSource = objectMapper.createObjectNode().put("englishName", object.equipEnglishName);
|
|
|
+ dataSource.put("levelName","第二级");
|
|
|
+ model.setDataSource(dataSource);
|
|
|
classes.add(model);
|
|
|
}
|
|
|
|
|
@@ -2891,7 +2988,9 @@ public class ImportKnowledgeForEdit {
|
|
|
model.setCodePath(refKey+"-"+target.systemCode+"-"+target.equipCode+"-"+target.componentCode);
|
|
|
model.setUpdateUser(UPDATE_USER_ID);
|
|
|
model.setCreateUser(CREATE_USER_ID);
|
|
|
- model.setDataSource(objectMapper.createObjectNode().put("englishName",object.componentEnglishName));
|
|
|
+ ObjectNode dataSource = objectMapper.createObjectNode().put("englishName", object.componentEnglishName);
|
|
|
+ dataSource.put("levelName","第三级");
|
|
|
+ model.setDataSource(dataSource);
|
|
|
classes.add(model);
|
|
|
}
|
|
|
}
|