|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package com.dsideal.base.DataEase.Model;
|
|
|
|
|
|
|
|
|
|
import com.dsideal.base.Util.ExcelCommonUtil;
|
|
|
|
|
import com.jfinal.kit.Kv;
|
|
|
|
|
import com.jfinal.plugin.activerecord.Db;
|
|
|
|
|
import com.jfinal.plugin.activerecord.Record;
|
|
|
|
@ -7,6 +8,7 @@ import com.jfinal.plugin.activerecord.SqlPara;
|
|
|
|
|
import net.sf.json.JSONArray;
|
|
|
|
|
import net.sf.json.JSONObject;
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
@ -33,23 +35,13 @@ public class DataEaseModel {
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> getDataSetTableContent(int dataset_id) {
|
|
|
|
|
Record record = getTableName(dataset_id);
|
|
|
|
|
Record record = getDataSetById(dataset_id);
|
|
|
|
|
if (record == null) return null;
|
|
|
|
|
String sql = "select * from `" + record.getStr("table_name") + "`";
|
|
|
|
|
List<Record> list = Db.use(DB_NAME).find(sql);
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据数据集id获取表名
|
|
|
|
|
*
|
|
|
|
|
* @param dataset_id 数据集id
|
|
|
|
|
* @return 表对象
|
|
|
|
|
*/
|
|
|
|
|
public Record getTableName(int dataset_id) {
|
|
|
|
|
String sql = "select * from t_dp_dataset where id=?";
|
|
|
|
|
return Db.findFirst(sql, dataset_id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 保存数据集对应的表
|
|
|
|
@ -58,7 +50,7 @@ public class DataEaseModel {
|
|
|
|
|
* @param ja json数组
|
|
|
|
|
*/
|
|
|
|
|
public void saveDataSetTable(int identity_id, int dataset_id, String xmqh, JSONArray ja) {
|
|
|
|
|
String tableName = getTableName(dataset_id).getStr("table_name");
|
|
|
|
|
String tableName = getDataSetById(dataset_id).getStr("table_name");
|
|
|
|
|
if (identity_id > 1) {
|
|
|
|
|
String sql = "delete from dataease.`" + tableName + "` where `行政区划`=?";
|
|
|
|
|
Db.update(sql, xmqh);
|
|
|
|
@ -146,6 +138,16 @@ public class DataEaseModel {
|
|
|
|
|
return Db.findFirst(sqlPara).getStr("table_name");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据数据集id获取表名
|
|
|
|
|
*
|
|
|
|
|
* @param dataset_id 数据集id
|
|
|
|
|
* @return 表对象
|
|
|
|
|
*/
|
|
|
|
|
public Record getDataSetById(int dataset_id) {
|
|
|
|
|
String sql = "select * from t_dp_dataset where id=?";
|
|
|
|
|
return Db.findFirst(sql, dataset_id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 将数据集填充到数据库表中,用于配置此数据集让谁来维护
|
|
|
|
@ -171,7 +173,7 @@ public class DataEaseModel {
|
|
|
|
|
record.set("dataease_id", dataease_id);
|
|
|
|
|
Db.save("t_dp_dataset", "id", record);
|
|
|
|
|
System.out.println("添加数据集成功,parent_name=" + parent_name + ",table_name=" + table_name + ",dataset_name=" + dataset_name);
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
System.out.println("数据集已存在,跳过添加");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -310,21 +312,43 @@ public class DataEaseModel {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 指定表格是不是有指定名称的列
|
|
|
|
|
*
|
|
|
|
|
* @param tableName 表名
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public boolean hasNoColumnName(String tableName, String columnName) {
|
|
|
|
|
String sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'dataease' AND TABLE_NAME = ? AND COLUMN_NAME = ?";
|
|
|
|
|
return Db.find(sql, tableName,columnName).isEmpty();
|
|
|
|
|
return Db.find(sql, tableName, columnName).isEmpty();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 添加上指定名称的列
|
|
|
|
|
* @param tableName 表名
|
|
|
|
|
*
|
|
|
|
|
* @param tableName 表名
|
|
|
|
|
* @param columnName 列名
|
|
|
|
|
*/
|
|
|
|
|
public void addColumn(String tableName, String columnName){
|
|
|
|
|
String sql="ALTER TABLE `"+tableName+"` ADD COLUMN `"+columnName+"` varchar(255) NULL";
|
|
|
|
|
public void addColumn(String tableName, String columnName) {
|
|
|
|
|
String sql = "ALTER TABLE `" + tableName + "` ADD COLUMN `" + columnName + "` varchar(255) NULL";
|
|
|
|
|
Db.use(DataEaseModel.DB_NAME).update(sql);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 导出Excel
|
|
|
|
|
* @param identity_id
|
|
|
|
|
* @param tableName
|
|
|
|
|
* @param dataSetName
|
|
|
|
|
* @param exportPath
|
|
|
|
|
* @param area_name
|
|
|
|
|
* @throws IOException
|
|
|
|
|
*/
|
|
|
|
|
public void exportExcel(int identity_id, String tableName, String dataSetName, String exportPath, String area_name) throws IOException {
|
|
|
|
|
//对此表中的数据进行直接导出EXCEL
|
|
|
|
|
String sql = "select * from `" + tableName + "`";
|
|
|
|
|
if (identity_id > 1) {
|
|
|
|
|
sql = sql + "where `行政区划`='" + area_name + "'";
|
|
|
|
|
}
|
|
|
|
|
List<Record> tableData = Db.use(DataEaseModel.DB_NAME).find(sql);
|
|
|
|
|
String excelFileName = "【" + area_name + "】" + dataSetName + ".xlsx";
|
|
|
|
|
ExcelCommonUtil.writeExcel(tableData, exportPath + "/" + excelFileName, true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|