diff --git a/Doc/v1.0/.cache.json b/Doc/v1.0/.cache.json index 54b3dd51..e0f90bd9 100644 --- a/Doc/v1.0/.cache.json +++ b/Doc/v1.0/.cache.json @@ -1 +1 @@ -[{"baseUrl":"","className":"DataEaseController","description":"DataEaseController","docFileName":"com_dsideal_base_DataEase_Controller_DataEaseController.html","generateDocs":true,"packageName":"com.dsideal.base.DataEase.Controller","requestNodes":[{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#route","deprecated":false,"description":"省级路由","header":[],"method":["GET","POST"],"methodName":"route","paramNodes":[{"description":"城市名称","jsonBody":false,"name":"city_name","required":false,"type":"string"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/route"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#routePage","deprecated":false,"description":"routePage","header":[],"method":["GET","POST"],"methodName":"routePage","paramNodes":[],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/routePage"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSet","deprecated":false,"description":"根据当前登录人员的identity_id,获取此人员可以维护的数据集名称","header":[],"method":["GET","POST"],"methodName":"getDataSet","paramNodes":[],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/getDataSet"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#downloadExcel","deprecated":false,"description":"下载指定数据集的Excel文件","header":[],"method":["GET","POST"],"methodName":"downloadExcel","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/downloadExcel"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#downSampleExcel","deprecated":false,"description":"下载模板Excel","header":[],"method":["GET","POST"],"methodName":"downSampleExcel","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/downSampleExcel"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#uploadExcel","deprecated":false,"description":"上传Excel文件","header":[],"method":["GET","POST"],"methodName":"uploadExcel","paramNodes":[],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/uploadExcel"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetContent","deprecated":false,"description":"获取数据集下的数据表","header":[],"method":["GET","POST"],"methodName":"getDataSetContent","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/getDataSetContent"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#saveDataSet","deprecated":false,"description":"保存数据集下的数据表","header":[],"method":["GET","POST"],"methodName":"saveDataSet","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"},{"description":"保存的数据","jsonBody":false,"name":"data","required":false,"type":"string"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/saveDataSet"}],"srcFileName":"D:\\dsWork\\YunNanDsBase\\src\\main\\java\\com\\dsideal\\base\\DataEase\\Controller\\DataEaseController.java"}] \ No newline at end of file +[{"baseUrl":"","className":"DataEaseController","description":"DataEaseController","docFileName":"com_dsideal_base_DataEase_Controller_DataEaseController.html","generateDocs":true,"packageName":"com.dsideal.base.DataEase.Controller","requestNodes":[{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#route","deprecated":false,"description":"省级路由","header":[],"method":["GET","POST"],"methodName":"route","paramNodes":[{"description":"城市名称","jsonBody":false,"name":"city_name","required":false,"type":"string"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/route"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#routePage","deprecated":false,"description":"routePage","header":[],"method":["GET","POST"],"methodName":"routePage","paramNodes":[],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/routePage"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSet","deprecated":false,"description":"根据当前登录人员的identity_id,获取此人员可以维护的数据集名称","header":[],"method":["GET","POST"],"methodName":"getDataSet","paramNodes":[],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/getDataSet"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#downloadExcel","deprecated":false,"description":"下载指定数据集的Excel文件","header":[],"method":["GET","POST"],"methodName":"downloadExcel","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/downloadExcel"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#downSampleExcel","deprecated":false,"description":"下载模板Excel","header":[],"method":["GET","POST"],"methodName":"downSampleExcel","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/downSampleExcel"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#uploadExcel","deprecated":false,"description":"上传Excel文件","header":[],"method":["GET","POST"],"methodName":"uploadExcel","paramNodes":[],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/uploadExcel"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetContent","deprecated":false,"description":"获取数据集下的数据表","header":[],"method":["GET","POST"],"methodName":"getDataSetContent","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/getDataSetContent"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#saveDataSet","deprecated":false,"description":"保存数据集下的数据表","header":[],"method":["GET","POST"],"methodName":"saveDataSet","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"},{"description":"保存的数据","jsonBody":false,"name":"data","required":false,"type":"string"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/saveDataSet"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetByCity","deprecated":false,"description":"市级管理员获取县区级可视数据集有哪些","header":[],"method":["GET","POST"],"methodName":"getDataSetByCity","paramNodes":[],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/getDataSetByCity"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetContentByCity","deprecated":false,"description":"市州管理员,帮助县区管理员填报数据,需要获取指定数据集的数据","header":[],"method":["GET","POST"],"methodName":"getDataSetContentByCity","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/getDataSetContentByCity"},{"changeFlag":0,"codeFileUrl":"com_dsideal_base_DataEase_Controller_DataEaseController.html#saveDataSetByCity","deprecated":false,"description":"市州管理员,帮助县区管理员填报数据,保存数据集下的数据表","header":[],"method":["GET","POST"],"methodName":"saveDataSetByCity","paramNodes":[{"description":"数据集id","jsonBody":false,"name":"id","required":false,"type":"int"},{"description":"保存的数据","jsonBody":false,"name":"data","required":false,"type":"string"}],"responseNode":{"childNodes":[],"className":"","list":false,"showFieldNotNull":false},"url":"/dataease/saveDataSetByCity"}],"srcFileName":"D:\\dsWork\\YunNanDsBase\\src\\main\\java\\com\\dsideal\\base\\DataEase\\Controller\\DataEaseController.java"}] \ No newline at end of file diff --git a/Doc/v1.0/YunNanDsBase-v1.0-api-docs.json b/Doc/v1.0/YunNanDsBase-v1.0-api-docs.json index c1eb0b7d..dc7332c7 100644 --- a/Doc/v1.0/YunNanDsBase-v1.0-api-docs.json +++ b/Doc/v1.0/YunNanDsBase-v1.0-api-docs.json @@ -114,6 +114,53 @@ } }, "name": "保存数据集下的数据表" + }, + { + "request": { + "method": "GET", + "url": { + "query": [], + "raw": "{{domain}}/dataease/getDataSetByCity" + } + }, + "name": "市级管理员获取县区级可视数据集有哪些" + }, + { + "request": { + "method": "GET", + "url": { + "query": [ + { + "description": "数据集id", + "value": "", + "key": "id" + } + ], + "raw": "{{domain}}/dataease/getDataSetContentByCity" + } + }, + "name": "市州管理员,帮助县区管理员填报数据,需要获取指定数据集的数据" + }, + { + "request": { + "method": "POST", + "url": { + "query": [ + { + "description": "数据集id", + "value": "", + "key": "id" + }, + { + "description": "保存的数据", + "value": "", + "key": "data" + } + ], + "raw": "{{domain}}/dataease/saveDataSetByCity" + } + }, + "name": "市州管理员,帮助县区管理员填报数据,保存数据集下的数据表" } ], "name": "DataEaseController" diff --git a/Doc/v1.0/com_dsideal_base_DataEase_Controller_DataEaseController.html b/Doc/v1.0/com_dsideal_base_DataEase_Controller_DataEaseController.html index 02bb463e..fa9841fd 100644 --- a/Doc/v1.0/com_dsideal_base_DataEase_Controller_DataEaseController.html +++ b/Doc/v1.0/com_dsideal_base_DataEase_Controller_DataEaseController.html @@ -66,6 +66,15 @@ 保存数据集下的数据表 + + 市级管理员获取县区级可视数据集有哪些 + + + 市州管理员,帮助县区管理员填报数据,需要获取指定数据集的数据 + + + 市州管理员,帮助县区管理员填报数据,保存数据集下的数据表 + @@ -231,6 +240,78 @@ /dataease/saveDataSet GET POST +

+

请求参数 application/x-www-form-urlencoded

+ + + + + + + + + + + + + + + + + + + +
参数名类型必须描述
idint数据集id
datastring保存的数据
+

返回结果

+
{}
+ +
+
+

市级管理员获取县区级可视数据集有哪些

+

请求URL

+

+ /dataease/getDataSetByCity + GET + POST +

+

返回结果

+
{}
+
+
+
+

市州管理员,帮助县区管理员填报数据,需要获取指定数据集的数据

+

请求URL

+

+ /dataease/getDataSetContentByCity + GET + POST +

+

请求参数 application/x-www-form-urlencoded

+ + + + + + + + + + + + + +
参数名类型必须描述
idint数据集id
+

返回结果

+
{}
+
+
+
+

市州管理员,帮助县区管理员填报数据,保存数据集下的数据表

+

请求URL

+

+ /dataease/saveDataSetByCity + GET + POST

请求参数 application/x-www-form-urlencoded

@@ -278,6 +359,9 @@ {name: 'DataEaseController.上传Excel文件', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#uploadExcel'}, {name: 'DataEaseController.获取数据集下的数据表', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetContent'}, {name: 'DataEaseController.保存数据集下的数据表', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#saveDataSet'}, + {name: 'DataEaseController.市级管理员获取县区级可视数据集有哪些', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetByCity'}, + {name: 'DataEaseController.市州管理员,帮助县区管理员填报数据,需要获取指定数据集的数据', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetContentByCity'}, + {name: 'DataEaseController.市州管理员,帮助县区管理员填报数据,保存数据集下的数据表', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#saveDataSetByCity'}, ]; diff --git a/Doc/v1.0/index.html b/Doc/v1.0/index.html index e0473ffb..a5113849 100644 --- a/Doc/v1.0/index.html +++ b/Doc/v1.0/index.html @@ -66,6 +66,15 @@ 保存数据集下的数据表 + + 市级管理员获取县区级可视数据集有哪些 + + + 市州管理员,帮助县区管理员填报数据,需要获取指定数据集的数据 + + + 市州管理员,帮助县区管理员填报数据,保存数据集下的数据表 + @@ -106,6 +115,9 @@ {name: 'DataEaseController.上传Excel文件', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#uploadExcel'}, {name: 'DataEaseController.获取数据集下的数据表', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetContent'}, {name: 'DataEaseController.保存数据集下的数据表', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#saveDataSet'}, + {name: 'DataEaseController.市级管理员获取县区级可视数据集有哪些', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetByCity'}, + {name: 'DataEaseController.市州管理员,帮助县区管理员填报数据,需要获取指定数据集的数据', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#getDataSetContentByCity'}, + {name: 'DataEaseController.市州管理员,帮助县区管理员填报数据,保存数据集下的数据表', url: 'com_dsideal_base_DataEase_Controller_DataEaseController.html#saveDataSetByCity'}, ]; 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 65427879..07262ea0 100644 --- a/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java +++ b/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java @@ -129,67 +129,68 @@ public class DataEaseController extends Controller { renderJson(CommonUtil.renderJsonForLayUI(list)); } + /** - * 下载指定数据集的Excel文件 + * 下载模板Excel * * @param id 数据集id */ @Before(GET.class) @IsLoginInterface({}) @IsNumericInterface({"id"}) - public void downloadExcel(int id) throws IOException { + public void downSampleExcel(int id) throws IOException { String identity_idStr = CookieUtil.getValue(getRequest(), "identity_id"); int identity_id = 1; if (!StrKit.isBlank(identity_idStr)) { identity_id = Integer.parseInt(identity_idStr); } - //根据当前登录人员的身份,获取对应的数据集名称 - String person_id = CookieUtil.getValue(getRequest(), "person_id"); - //获取他是哪个城市或者县区的管理员 - //行政区划码 - String area_code = rm.getAreaCode(identity_id, person_id); - //根据区域码,获取区域名称 - String area_name = rm.getAreaName(area_code); + String area_name = "云南省"; + //获取他是哪个城市的管理员 + if (identity_id == 2) { + area_name = "昆明市"; + } + //获取他是哪个县区的管理员 + if (identity_id == 3) { + area_name = "寻甸县"; + } Record record = dm.getDataSetById(id); String tableName = record.getStr("table_name"); String dataSetName = record.getStr("dataset_name"); //导出excel - String upPath = BaseApplication.PropKit.get("upload.path") + "/"; - String excelFileName = dm.exportExcel(identity_id, tableName, upPath, area_name); + String excelFileName = dm.exportExcel(identity_id, tableName, tempDir, area_name); //renderFile - renderFile(new File(excelFileName), "【" + area_name + "】" + dataSetName + "." + "xlsx"); + renderFile(new File(excelFileName), "【样例:" + area_name + "】" + dataSetName + "." + "xlsx"); } /** - * 下载模板Excel + * 下载指定数据集的Excel文件 * * @param id 数据集id */ @Before(GET.class) @IsLoginInterface({}) @IsNumericInterface({"id"}) - public void downSampleExcel(int id) throws IOException { + public void downloadExcel(int id) throws IOException { String identity_idStr = CookieUtil.getValue(getRequest(), "identity_id"); int identity_id = 1; if (!StrKit.isBlank(identity_idStr)) { identity_id = Integer.parseInt(identity_idStr); } - String area_name = "云南省"; - //获取他是哪个城市的管理员 - if (identity_id == 2) { - area_name = "昆明市"; - } - //获取他是哪个县区的管理员 - if (identity_id == 3) { - area_name = "寻甸县"; - } + //根据当前登录人员的身份,获取对应的数据集名称 + String person_id = CookieUtil.getValue(getRequest(), "person_id"); + //获取他是哪个城市或者县区的管理员 + //行政区划码 + String area_code = rm.getAreaCode(identity_id, person_id); + //根据区域码,获取区域名称 + String area_name = rm.getAreaName(area_code); Record record = dm.getDataSetById(id); String tableName = record.getStr("table_name"); String dataSetName = record.getStr("dataset_name"); //导出excel - String excelFileName = dm.exportExcel(identity_id, tableName, tempDir, area_name); + String upPath = BaseApplication.PropKit.get("upload.path") + "/"; + String excelFileName = dm.exportExcel(identity_id, tableName, upPath, area_name); //renderFile - renderFile(new File(excelFileName), "【样例:" + area_name + "】" + dataSetName + "." + "xlsx"); + renderFile(new File(excelFileName), "【" + area_name + "】" + dataSetName + "." + "xlsx"); } /** @@ -403,4 +404,92 @@ public class DataEaseController extends Controller { dm.saveDataSetByCity(id, area_name, jsonArray); renderJson(CommonUtil.returnMessageJson(true, "保存成功")); } + + + /** + * 市管理员辅助县区录入:下载指定数据集的Excel文件 + * + * @param id 数据集id + */ + @Before(GET.class) + @IsLoginInterface({}) + @IsNumericInterface({"id"}) + public void downloadExcelByCity(int id) throws IOException { + int identity_id = 2; + //根据当前登录人员的身份,获取对应的数据集名称 + String person_id = CookieUtil.getValue(getRequest(), "person_id"); + //获取他是哪个城市或者县区的管理员 + //行政区划码 + String area_code = rm.getAreaCode(identity_id, person_id); + //根据区域码,获取区域名称 + String area_name = rm.getAreaName(area_code); + Record record = dm.getDataSetById(id); + String tableName = record.getStr("table_name"); + String dataSetName = record.getStr("dataset_name"); + //导出excel + String upPath = BaseApplication.PropKit.get("upload.path") + "/"; + String excelFileName = dm.exportExcelByCity(tableName, upPath, area_name); + //renderFile + renderFile(new File(excelFileName), "【" + area_name + "】" + dataSetName + "." + "xlsx"); + } + + /** + * 市管理员辅助县区录入:上传Excel文件 + */ + @Before(POST.class) + @IsLoginInterface({}) + public void uploadExcelByCity() { + //根据当前登录人员的身份,获取对应的数据集名称 + int identity_id = 2; + String person_id = CookieUtil.getValue(getRequest(), "person_id"); + //获取他是哪个城市或者县区的管理员 + //行政区划码 + 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"); + //数据集id + int id = getParaToInt("id"); + + //文件是不是以.xlsx为扩展名 + if (!uploadFile.getFileName().endsWith(".xlsx")) { + renderJson(CommonUtil.returnMessageJson(false, "文件格式不正确,请上传.xlsx格式的文件!")); + return; + } + //检查上传的excel,获取它有哪些列,与数据集的列是否一致 + String excelPath = uploadFile.getFile().getAbsolutePath(); + List excelCols = dm.getColumnNamesFromExcel(excelPath); + //获取指定数据表有哪些列 + Record rDataSet = dm.getDataSetById(id); + String tableName = rDataSet.getStr("table_name"); + //mysql数据库中真实表有哪些字段 + List mysqlCols = dm.getColumns(tableName); + + //id列需要特殊处理 + mysqlCols.remove("id"); + //对比两个数组集是不是一致,就是对比列名是不是完全匹配,使用交集去检查 + Set set1 = new HashSet<>(excelCols); + Set set2 = new HashSet<>(mysqlCols); + //是不是完整匹配 + boolean match = set1.equals(set2); + if (!match) { + renderJson(CommonUtil.returnMessageJson(false, "上传的Excel列名与数据集列名不一致,请重新上传!")); + return; + } + //如果一致,那么需要先把数据集的指定行政区划列的表清空,再导入数据 + ExcelReader excelReader = new ExcelReader(); + List rows = excelReader.readXlsxFile(excelPath, excelCols); + + dm.saveDataSetTableByCity(id,area_name, rows); + + //返回结果 + Kv kv = Kv.create(); + kv.set("success", true); + kv.set("message", "上传成功"); + renderJson(kv); + } + } 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 9be0b9f4..a5c02b46 100644 --- a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java +++ b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java @@ -665,4 +665,66 @@ public class DataEaseModel { } Db.use(DB_NAME).batchSave(tableName, list, 100); } + + /** + * 导出Excel + * + * @param tableName + * @param exportPath + * @param area_name + * @throws IOException + */ + public String exportExcelByCity(String tableName, String exportPath, String area_name) throws IOException { + //填充默认的行政区划 + fillDefaultXzqh(3, tableName); + //对此表中的数据进行直接导出EXCEL + String sql = "select * from `" + tableName + "`"; + sql = sql + "where `行政区划`='" + area_name + "'"; + //获取一下表有哪些列 + List columnNames = getColumns(tableName); + + List tableData = Db.use(DataEaseModel.DB_NAME).find(sql); + String excelFileName = UUID.randomUUID().toString().toUpperCase() + ".xlsx"; + String filePath = exportPath + excelFileName; + //导出 + ExcelCommonUtil.writeExcel(columnNames, tableData, filePath, true); + return filePath; + } + + /** + * 保存数据集对应的表 + * + * @param dataset_id 数据集id + */ + public void saveDataSetTableByCity(int dataset_id, String area_name, List listExcelRow) { + //根据数据集id获取表名 + String tableName = getDataSetById(dataset_id).getStr("table_name"); + // 清除数据 + String sql = "delete from `" + tableName + "` where `行政区划`=?"; + Db.use(DB_NAME).update(sql, area_name); + + List list = new ArrayList<>(); + //数据行 + for (int i = 1; i < listExcelRow.size(); i++) { + ExcelRow row = listExcelRow.get(i); + Record record = new Record(); + for (int j = 0; j < row.getData().size(); j++) { + String value = row.getData().get(j); + //第一行是表头 + String colName = listExcelRow.getFirst().getData().get(j); + + if (StrKit.isBlank(value.trim()) && colName.equals("数值")) { + record.set(colName, 0); + } else if (isInteger(value)) { + record.set(colName, Integer.parseInt(value)); + } else if (isDouble(value)) { + record.set(colName, Double.parseDouble(value)); + } else { + record.set(colName, value); + } + } + list.add(record); + } + Db.use(DB_NAME).batchSave(tableName, list, 100); + } }