diff --git a/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java b/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java index b90672d7..005bb968 100644 --- a/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java +++ b/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java @@ -202,7 +202,8 @@ public class DataEaseController extends Controller { String area_code = rm.getAreaCode(identity_id, person_id); //根据区域码,获取区域名称 String area_name = rm.getAreaName(area_code); - + //父亲的区域名称 + String parent_area_name=rm.getParentAreaName(area_name); //上传的文件 UploadFile uploadFile = getFile("file", tempDir); //数据集id @@ -237,7 +238,7 @@ public class DataEaseController extends Controller { ExcelReader excelReader = new ExcelReader(); List rows = excelReader.readXlsxFile(excelPath, excelCols); - dm.saveDataSetTable(identity_id, id, area_name, rows); + dm.saveDataSetTable(identity_id, id,parent_area_name, area_name, rows); //返回结果 Kv kv = Kv.create(); diff --git a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java index bd1e4941..cd118fa3 100644 --- a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java +++ b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java @@ -40,15 +40,18 @@ public class DataEaseModel { * * @param dataset_id 数据集id */ - public void saveDataSetTable(int identity_id, int dataset_id, String xzqh, List listExcelRow) { + public void saveDataSetTable(int identity_id, int dataset_id, String parent_area_name, String area_name, List listExcelRow) { + //根据数据集id获取表名 String tableName = getDataSetById(dataset_id).getStr("table_name"); + // 清除数据 if (identity_id > 1) { String sql = "delete from `" + tableName + "` where `行政区划`=?"; - Db.use(DB_NAME).update(sql, xzqh); + Db.use(DB_NAME).update(sql, area_name); } else { String sql = "delete from `" + tableName + "`"; Db.use(DB_NAME).update(sql); } + List list = new ArrayList<>(); //数据行 for (int i = 1; i < listExcelRow.size(); i++) { @@ -57,7 +60,14 @@ public class DataEaseModel { for (int j = 0; j < row.getData().size(); j++) { String value = row.getData().get(j); //第一行是表头 - record.set(listExcelRow.getFirst().getData().get(j), value); + String colName = listExcelRow.getFirst().getData().get(j); + if (colName.equals("行政区划")) { + record.set(colName, area_name); + } else if (colName.equals("上级行政区划")) { + record.set(colName, parent_area_name); + } else { + record.set(colName, value); + } } list.add(record); } @@ -351,7 +361,7 @@ public class DataEaseModel { Db.use(DataEaseModel.DB_NAME).update(sql); } - public void fillDefaultXzqh(int identity_id,String tableName){ + public void fillDefaultXzqh(int identity_id, String tableName) { //补全默认行政区划 if (identity_id == 2) { String sql = "update `" + tableName + "` set `行政区划`='昆明市',`上级行政区划`='云南省' where `行政区划` is null or `上级行政区划` is null"; @@ -387,7 +397,7 @@ public class DataEaseModel { String excelFileName = UUID.randomUUID().toString().toUpperCase() + ".xlsx"; String filePath = exportPath + excelFileName; //导出 - ExcelCommonUtil.writeExcel(columnNames,tableData, filePath, true); + ExcelCommonUtil.writeExcel(columnNames, tableData, filePath, true); return filePath; } diff --git a/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java b/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java index 6e218272..5555992d 100644 --- a/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java +++ b/src/main/java/com/dsideal/base/Res/Model/ResourceModel.java @@ -36,6 +36,41 @@ public class ResourceModel { return Db.findFirst(sql, area_code).getStr("area_name"); } + + /** + * 根据行政区划名称获取行政区划记录 + * + * @param area_name + * @return + */ + public Record getAreaRecordByName(String area_name) { + String sql = "select * from t_dm_area where area_name=?"; + return Db.findFirst(sql, area_name); + } + + /** + * 根据行政区划代码获取行政区划记录 + * + * @param id + * @return + */ + public Record getAreaRecordByAreaCode(String id) { + String sql = "select * from t_dm_area where id=?"; + return Db.findFirst(sql, id); + } + + /** + * 获取行政区划的父级名称 + * @param area_name + * @return + */ + public String getParentAreaName(String area_name) { + Record child = getAreaRecordByName(area_name); + String parent_id = child.getStr("parent_id"); + Record parent = getAreaRecordByAreaCode(parent_id); + return parent.getStr("area_name"); + } + /** * 功能:获取当前用户的行政区划 * diff --git a/src/main/java/com/dsideal/base/Tools/DataSetInit.java b/src/main/java/com/dsideal/base/Tools/DataSetInit.java index f0e68ff6..17c91ec4 100644 --- a/src/main/java/com/dsideal/base/Tools/DataSetInit.java +++ b/src/main/java/com/dsideal/base/Tools/DataSetInit.java @@ -2,7 +2,6 @@ package com.dsideal.base.Tools; import com.dsideal.base.DataEase.Model.DataEaseModel; import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil; -import com.jcraft.jsch.JSchException; import java.io.IOException;