kgdxpr 2 years ago
commit 89234df05f

@ -495,14 +495,14 @@ public class CollectController extends Controller {
excelFile.getFile().renameTo(new File(basePath + File.separator + upload_excel_filename_user)); excelFile.getFile().renameTo(new File(basePath + File.separator + upload_excel_filename_user));
Record jobRecord = cm.getJob(job_id); Record jobRecord = cm.getJob(job_id);
String upload_excel_filename = jobRecord.getStr("upload_excel_filename_finish");//原始模板文件 String upload_excel_filename_finish = jobRecord.getStr("upload_excel_filename_finish");//系统生成的模板文件
//我提供的模板文件 //我提供的模板文件
String f1 = basePath + File.separator + upload_excel_filename; String f1 = basePath + File.separator + upload_excel_filename_finish;
//用户上传的填充完的EXCEL文件 //用户上传的填充完的EXCEL文件
String f2 = basePath + File.separator + upload_excel_filename_user; String f2 = basePath + File.separator + upload_excel_filename_user;
//对比两个EXCEL文件 是不是格式一致,也就是是不是上传了正确的模板文件 //对比两个EXCEL文件 是不是格式一致,也就是是不是上传了正确的模板文件
int sheetCnt = cm.getSheetCount(upload_excel_filename); int sheetCnt = cm.getSheetCount(upload_excel_filename_finish);
for (int i = 0; i < sheetCnt; i++) { for (int i = 0; i < sheetCnt; i++) {
List<Map.Entry<Integer, Integer>> chayi = cm.checkYiZhi(f1, f2, i); List<Map.Entry<Integer, Integer>> chayi = cm.checkYiZhi(f1, f2, i);
if (chayi.size() > 0) { if (chayi.size() > 0) {
@ -524,7 +524,7 @@ public class CollectController extends Controller {
//移除所有批注 //移除所有批注
PoiUtil.RemoveAllComment(sheet); PoiUtil.RemoveAllComment(sheet);
//数据起始行 //数据起始行
Record r = cm.getSheetConfig(upload_excel_filename, i); Record r = cm.getSheetConfig(upload_excel_filename_finish, i);
int data_start_row = r.getInt("data_start_row"); int data_start_row = r.getInt("data_start_row");
//恢复背景色 //恢复背景色
PoiUtil.resetStyle(wb, sheet, data_start_row); PoiUtil.resetStyle(wb, sheet, data_start_row);
@ -532,7 +532,7 @@ public class CollectController extends Controller {
//数据有效行数 //数据有效行数
int lastRowNum = sheet.getLastRowNum(); int lastRowNum = sheet.getLastRowNum();
//遍历每一列 //遍历每一列
List<Record> list = cm.getSheetMapping(upload_excel_filename, i); List<Record> list = cm.getSheetMapping(upload_excel_filename_finish, i);
for (Record record : list) {//列 for (Record record : list) {//列
int excel_column_idx = record.getInt("excel_column_idx");//第几列 int excel_column_idx = record.getInt("excel_column_idx");//第几列
String column_type = record.getStr("column_type");//类型 String column_type = record.getStr("column_type");//类型
@ -607,7 +607,7 @@ public class CollectController extends Controller {
} }
// 检查通过,导入数据 // 检查通过,导入数据
for (int i = 0; i < sheetCnt; i++) for (int i = 0; i < sheetCnt; i++)
cm.importData(job_id, upload_excel_filename, wb, i, bureau_id, person_id); cm.importData(job_id, upload_excel_filename_finish, wb, i, bureau_id, person_id);
//回写完成标记 //回写完成标记
cm.writeJobFinish(job_id, bureau_id, upload_excel_filename_user); cm.writeJobFinish(job_id, bureau_id, upload_excel_filename_user);

@ -95,7 +95,7 @@ public class CollectModel {
rSheet.set("end_column", end_column); rSheet.set("end_column", end_column);
rSheet.set("data_start_row", data_start_row); rSheet.set("data_start_row", data_start_row);
rSheet.set("column_num", column_num); rSheet.set("column_num", column_num);
rSheet.set("upload_excel_filename", upload_excel_filename); rSheet.set("upload_excel_filename_finish", "");
Db.save("t_collect_job_sheet", "job_id,sheet_index", rSheet); Db.save("t_collect_job_sheet", "job_id,sheet_index", rSheet);
} }
@ -241,6 +241,12 @@ public class CollectModel {
public void saveJob(int job_id, String job_name, String upload_excel_filename_finish) { public void saveJob(int job_id, String job_name, String upload_excel_filename_finish) {
String sql = "update t_collect_job set job_name=?,upload_excel_filename_finish=?,is_save=1 where job_id=?"; String sql = "update t_collect_job set job_name=?,upload_excel_filename_finish=?,is_save=1 where job_id=?";
Db.update(sql, job_name, upload_excel_filename_finish, job_id); Db.update(sql, job_name, upload_excel_filename_finish, job_id);
sql = "update t_collect_job_sheet set upload_excel_filename_finish=? where job_id=?";
Db.update(sql, upload_excel_filename_finish, job_id);
sql = "update t_collect_mapping set upload_excel_filename_finish=? where job_id=?";
Db.update(sql, upload_excel_filename_finish, job_id);
} }
/** /**
@ -358,7 +364,7 @@ public class CollectModel {
record.set("original_name", list.get(i).getStr("original_name")); record.set("original_name", list.get(i).getStr("original_name"));
record.set("allow_blank", list.get(i).getBoolean("allow_blank")); record.set("allow_blank", list.get(i).getBoolean("allow_blank"));
record.set("column_type", convertDataType(list.get(i).getStr("data_type_id"))); record.set("column_type", convertDataType(list.get(i).getStr("data_type_id")));
record.set("upload_excel_filename", upload_excel_filename); record.set("upload_excel_filename_finish", "");
record.set("sheet_index", sheet_index); record.set("sheet_index", sheet_index);
record.set("sheet_name", sheet_name); record.set("sheet_name", sheet_name);
record.set("options", list.get(i).getStr("options")); record.set("options", list.get(i).getStr("options"));
@ -406,7 +412,7 @@ public class CollectModel {
* @return * @return
*/ */
public Record getSheetConfig(String upload_excel_filename, int sheet_index) { public Record getSheetConfig(String upload_excel_filename, int sheet_index) {
String sql = "select * from t_collect_job_sheet where upload_excel_filename=? and sheet_index=?"; String sql = "select * from t_collect_job_sheet where upload_excel_filename_finish=? and sheet_index=?";
return Db.findFirst(sql, upload_excel_filename, sheet_index); return Db.findFirst(sql, upload_excel_filename, sheet_index);
} }
@ -417,7 +423,7 @@ public class CollectModel {
* @return * @return
*/ */
public int getSheetCount(String upload_excel_filename) { public int getSheetCount(String upload_excel_filename) {
String sql = "select * from t_collect_job_sheet where upload_excel_filename=?"; String sql = "select * from t_collect_job_sheet where upload_excel_filename_finish=?";
List<Record> list = Db.find(sql, upload_excel_filename); List<Record> list = Db.find(sql, upload_excel_filename);
return list.size(); return list.size();
} }
@ -425,13 +431,13 @@ public class CollectModel {
/** /**
* +Sheet * +Sheet
* *
* @param upload_excel_filename * @param upload_excel_filename_finish
* @param sheet_index * @param sheet_index
* @return * @return
*/ */
public List<Record> getSheetMapping(String upload_excel_filename, int sheet_index) { public List<Record> getSheetMapping(String upload_excel_filename_finish, int sheet_index) {
String sql = "select * from t_collect_mapping where upload_excel_filename=? and sheet_index=?"; String sql = "select * from t_collect_mapping where upload_excel_filename_finish=? and sheet_index=?";
return Db.find(sql, upload_excel_filename, sheet_index); return Db.find(sql, upload_excel_filename_finish, sheet_index);
} }
/** /**
@ -439,13 +445,13 @@ public class CollectModel {
* *
* @throws ParseException * @throws ParseException
*/ */
public void importData(int job_id, String upload_excel_filename, XSSFWorkbook wb, public void importData(int job_id, String upload_excel_filename_finish, XSSFWorkbook wb,
int sheetIdx, String bureau_id, String person_id) throws ParseException { int sheetIdx, String bureau_id, String person_id) throws ParseException {
//读取sheet页 //读取sheet页
XSSFSheet sheet = wb.getSheetAt(sheetIdx); XSSFSheet sheet = wb.getSheetAt(sheetIdx);
//通过表名获取到它的读取起始行,终止列 //通过表名获取到它的读取起始行,终止列
String sql = "select * from t_collect_job_sheet where upload_excel_filename=? and sheet_index=?"; String sql = "select * from t_collect_job_sheet where upload_excel_filename_finish=? and sheet_index=?";
Record record = Db.findFirst(sql, upload_excel_filename, sheetIdx); Record record = Db.findFirst(sql, upload_excel_filename_finish, sheetIdx);
String table_name = record.getStr("table_name"); String table_name = record.getStr("table_name");
//先删除 //先删除
@ -456,8 +462,8 @@ public class CollectModel {
int column_num = record.getInt("column_num"); int column_num = record.getInt("column_num");
//获取字段与EXCEL列的映射信息 //获取字段与EXCEL列的映射信息
sql = "select * from t_collect_mapping where upload_excel_filename=? and sheet_index=?"; sql = "select * from t_collect_mapping where upload_excel_filename_finish=? and sheet_index=?";
List<Record> list = Db.find(sql, upload_excel_filename, sheetIdx); List<Record> list = Db.find(sql, upload_excel_filename_finish, sheetIdx);
Map<Integer, Record> _map = new HashMap<>(); Map<Integer, Record> _map = new HashMap<>();
for (Record r : list) { for (Record r : list) {
int excel_column_idx = r.getInt("excel_column_idx"); int excel_column_idx = r.getInt("excel_column_idx");

Loading…
Cancel
Save