|
|
package Tools.DataEase;
|
|
|
import Tools.DataEase.Util.DataEaseUtil;
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
import com.dsideal.QingLong.Util.CommonUtil;
|
|
|
import com.jfinal.plugin.activerecord.Db;
|
|
|
import com.jfinal.plugin.activerecord.Record;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
public class ExcelExportTemplate {
|
|
|
public static void main(String[] args) throws IOException {
|
|
|
DataEaseUtil.Init();
|
|
|
|
|
|
//文本文件
|
|
|
if (!FileUtil.exist(DataEaseUtil.DataEaseDirectory)) FileUtil.mkdir(DataEaseUtil.DataEaseDirectory);
|
|
|
String sql = "select id,name from dataset_table where create_by='admin' and type='excel'";
|
|
|
List<Record> listAll = Db.find(sql);
|
|
|
|
|
|
int cnt = 0;
|
|
|
for (Record record : listAll) {
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
String table_id = record.getStr("id");
|
|
|
String name = record.getStr("name");
|
|
|
String tableName = "ds_" + table_id.replace("-", "_");
|
|
|
|
|
|
sb.append("/*\r\n表名:\r\n" + tableName + "\r\n");
|
|
|
sb.append("\r\n");
|
|
|
sb.append("业务名称:" + name + "\r\n");
|
|
|
//教师职称---> vs---> table
|
|
|
|
|
|
//这张表中有多个数据项目
|
|
|
Map<String, String> _map = DataEaseUtil.getColumnMap(tableName);
|
|
|
|
|
|
sql = "select * from " + tableName;
|
|
|
List<Record> list = Db.find(sql);
|
|
|
List<String> cList = DataEaseUtil.getColumns(tableName);
|
|
|
if (cList.size() > 2) {
|
|
|
sb.append("类型:集合\r\n");
|
|
|
} else {
|
|
|
sb.append("类型:单个\r\n");
|
|
|
}
|
|
|
String t = "字段顺序:";
|
|
|
boolean flag = false;
|
|
|
for (int i = 0; i < cList.size(); i++) {//每一列
|
|
|
String colName = cList.get(i).toLowerCase();
|
|
|
if (_map.containsKey(colName)) {
|
|
|
t += _map.get(colName) + ",";
|
|
|
flag = true;
|
|
|
}
|
|
|
}
|
|
|
if (flag) {
|
|
|
sb.append(t.substring(0, t.length() - 1) + "\r\n");
|
|
|
sb.append("数据行数:" + list.size() + "\r\n");
|
|
|
}
|
|
|
sb.append("温馨提示:\r\n");
|
|
|
sb.append("1、使用注释请使用 -- 开头。\r\n");
|
|
|
sb.append("2、支持多行SQL语句,每个SQL语句需要以;号结尾,最后一条也要以;号结尾!\r\n");
|
|
|
sb.append("*/" + "\r\n");
|
|
|
|
|
|
cnt++;
|
|
|
FileUtil.writeUtf8String(sb.toString(), new File(DataEaseUtil.DataEaseDirectory + "/" + cnt + "_" + name + ".txt"));
|
|
|
}
|
|
|
CommonUtil.log("恭喜,所有脚本生成成功!");
|
|
|
|
|
|
//直接打开生成脚本的目录
|
|
|
try {
|
|
|
Runtime.getRuntime().exec("cmd /c start explorer " + DataEaseUtil.DataEaseDirectory);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
}
|