|
|
|
@ -5,6 +5,7 @@ import com.jfinal.kit.Kv;
|
|
|
|
|
import com.jfinal.plugin.activerecord.Db;
|
|
|
|
|
import com.jfinal.plugin.activerecord.Record;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
public class CollectModel {
|
|
|
|
@ -27,7 +28,7 @@ public class CollectModel {
|
|
|
|
|
* @param person_id
|
|
|
|
|
* @param kvList
|
|
|
|
|
*/
|
|
|
|
|
public void addExcelJob(int publish_role_id, String person_id, List<Kv> kvList, String upload_excel_filename) {
|
|
|
|
|
public int addExcelJob(int publish_role_id, String person_id, List<Kv> kvList, String upload_excel_filename) {
|
|
|
|
|
//1、保存任务信息
|
|
|
|
|
Record record = new Record();
|
|
|
|
|
record.set("upload_excel_filename", upload_excel_filename);
|
|
|
|
@ -38,9 +39,74 @@ public class CollectModel {
|
|
|
|
|
record.set("publish_role_id", publish_role_id);
|
|
|
|
|
record.set("job_type", 2);
|
|
|
|
|
Db.save("t_collect_job", "job_id", record);
|
|
|
|
|
//任务编号
|
|
|
|
|
int job_id = record.getInt("job_id");
|
|
|
|
|
|
|
|
|
|
//2、保存Sheet表信息
|
|
|
|
|
int sheetIdx = 0;
|
|
|
|
|
for (Kv kv : kvList) {
|
|
|
|
|
String table_name = "ds_job_" + job_id + "_" + sheetIdx;
|
|
|
|
|
int sheet_index = kv.getInt("sheet_index");
|
|
|
|
|
String sheet_name = kv.getStr("sheet_name");
|
|
|
|
|
int start_row = kv.getInt("start_row");
|
|
|
|
|
int end_row = kv.getInt("end_row");
|
|
|
|
|
int start_column = kv.getInt("start_column");
|
|
|
|
|
int end_column = kv.getInt("end_column");
|
|
|
|
|
int data_start_row = kv.getInt("data_start_row");
|
|
|
|
|
int column_num = kv.getInt("column_num");
|
|
|
|
|
sheetIdx++;
|
|
|
|
|
|
|
|
|
|
Record rSheet = new Record();
|
|
|
|
|
rSheet.set("job_id", job_id);
|
|
|
|
|
rSheet.set("sheet_index", sheet_index);
|
|
|
|
|
rSheet.set("sheet_name", sheet_name);
|
|
|
|
|
rSheet.set("is_check", 0);
|
|
|
|
|
rSheet.set("table_name", table_name);
|
|
|
|
|
rSheet.set("start_row", start_row);
|
|
|
|
|
rSheet.set("end_row", end_row);
|
|
|
|
|
rSheet.set("start_column", start_column);
|
|
|
|
|
rSheet.set("end_column", end_column);
|
|
|
|
|
rSheet.set("data_start_row", data_start_row);
|
|
|
|
|
rSheet.set("column_num", column_num);
|
|
|
|
|
Db.save("t_collect_job_sheet", "job_id,sheet_index", rSheet);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//3、保存Sheet表中各个列的信息
|
|
|
|
|
List<Record> writeList = new ArrayList<>();
|
|
|
|
|
sheetIdx = 0;
|
|
|
|
|
for (Kv kv : kvList) {
|
|
|
|
|
List<Record> list = (List<Record>) kv.get("list");
|
|
|
|
|
int colIdx = 0;
|
|
|
|
|
for (Record r : list) {
|
|
|
|
|
String column_name = r.getStr("column_name");
|
|
|
|
|
String memo = r.getStr("memo");
|
|
|
|
|
Record writeRecord = new Record();
|
|
|
|
|
writeRecord.set("job_id", job_id);
|
|
|
|
|
writeRecord.set("sheet_index", sheetIdx);
|
|
|
|
|
writeRecord.set("column_index", colIdx);
|
|
|
|
|
writeRecord.set("column_name", column_name);
|
|
|
|
|
writeRecord.set("original_name", memo);
|
|
|
|
|
writeRecord.set("column_type_id", "varchar(2048)");
|
|
|
|
|
writeRecord.set("column_type_name", "文本");
|
|
|
|
|
writeRecord.set("allow_blank", true);
|
|
|
|
|
writeRecord.set("options", "");
|
|
|
|
|
writeList.add(writeRecord);
|
|
|
|
|
colIdx++;
|
|
|
|
|
}
|
|
|
|
|
sheetIdx++;
|
|
|
|
|
}
|
|
|
|
|
Db.batchSave("t_collect_job_sheet_col", writeList, 100);
|
|
|
|
|
|
|
|
|
|
return job_id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能:获取数据类型的数据字典
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> getDataTypeDict() {
|
|
|
|
|
String sql = "select * from t_collect_datatype order by id";
|
|
|
|
|
return Db.find(sql);
|
|
|
|
|
}
|
|
|
|
|
}
|