@ -19,7 +19,9 @@ import com.jfinal.upload.UploadFile;
import net.sf.json.JSONObject ;
import java.io.IOException ;
import java.util.HashSet ;
import java.util.List ;
import java.util.Set ;
public class DataEaseController extends Controller {
DataEaseModel dm = new DataEaseModel ( ) ;
@ -186,9 +188,25 @@ public class DataEaseController extends Controller {
}
//检查上传的excel, 获取它有哪些列, 与数据集的列是否一致
List < String > cols = dm . getColumnNamesFromExcel ( uploadFile . getFile ( ) . getAbsolutePath ( ) ) ;
//获取指定数据集有哪些列
//获取指定数据表有哪些列
Record rDataSet = dm . getDataSetById ( id ) ;
String tableName = rDataSet . getStr ( "table_name" ) ;
//mysql数据库中真实表有哪些字段
List < String > mysqlCols = dm . getColumns ( tableName ) ;
//id列需要特殊处理
if ( mysqlCols . contains ( "id" ) ) mysqlCols . remove ( "id" ) ;
//对比两个数组集是不是一致,就是对比列名是不是完全匹配,使用交集去检查
Set < String > set1 = new HashSet < > ( cols ) ;
Set < String > set2 = new HashSet < > ( mysqlCols ) ;
//是不是完整匹配
boolean match = set1 . equals ( set2 ) ;
if ( ! match ) {
renderJson ( CommonUtil . returnMessageJson ( false , "上传的Excel列名与数据集列名不一致, 请重新上传! " ) ) ;
return ;
}
//如果一致,那么需要先把数据集的指定行政区划列的表清空,再导入数据
//TODO
//返回结果
Kv kv = Kv . create ( ) ;