|
@@ -0,0 +1,518 @@
|
|
|
+package com.persagy.dmp.rwd.dic;
|
|
|
+
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
+import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
|
+import com.persagy.common.date.DateUtils;
|
|
|
+import com.persagy.common.json.JacksonMapper;
|
|
|
+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.StringUtils;
|
|
|
+import org.apache.poi.ss.usermodel.Row;
|
|
|
+import org.apache.poi.ss.usermodel.Sheet;
|
|
|
+import org.apache.poi.ss.usermodel.Workbook;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
+import org.junit.Test;
|
|
|
+
|
|
|
+import java.io.*;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 导入类型定义
|
|
|
+ *
|
|
|
+ * @author: yaoll
|
|
|
+ * @date: 2020-11-30
|
|
|
+ * @verison: 1.0
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+public class ImportKnowledgeForEdit {
|
|
|
+
|
|
|
+ private String basepath = "D:\\资料\\工作资料\\原型图\\数据中台\\数据字典数据";
|
|
|
+
|
|
|
+ private String outPath = "D:/资料/工作资料/原型图/数据中台/out/ref-infos-" + DateUtils.format(new Date()) + ".dml.sql";
|
|
|
+
|
|
|
+ private final static Integer CREATE_USER_ID=0;
|
|
|
+ private final static Integer UPDATE_USER_ID=0;
|
|
|
+ private final static ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void importClassData() throws Exception {
|
|
|
+
|
|
|
+// // 所有类型
|
|
|
+ List<RwdeditRefTypeInfosModel> classes = new ArrayList<>();
|
|
|
+
|
|
|
+ // 顶级类型
|
|
|
+ // initBaseClass(classes);
|
|
|
+ // 空间分区
|
|
|
+ // initSpace(classes);
|
|
|
+// // 专业\系统\设备\部件
|
|
|
+// initEquipment(classes,"major");
|
|
|
+// writeFuncSqlToFile(classes, "major");
|
|
|
+// classes.clear();
|
|
|
+// // 工具
|
|
|
+// initToolOrMaterial(classes,"tool","工具类");
|
|
|
+// writeFuncSqlToFile(classes, "tool");
|
|
|
+// classes.clear();
|
|
|
+// // 耗材
|
|
|
+// initToolOrMaterial(classes,"material","耗材类 ");
|
|
|
+// writeFuncSqlToFile(classes, "material");
|
|
|
+// classes.clear();
|
|
|
+// // 省市区编号
|
|
|
+// initCityLocation(classes,"cityLocation","省市区编号");
|
|
|
+// writeFuncSqlToFile(classes, "cityLocation");
|
|
|
+// classes.clear();
|
|
|
+ // 省市区编号
|
|
|
+ initCityLocation(classes,"cityLocation","省市区编号");
|
|
|
+ writeFuncSqlToFile(classes, "cityLocation");
|
|
|
+ classes.clear();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void initCityLocation(List<RwdeditRefTypeInfosModel> models, String refKey, String sheetName) throws Exception {
|
|
|
+ String file = basepath + "/附表14-地域性信息表.xlsx";
|
|
|
+
|
|
|
+ FileInputStream inputStream = new FileInputStream(file);
|
|
|
+ Workbook workbook = new XSSFWorkbook(inputStream);
|
|
|
+ Sheet sheet = workbook.getSheet(sheetName);
|
|
|
+
|
|
|
+ // 行号从0开始, 从第2行开始读数据
|
|
|
+ int startRowNum = 2;
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ // 0专业, 3系统编码, 5系统名称, 6设备编码, 8设备名称
|
|
|
+ String cityCode = (String) ExcelUtils.parseCell(row.getCell(2), "string");// 市级code
|
|
|
+ String areaCode = (String) ExcelUtils.parseCell(row.getCell(4), "string");// 区级code
|
|
|
+ String name = (String) ExcelUtils.parseCell(row.getCell(5), "string");// 名称
|
|
|
+ Integer codeInt = (Integer)ExcelUtils.parseCell(row.getCell(6), "integer");// code
|
|
|
+ if (null==name || null == codeInt){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String code = codeInt.toString();
|
|
|
+ Double longitude = (Double) ExcelUtils.parseCell(row.getCell(7), "double");// 精度
|
|
|
+ Double latitude = (Double) ExcelUtils.parseCell(row.getCell(8), "double");// 维度
|
|
|
+ Double altitude = (Double) ExcelUtils.parseCell(row.getCell(9), "double");// 海拔
|
|
|
+ String climaticDivisionCode = (String) ExcelUtils.parseCell(row.getCell(10), "string");// 气候区
|
|
|
+ String cityDevelopmentLevelCode = (String) ExcelUtils.parseCell(row.getCell(11), "string");// 发展水平
|
|
|
+ RwdeditRefTypeInfosModel model = new RwdeditRefTypeInfosModel();
|
|
|
+ model.setRefKey(refKey);
|
|
|
+ model.setCode(code);
|
|
|
+ model.setName(name);
|
|
|
+ model.setParentCode(cache.equipCode);
|
|
|
+ if ("00".equals(cityCode) && "00".equals(areaCode)){
|
|
|
+ // 省
|
|
|
+ cache.systemCode = code;
|
|
|
+ cache.systemName = name;
|
|
|
+ model.setParentCode("-9999");
|
|
|
+ }
|
|
|
+ if (!"00".equals(cityCode) && "00".equals(areaCode)){
|
|
|
+ // 市
|
|
|
+ cache.equipCode = code;
|
|
|
+ cache.equipName = name;
|
|
|
+ model.setParentCode(cache.systemCode);
|
|
|
+ }
|
|
|
+ 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);
|
|
|
+ models.add(model);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void writeFuncSqlToFile(List<RwdeditRefTypeInfosModel> classes,String refKey) throws IOException {
|
|
|
+ FileWriter writer = new FileWriter(outPath,true);
|
|
|
+ writer.append("delete from rwdedit_ref_type_infos where ref_key='"+refKey+"';");
|
|
|
+ writer.append("\n");
|
|
|
+ writer.append("commit;");
|
|
|
+ writer.append("\n");
|
|
|
+ for (RwdeditRefTypeInfosModel item : classes) {
|
|
|
+ writer.append(toSql(item));
|
|
|
+ writer.append("\n");
|
|
|
+ }
|
|
|
+ writer.append("commit;");
|
|
|
+ writer.append("\n");
|
|
|
+ writer.flush();
|
|
|
+ writer.close();
|
|
|
+ for (RwdeditRefTypeInfosModel type : classes) {
|
|
|
+ System.out.println(JacksonMapper.toSimpleJson(type));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private String toSql(RwdeditRefTypeInfosModel model) {
|
|
|
+ return "INSERT INTO `rwdedit_ref_type_infos`(`ref_key`, `code`, `name`, `parent_code`, `data_source`, `create_user`, `update_user`) VALUES ( " +
|
|
|
+ "'" + model.getRefKey() + "', " + // ref_key
|
|
|
+ "'" + model.getCode() + "', " + // code
|
|
|
+ "'" + model.getName() + "', " + // name
|
|
|
+ "'" + model.getParentCode() + "', " + // parent_code
|
|
|
+ "'" + JacksonMapper.toSimpleJson(model.getDataSource()) + "', " + // data_source
|
|
|
+ "" + model.getCreateUser() + ", " + // create_user
|
|
|
+ "" + model.getUpdateUser() + // update_user
|
|
|
+ ");";
|
|
|
+ }
|
|
|
+
|
|
|
+ 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 = "系统设备部件类";
|
|
|
+ FileInputStream inputStream = new FileInputStream(classFile);
|
|
|
+ Workbook workbook = new XSSFWorkbook(inputStream);
|
|
|
+ Sheet sheet = workbook.getSheet(sheetName);
|
|
|
+ if (sheet == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 行号从0开始, 从第2行开始读数据
|
|
|
+ Set<String> systemCodes = new HashSet<>();
|
|
|
+ Set<String> majorCodes = new HashSet<>();
|
|
|
+ Set<String> equipmentCodes = new HashSet<>();
|
|
|
+ int startRowNum = 2;
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ // 0专业, 3系统编码, 5系统名称, 6设备编码, 8设备名称
|
|
|
+ CacheModel target = new CacheModel();
|
|
|
+ target.majorCode = (String) ExcelUtils.parseCell(row.getCell(0), "string");// 专业编码
|
|
|
+ target.majorEnglishName = (String) ExcelUtils.parseCell(row.getCell(1), "string");// 专业英文名称
|
|
|
+ target.majorName = (String) ExcelUtils.parseCell(row.getCell(2), "string");// 专业名称
|
|
|
+ target.systemCode = (String) ExcelUtils.parseCell(row.getCell(3), "string");//系统类编码
|
|
|
+ target.systemEnglishName = (String) ExcelUtils.parseCell(row.getCell(4), "string");//系统类英文名称
|
|
|
+ target.systemName = (String) ExcelUtils.parseCell(row.getCell(5), "string");//系统类名称
|
|
|
+ target.equipCode = (String) ExcelUtils.parseCell(row.getCell(6), "string");//设备设施类编码
|
|
|
+ target.equipEnglishName = (String) ExcelUtils.parseCell(row.getCell(7), "string");//设备设施类英文名称
|
|
|
+ target.equipName = (String) ExcelUtils.parseCell(row.getCell(8), "string");//设备设施类名称
|
|
|
+ target.componentCode = (String) ExcelUtils.parseCell(row.getCell(9), "string");//部件类编码
|
|
|
+ target.componentEnglishName = (String) ExcelUtils.parseCell(row.getCell(10), "string");//部件类英文名称
|
|
|
+ target.componentName = (String) ExcelUtils.parseCell(row.getCell(11), "string");//部件类名称
|
|
|
+// System.out.println(rowIndex + ": " + target.majorCode + "\t" + target.systemCode + "\t" + target.equipCode + "\t" + target.componentCode);
|
|
|
+
|
|
|
+ // 专业不为空
|
|
|
+ if (target.majorCode != null) {
|
|
|
+ cache.majorCode = target.majorCode;
|
|
|
+ cache.majorName = target.majorName;
|
|
|
+ cache.majorEnglishName = target.majorEnglishName;
|
|
|
+ cache.systemCode = null;
|
|
|
+ cache.systemName = null;
|
|
|
+ cache.equipCode = null;
|
|
|
+ cache.equipName = null;
|
|
|
+ cache.componentCode = null;
|
|
|
+ cache.componentName = null;
|
|
|
+ } else {
|
|
|
+ target.majorCode = cache.majorCode;
|
|
|
+ target.majorName = cache.majorName;
|
|
|
+ target.majorEnglishName = cache.majorEnglishName;
|
|
|
+ }
|
|
|
+ // 系统不为空
|
|
|
+ if (target.systemCode != null) {
|
|
|
+ cache.systemCode = target.systemCode;
|
|
|
+ cache.systemEnglishName = target.systemEnglishName;
|
|
|
+ cache.systemName = target.systemName;
|
|
|
+ cache.equipCode = null;
|
|
|
+ cache.equipName = null;
|
|
|
+ cache.componentCode = null;
|
|
|
+ cache.componentName = null;
|
|
|
+ } else {
|
|
|
+ target.systemCode = cache.systemCode;
|
|
|
+ target.systemEnglishName = cache.systemEnglishName;
|
|
|
+ target.systemName = cache.systemName;
|
|
|
+ }
|
|
|
+ // 设备不为空
|
|
|
+ if (target.equipCode != null) {
|
|
|
+ cache.equipCode = target.equipCode;
|
|
|
+ cache.equipEnglishName = target.equipEnglishName;
|
|
|
+ cache.equipName = target.equipName;
|
|
|
+ cache.componentCode = null;
|
|
|
+ cache.componentName = null;
|
|
|
+ } else {
|
|
|
+ target.equipCode = cache.equipCode;
|
|
|
+ target.equipEnglishName = cache.equipEnglishName;
|
|
|
+ target.equipName = cache.equipName;
|
|
|
+ }
|
|
|
+ // 部件不为空
|
|
|
+ if (target.componentCode != null) {
|
|
|
+ }
|
|
|
+
|
|
|
+ // 拼装实际的系统编码和设备编码
|
|
|
+ CacheModel object = new CacheModel();
|
|
|
+ object.majorCode = target.majorCode;
|
|
|
+ object.majorName = target.majorName;
|
|
|
+ object.majorEnglishName = target.majorEnglishName;
|
|
|
+ object.systemCode = target.majorCode + target.systemCode;
|
|
|
+ object.systemName = target.systemName;
|
|
|
+ object.systemEnglishName = target.systemEnglishName;
|
|
|
+ object.equipCode = target.majorCode + target.equipCode;
|
|
|
+ object.equipName = target.equipName;
|
|
|
+ object.equipEnglishName = target.equipEnglishName;
|
|
|
+ object.componentCode = target.componentCode;
|
|
|
+ object.componentName = target.componentName;
|
|
|
+ object.componentEnglishName = target.componentEnglishName;
|
|
|
+
|
|
|
+ // 判断专业是否存在
|
|
|
+ if (!majorCodes.contains(object.majorCode)) {
|
|
|
+ RwdeditRefTypeInfosModel major = new RwdeditRefTypeInfosModel();
|
|
|
+ major.setRefKey(refKey);
|
|
|
+ major.setCode(object.majorCode);
|
|
|
+ major.setName(object.majorName);
|
|
|
+ major.setParentCode("-9999");
|
|
|
+ major.setCreateUser(CREATE_USER_ID);
|
|
|
+ major.setUpdateUser(UPDATE_USER_ID);
|
|
|
+ major.setDataSource(objectMapper.createObjectNode().put("englishName",object.majorEnglishName));
|
|
|
+ models.add(major);
|
|
|
+ majorCodes.add(object.majorCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断系统是否存在
|
|
|
+ if (!systemCodes.contains(object.systemCode)) {
|
|
|
+ RwdeditRefTypeInfosModel system = new RwdeditRefTypeInfosModel();
|
|
|
+ system.setRefKey(refKey);
|
|
|
+ system.setCode(object.systemCode);
|
|
|
+ system.setName(object.systemName);
|
|
|
+ system.setParentCode(object.majorCode);
|
|
|
+ system.setDataSource(objectMapper.createObjectNode().put("englishName",object.systemEnglishName));
|
|
|
+ system.setCreateUser(CREATE_USER_ID);
|
|
|
+ system.setUpdateUser(UPDATE_USER_ID);
|
|
|
+ models.add(system);
|
|
|
+ systemCodes.add(object.systemCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断设备是否存在
|
|
|
+ if (!equipmentCodes.contains(object.equipCode)) {
|
|
|
+ RwdeditRefTypeInfosModel equipment = new RwdeditRefTypeInfosModel();
|
|
|
+ equipment.setRefKey(refKey);
|
|
|
+ equipment.setCode(object.equipCode);
|
|
|
+ equipment.setName(object.equipName);
|
|
|
+ equipment.setParentCode(object.systemCode);
|
|
|
+ equipment.setDataSource(objectMapper.createObjectNode().put("englishName",object.equipEnglishName));
|
|
|
+ equipment.setCreateUser(CREATE_USER_ID);
|
|
|
+ equipment.setUpdateUser(UPDATE_USER_ID);
|
|
|
+ models.add(equipment);
|
|
|
+ equipmentCodes.add(object.equipCode);
|
|
|
+ }
|
|
|
+ // 部件不为空
|
|
|
+ if (object.componentCode != null) {
|
|
|
+ RwdeditRefTypeInfosModel component = new RwdeditRefTypeInfosModel();
|
|
|
+ component.setRefKey(refKey);
|
|
|
+ component.setCode(object.componentCode);
|
|
|
+ component.setName(object.componentName);
|
|
|
+ component.setParentCode(object.equipCode);
|
|
|
+ component.setDataSource(objectMapper.createObjectNode().put("englishName",object.componentEnglishName));
|
|
|
+ component.setCreateUser(CREATE_USER_ID);
|
|
|
+ component.setUpdateUser(UPDATE_USER_ID);
|
|
|
+ models.add(component);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ 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", "VOBr", "支路", "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);
|
|
|
+ Workbook workbook = new XSSFWorkbook(inputStream);
|
|
|
+ Sheet sheet = workbook.getSheet(sheetName);
|
|
|
+ if (sheet == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ Set<String> systemCodes = new HashSet<>();
|
|
|
+ Set<String> equipCodes = new HashSet<>();
|
|
|
+
|
|
|
+ // 行号从0开始, 从第2行开始读数据
|
|
|
+ // 一级分类使用systemCode, 二级分类使用equipCode
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ // 0专业, 3系统编码, 5系统名称, 6设备编码, 8设备名称
|
|
|
+ CacheModel target = new CacheModel();
|
|
|
+ target.systemCode = (String) ExcelUtils.parseCell(row.getCell(0), "string");// 一级分类编码
|
|
|
+ target.systemEnglishName = (String) ExcelUtils.parseCell(row.getCell(1), "string");// 一级分类英文名称
|
|
|
+ target.systemName = (String) ExcelUtils.parseCell(row.getCell(2), "string");//一级分类名称
|
|
|
+ target.equipCode = (String) ExcelUtils.parseCell(row.getCell(3), "string");//二级分类编码
|
|
|
+ target.equipEnglishName = (String) ExcelUtils.parseCell(row.getCell(4), "string");//二级分类英文名称
|
|
|
+ target.equipName = (String) ExcelUtils.parseCell(row.getCell(5), "string");//二级分类名称
|
|
|
+ target.componentCode = (String) ExcelUtils.parseCell(row.getCell(6), "string");//工具类编码
|
|
|
+ target.componentEnglishName = (String) ExcelUtils.parseCell(row.getCell(7), "string");//工具类英文名称
|
|
|
+ target.componentName = (String) ExcelUtils.parseCell(row.getCell(8), "string");//工具类名称
|
|
|
+// System.out.println(rowIndex + ": " + target.majorCode + "\t" + target.systemCode + "\t" + target.equipCode + "\t" + target.componentCode);
|
|
|
+
|
|
|
+ // 一级分类编码
|
|
|
+ if (target.systemCode != null) {
|
|
|
+ cache.systemCode = target.systemCode;
|
|
|
+ cache.systemName = target.systemName;
|
|
|
+ cache.systemEnglishName = target.systemEnglishName;
|
|
|
+ cache.equipCode = null;
|
|
|
+ cache.componentCode = null;
|
|
|
+ cache.componentName = null;
|
|
|
+ } else {
|
|
|
+ target.systemCode = cache.systemCode;
|
|
|
+ target.systemName = cache.systemName;
|
|
|
+ target.systemEnglishName = cache.systemEnglishName;
|
|
|
+ }
|
|
|
+ // 二级分类编码
|
|
|
+ if (target.equipCode != null) {
|
|
|
+ cache.equipCode = target.equipCode;
|
|
|
+ cache.equipName = target.equipName;
|
|
|
+ cache.equipEnglishName = target.equipEnglishName;
|
|
|
+ cache.componentCode = null;
|
|
|
+ cache.componentName = null;
|
|
|
+ } else {
|
|
|
+ target.equipCode = cache.equipCode;
|
|
|
+ target.equipName = cache.equipName;
|
|
|
+ target.equipEnglishName = cache.equipEnglishName;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 拼装实际的系统编码和设备编码
|
|
|
+ CacheModel object = new CacheModel();
|
|
|
+ object.systemCode = target.systemCode;
|
|
|
+ object.systemName = target.systemName;
|
|
|
+ object.systemEnglishName = target.systemEnglishName;
|
|
|
+ object.equipCode = target.systemCode + target.equipCode;
|
|
|
+ object.equipName = target.equipName;
|
|
|
+ object.equipEnglishName = target.equipEnglishName;
|
|
|
+ object.componentCode = target.componentCode;
|
|
|
+ object.componentName = target.componentName;
|
|
|
+ object.componentEnglishName = target.componentEnglishName;
|
|
|
+
|
|
|
+ // 一级标签
|
|
|
+ if (object.systemCode != null && !systemCodes.contains(object.systemCode)) {
|
|
|
+ systemCodes.add(object.systemCode);
|
|
|
+ RwdeditRefTypeInfosModel component = new RwdeditRefTypeInfosModel();
|
|
|
+ component.setRefKey(refKey);
|
|
|
+ component.setCode(object.systemCode);
|
|
|
+ component.setName(object.systemName);
|
|
|
+ component.setParentCode("-9999");
|
|
|
+ component.setUpdateUser(UPDATE_USER_ID);
|
|
|
+ component.setCreateUser(CREATE_USER_ID);
|
|
|
+ component.setDataSource(objectMapper.createObjectNode().put("englishName",object.systemEnglishName));
|
|
|
+ classes.add(component);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 二级标签
|
|
|
+ if (target.equipCode != null && !equipCodes.contains(object.equipCode)) {
|
|
|
+ equipCodes.add(object.equipCode);
|
|
|
+ RwdeditRefTypeInfosModel component = new RwdeditRefTypeInfosModel();
|
|
|
+ component.setRefKey(refKey);
|
|
|
+ component.setCode(object.equipCode);
|
|
|
+ component.setName(object.equipName);
|
|
|
+ component.setParentCode(object.systemCode);
|
|
|
+ component.setUpdateUser(UPDATE_USER_ID);
|
|
|
+ component.setCreateUser(CREATE_USER_ID);
|
|
|
+ component.setDataSource(objectMapper.createObjectNode().put("englishName",object.equipEnglishName));
|
|
|
+ classes.add(component);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 工具类编码
|
|
|
+ if (object.componentCode != null) {
|
|
|
+ RwdeditRefTypeInfosModel component = new RwdeditRefTypeInfosModel();
|
|
|
+ component.setRefKey(refKey);
|
|
|
+ component.setCode(object.componentCode);
|
|
|
+ component.setName(object.componentName);
|
|
|
+ component.setParentCode(object.equipCode);
|
|
|
+ component.setUpdateUser(UPDATE_USER_ID);
|
|
|
+ component.setCreateUser(CREATE_USER_ID);
|
|
|
+ component.setDataSource(objectMapper.createObjectNode().put("englishName",object.componentEnglishName));
|
|
|
+ classes.add(component);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static final class CacheModel {
|
|
|
+ String majorCode;
|
|
|
+ String majorEnglishName;
|
|
|
+ String majorName;
|
|
|
+ String systemCode;
|
|
|
+ String systemEnglishName;
|
|
|
+ String systemName;
|
|
|
+ String equipCode;
|
|
|
+ String equipEnglishName;
|
|
|
+ String equipName;
|
|
|
+ String componentCode;
|
|
|
+ String componentName;
|
|
|
+ String componentEnglishName;
|
|
|
+ String climaticDivisionCode;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private ClassDefModel prepareModel(String objType, String code, String name, String parentCode, String majorCode, String systemCode) {
|
|
|
+ ClassDefModel model = new ClassDefModel();
|
|
|
+ model.setObjType(ObjType.valueOf(objType));
|
|
|
+ model.setCode(code);
|
|
|
+ model.setName(name);
|
|
|
+ model.setAliasCode(code);
|
|
|
+ model.setAliasName(name);
|
|
|
+ model.setParentCode(parentCode);
|
|
|
+ model.setMajorCode(majorCode);
|
|
|
+ model.setSystemCode(systemCode);
|
|
|
+ return model;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|