From 1c782e2479c877ed8c2c1353bc8f9a08fc7b3b37 Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期二, 24 十二月 2024 19:50:01 +0800
Subject: [PATCH] 维保人员资质

---
 src/main/java/com/product/patch/service/PatchExportService.java |    7 +++++--
 src/main/java/com/product/patch/service/PatchImportService.java |   11 +++++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/product/patch/service/PatchExportService.java b/src/main/java/com/product/patch/service/PatchExportService.java
index 3276db7..04f54ad 100644
--- a/src/main/java/com/product/patch/service/PatchExportService.java
+++ b/src/main/java/com/product/patch/service/PatchExportService.java
@@ -200,7 +200,7 @@
 	public File exportTable(File dir, JSONArray tableInfoArr, Set<String> promptNameSet, Set<String> dictNameSet) {
 		DataTableEntity tableDte = getBaseDao().listTable(CoreConst.PRODUCT_SYS_DATAMODEL_TABLE, BaseUtil.buildQuestionMarkFilter("table_name", tableInfoArr.size(), true), tableInfoArr.stream().toArray(),
 				new Object[]{}, null, Integer.MAX_VALUE, 1, true);
-		return writeString(tableDte, "table_" + getDateTime(), dir);
+		return writeString(tableDte, "structure_" + getDateTime(), dir);
 	}
 
 	/**
@@ -246,6 +246,9 @@
 			}
 			File file = writeString(dte, "data_" + tableName + "_" + getDateTime(), dir);
 			fileList.add(file);
+		}
+		if(fileList.isEmpty()){
+			return null;
 		}
 
 		//鍘嬬缉鏂囦欢
@@ -340,7 +343,7 @@
 		Set<String> attachmentField = new HashSet<>();
 		for (int i = 0; i < fieldDte.getRows(); i++) {
 			String fieldType = fieldDte.getString(i, "field_type");
-			if (FieldType.FILE.equals(FieldType.getByDictValue(fieldType))) {
+			if (FieldType.FILE.equals(FieldType.getByDictValue(fieldType,false))) {
 				attachmentField.add(fieldDte.getString(i, "field_name"));
 			}
 		}
diff --git a/src/main/java/com/product/patch/service/PatchImportService.java b/src/main/java/com/product/patch/service/PatchImportService.java
index 0f9f557..365529a 100644
--- a/src/main/java/com/product/patch/service/PatchImportService.java
+++ b/src/main/java/com/product/patch/service/PatchImportService.java
@@ -8,6 +8,7 @@
 import cn.hutool.core.util.ZipUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 import com.product.admin.service.PublicService;
 import com.product.common.utils.StringUtils;
@@ -161,6 +162,12 @@
 	 */
 	private DataTableEntity readTableStructure(File file) throws Exception {
 		DataTableEntity dte = readFileData(file, "product_sys_datamodel_table");
+		List<String> tableNames = Lists.newArrayList("product_sys_datamodel_table", "product_sys_datamodel_field", "product_sys_datamodel_index");
+		dte.getData().sort((a, b) -> {
+			// 琛ㄥ悕 product_sys_datamodel_table 銆乸roduct_sys_datamodel_field銆乸roduct_sys_datamodel_index 鎺掑湪鍓�
+
+			return tableNames.contains(a.getString("table_name")) ? -1 : 1;
+		});
 		DataTableEntity old = getBaseDao().listTable("product_sys_datamodel_table", BaseUtil.buildQuestionMarkFilter("uuid", dte.getUuids().length, true), dte.getUuids(), null, null, Integer.MAX_VALUE, 1, true);
 		for (int i = 0; i < dte.getRows(); i++) {
 			FieldSetEntity fse = dte.getFieldSetEntity(i);
@@ -196,6 +203,7 @@
 						if (CollectionUtil.isEmpty(fieldSetEntity)) {
 							//涓嶅瓨鍦�
 							FieldSetEntity clones = oldFse1.clones();
+							//鏌ヨ璇ュ瓧娈垫槸鍚︽湁绱㈠紩
 							clones.setValue(CoreConst.SYSTEM_DATA_OPERATE_TYPE, CoreConst.SYSTEM_DATA_OPERATE_DEL);
 							sub.addFieldSetEntity(clones);
 						}
@@ -310,6 +318,9 @@
 		}
 		File fileDir = ZipUtil.unzip(file);
 		int result = 0;
+		if (fileDir == null || !fileDir.isDirectory()) {
+			return 0;
+		}
 		for (File file1 : fileDir.listFiles()) {
 			if (!file1.isFile()) {
 				continue;

--
Gitblit v1.9.2