main
黄海 6 months ago
parent e4905c98d1
commit 6518d926e5

@ -214,10 +214,16 @@ public class YunXiaoModel {
public Page<Record> getDataSetContent(String datasetId, int pageNumber, int pageSize) { public Page<Record> getDataSetContent(String datasetId, int pageNumber, int pageSize) {
String sql = "select * from t_dp_yx_dataset where dataset_group_id=?"; String sql = "select * from t_dp_yx_dataset where dataset_group_id=?";
Record record = Db.findFirst(sql, datasetId); Record record = Db.findFirst(sql, datasetId);
if(record == null) return null; if (record == null) return null;
String tableName = record.getStr("table_name"); String tableName = record.getStr("table_name");
Page<Record> p = Db.use(DB_NAME).paginate(pageNumber, pageSize, Page<Record> p = Db.use(DB_NAME).paginate(pageNumber, pageSize,
"SELECT *", "from " + "`" + tableName+"`"); "SELECT *", "from " + "`" + tableName + "`");
//遍历检查 p.getList() 中的每个 Record,是不是有“占比”名称的字段,这个字段不返回给前端让用户修改
for (Record r : p.getList()) {
if (r.get("占比") != null) {
r.remove("占比");
}
}
return p; return p;
} }
@ -226,11 +232,26 @@ public class YunXiaoModel {
* *
*/ */
public void saveDataSet(String dataset_id, String id, String field, String value) { public void saveDataSet(String dataset_id, String id, String field, String value) {
String sql="select * from t_dp_yx_dataset where dataset_group_id=?"; String sql = "select * from t_dp_yx_dataset where dataset_group_id=?";
Record record = Db.findFirst(sql, dataset_id); Record record = Db.findFirst(sql, dataset_id);
String tableName = record.getStr("table_name"); String tableName = record.getStr("table_name");
sql = "update `" + tableName + "` set `" + field + "`=? where id=?"; sql = "update `" + tableName + "` set `" + field + "`=? where id=?";
Db.use(DB_NAME).update(sql, value, id); Db.use(DB_NAME).update(sql, value, id);
//查询出这个数据集对应的表
sql = "select * from `" + tableName + "` where id=?";
Record r = Db.use(DB_NAME).findFirst(sql, id);
if (r.get("占比") != null) {
//需要重新统计占比
sql = "UPDATE `" + tableName + "` t1,(SELECT SUM(`" + field + "`) as total FROM `" + tableName + "` {{where}} ) t2 SET t1.`占比` = ROUND(t1.`" + field
+ "` / t2.total, 2) ";
if (r.get("学段") != null) {//重新按同一个学段统计一下占比
sql = sql.replace("{{where}}", " where t1.`学段`='" + r.getStr("学段") + "'");
} else {//整体统计占比
sql = sql.replace("{{where}}", "");
}
Db.use(DB_NAME).update(sql);
}
} }
public String getCityNameByAreaName(String areaName) { public String getCityNameByAreaName(String areaName) {
@ -249,7 +270,7 @@ public class YunXiaoModel {
*/ */
public List<Record> getDatasetTree() { public List<Record> getDatasetTree() {
SqlPara sqlPara = Db.getSqlPara("YunXiao.datasetTree"); SqlPara sqlPara = Db.getSqlPara("YunXiao.datasetTree");
List<Record> list=Db.find(sqlPara); List<Record> list = Db.find(sqlPara);
return list; return list;
} }
} }

Loading…
Cancel
Save