|
|
|
@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.dsideal.QingLong.Classes.Model.ClassModel;
|
|
|
|
|
import com.dsideal.QingLong.Collect.Const.DataType;
|
|
|
|
|
import com.dsideal.QingLong.Global.Model.GlobalModel;
|
|
|
|
|
import com.dsideal.QingLong.Util.ChineseCharacterUtil;
|
|
|
|
@ -365,6 +366,8 @@ public class CollectModel {
|
|
|
|
|
String finalSql = "DROP TABLE IF EXISTS " + table_name + ";";
|
|
|
|
|
finalSql += "CREATE TABLE \"public\".\"" + table_name + "\" (";
|
|
|
|
|
finalSql += "\"id\" serial4,";
|
|
|
|
|
finalSql += "\"area_id\" char(36) NOT NULL,";
|
|
|
|
|
finalSql += "\"area_name\" varchar(255) NOT NULL,";
|
|
|
|
|
finalSql += "\"bureau_id\" char(36) NOT NULL,";
|
|
|
|
|
finalSql += "\"bureau_name\" varchar(255) NOT NULL,";
|
|
|
|
|
finalSql += "\"person_id\" char(36) NOT NULL,";
|
|
|
|
@ -375,6 +378,8 @@ public class CollectModel {
|
|
|
|
|
finalSql += ");\n";
|
|
|
|
|
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"id\" IS '主键,自增长ID';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"area_id\" IS '县区ID';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"area_name\" IS '县区名称';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"bureau_id\" IS '单位ID';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"bureau_name\" IS '单位名称';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"person_id\" IS '上传人员ID';\n";
|
|
|
|
@ -476,6 +481,17 @@ public class CollectModel {
|
|
|
|
|
return Db.find(sql, upload_excel_filename_finish, sheet_index);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能:获取指定单位的县区相关信息
|
|
|
|
|
*
|
|
|
|
|
* @param bureau_id
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public Record getBureauAreaInfo(String bureau_id) {
|
|
|
|
|
String sql = "select t1.area_id,t2.area_name from t_base_organization as t1 inner join t_dm_area as t2 on t1.area_id=t2.area_id where t1.org_id=?";
|
|
|
|
|
return Db.findFirst(sql, bureau_id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能:导入数据
|
|
|
|
|
*
|
|
|
|
@ -515,9 +531,15 @@ public class CollectModel {
|
|
|
|
|
//获得行
|
|
|
|
|
XSSFRow row = sheet.getRow(i);
|
|
|
|
|
|
|
|
|
|
Record areaRecord = getBureauAreaInfo(bureau_id);
|
|
|
|
|
String area_id = areaRecord.getStr("area_id");
|
|
|
|
|
String area_name = areaRecord.getStr("area_name");
|
|
|
|
|
|
|
|
|
|
//遍历列
|
|
|
|
|
if (row != null) {
|
|
|
|
|
Record writeRecord = new Record();
|
|
|
|
|
writeRecord.set("area_id", area_id);
|
|
|
|
|
writeRecord.set("area_name", area_name);
|
|
|
|
|
writeRecord.set("bureau_id", bureau_id);
|
|
|
|
|
writeRecord.set("bureau_name", bureau_name);
|
|
|
|
|
writeRecord.set("person_id", person_id);
|
|
|
|
@ -1478,22 +1500,29 @@ public class CollectModel {
|
|
|
|
|
|
|
|
|
|
String finalSql = "CREATE TABLE \"public\".\"" + table_name + "\" (";
|
|
|
|
|
finalSql += "\"id\" serial4,";
|
|
|
|
|
finalSql += "\"area_id\" char(36) NOT NULL,";
|
|
|
|
|
finalSql += "\"area_name\" varchar(255) NOT NULL,";
|
|
|
|
|
finalSql += "\"bureau_id\" char(36) NOT NULL,";
|
|
|
|
|
finalSql += "\"bureau_name\" varchar(255) NOT NULL,";
|
|
|
|
|
finalSql += "\"person_id\" char(36) NOT NULL,";
|
|
|
|
|
finalSql += "\"person_name\" varchar(255) NOT NULL,";
|
|
|
|
|
finalSql += "\"class_id\" char(36) ,";
|
|
|
|
|
finalSql += "\"class_name\" varchar(255),";
|
|
|
|
|
|
|
|
|
|
finalSql += "\"job_id\" int4 NOT NULL,";
|
|
|
|
|
finalSql += colSql;
|
|
|
|
|
finalSql += "PRIMARY KEY (\"id\")";
|
|
|
|
|
finalSql += ");\n";
|
|
|
|
|
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"id\" IS '主键,自增长ID';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"area_id\" IS '县区ID';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"area_name\" IS '县区名称';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"bureau_id\" IS '单位ID';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"bureau_name\" IS '单位名称';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"person_id\" IS '上传人员ID';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"person_name\" IS '上传人员姓名';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"class_id\" IS '班级ID';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"class_name\" IS '班级名称';\n";
|
|
|
|
|
finalSql += "COMMENT ON COLUMN \"public\".\"" + table_name + "\".\"job_id\" IS '任务ID';\n";
|
|
|
|
|
finalSql += commentSql;
|
|
|
|
|
finalSql += "COMMENT ON TABLE \"public\".\"" + table_name + "\" IS '" + job_name + "';";
|
|
|
|
@ -1523,14 +1552,16 @@ public class CollectModel {
|
|
|
|
|
/**
|
|
|
|
|
* 功能:填报者保存填报结果
|
|
|
|
|
*/
|
|
|
|
|
public void saveFormJob(int job_id, String bureau_id, String bureau_name, String person_id, String person_name, String json) {
|
|
|
|
|
public void saveFormJob(int job_id, String bureau_id, String bureau_name, String s_class_id, String person_id, String person_name, String json) {
|
|
|
|
|
Record rJob = getJob(job_id);
|
|
|
|
|
String table_name = rJob.getStr("form_table_name");
|
|
|
|
|
String form_json = rJob.getStr("form_json");
|
|
|
|
|
|
|
|
|
|
//是面向单位的填报,还是面向人员的填报
|
|
|
|
|
int target_type_id = rJob.getInt("target_type_id");
|
|
|
|
|
|
|
|
|
|
Record areaRecord = getBureauAreaInfo(bureau_id);
|
|
|
|
|
String area_id = areaRecord.get("area_id");
|
|
|
|
|
String area_name = areaRecord.getStr("area_name");
|
|
|
|
|
//先删除后插入,保持健康
|
|
|
|
|
String sql;
|
|
|
|
|
if (target_type_id == 1) {
|
|
|
|
@ -1542,7 +1573,15 @@ public class CollectModel {
|
|
|
|
|
|
|
|
|
|
JSONObject j1 = JSONObject.parseObject(json);
|
|
|
|
|
Record record = new Record();
|
|
|
|
|
if (!s_class_id.equals("-1")) {//学生
|
|
|
|
|
ClassModel cm = new ClassModel();
|
|
|
|
|
String class_name = cm.getClassInfoByClassId(s_class_id).getString("class_name");
|
|
|
|
|
record.set("class_id", s_class_id);
|
|
|
|
|
record.set("class_name", class_name);
|
|
|
|
|
}
|
|
|
|
|
record.set("job_id", job_id);
|
|
|
|
|
record.set("area_id", area_id);
|
|
|
|
|
record.set("area_name", area_name);
|
|
|
|
|
record.set("bureau_id", bureau_id);
|
|
|
|
|
record.set("bureau_name", bureau_name);
|
|
|
|
|
record.set("person_id", person_id);
|
|
|
|
|