1、支持列表自定义表头

2、业务完事,代码优化
This commit is contained in:
2019-04-23 20:54:42 +08:00
parent 8a03b03888
commit 211e59ea3b
8 changed files with 104 additions and 116 deletions

View File

@@ -192,7 +192,7 @@ public class MetaKit {
};
//listcfg
public static Function<MetaService, Kv> builderCfg = (m) -> {
/*public static Function<MetaService, Kv> builderCfg = (m) -> {
List<String> shows = m.getShows();
List<Map> filters = m.getFilters();
@@ -240,9 +240,9 @@ public class MetaKit {
_filters.add(filter);
});
/*shows.forEach(x -> {
*//*shows.forEach(x -> {
_shows.add(Kv.of("name", x).set("label", getFieldLabel(x)));
});*/
});*//*
Kv cfg = Kv.of();
cfg.set("title", m.getName())//业务名称
@@ -252,13 +252,13 @@ public class MetaKit {
.set("filters", _filters);//查询过滤条件
return cfg;
};
};*/
public static Map cfg(String name, String token) {
MetaService metaService = getMetaService(name, token);
Kv<String, MetaTable> metaTables = getMetaTables(metaService, false);
List<String> shows = metaService.getShows();
List<Map<String, String>> shows = metaService.getShows();
List<Map> edits = metaService.getEdits();
List<String> details = metaService.getDetails();
List<Map> filters = metaService.getFilters();
@@ -282,14 +282,13 @@ public class MetaKit {
});
//shows
List _shows = new ArrayList();
/*List _shows = new ArrayList();
shows.forEach(x -> {
MetaTable metaTable = metaTables.get(x.split("[.]")[0]); // 表别名
metaTable.getItems()
.stream()
metaTable.getItems().stream()
.filter(y -> x.split("[.]")[1].equals(y.getName()))
.findFirst().ifPresent(y -> _shows.add(Kv.of("col", x).set("order", true)));
});
});*/
//filters
List<Map> _filters = new ArrayList<>();
@@ -298,8 +297,7 @@ public class MetaKit {
MetaTable metaTable = metaTables.get(col.split("[.]")[0]); // 表别名
Kv filter = Kv.of();
metaTable.getItems()
.stream()
metaTable.getItems().stream()
.filter(y -> col.split("[.]")[1].equals(y.getName()))
.findFirst()
.ifPresent(y -> {
@@ -364,7 +362,7 @@ public class MetaKit {
return Kv.of()
.set("title", comment)
.set("items", _items2)
.set("shows", _shows)
.set("shows", shows)
.set("filters", _filters)
.set("edits", _edits)
.set("details", _details);
@@ -479,7 +477,7 @@ public class MetaKit {
return alias;
}),
metaService.getExports().stream().map(x -> x.split("[.]")[0]),
metaService.getShows().stream().map(x -> x.split("[.]")[0])/*, todo: xxx
metaService.getShows().stream().map(x -> x.get("col").split("[.]")[0])/*, todo: xxx
metaService.getEdits().stream().map(x -> x.split("[.]")[0])*/
);

View File

@@ -105,10 +105,14 @@ public class ParseMysql implements Parser {
Kv<String, MetaTable> tables = MetaKit.getMetaTables(metaService, false);//所有的关联表信息
MetaTable metaTable = tables.get(metaService.getTable());//基础元数据
List<String> shows = metaService.getShows();//查询的属性
List<Map<String, String>> shows = metaService.getShows();//查询的属性
List<String> _filters = fBean.getFilters().stream().map(Filter::getCol).collect(Collectors.toList());
List<MetaLink> links = MetaKit.getMetaLinks(metaService.getTable(), shows, _filters);
List<MetaLink> links = MetaKit.getMetaLinks(
metaService.getTable(),
shows.stream().map(x -> x.get("col")).collect(Collectors.toList()),
_filters
);
//查询条件
List<Filter> filters = fBean.getFilters();
Limit limit = fBean.getLimit();
@@ -131,7 +135,7 @@ public class ParseMysql implements Parser {
if (!isEmpty.test(shows)) {
shows.forEach(x -> {
//buf.append("`").append("x").append("`").append(",");
bufSelect.append(x).append(" as ").append("'").append(x).append("',");
bufSelect.append(x.get("col")).append(" as ").append("'").append(x.get("col")).append("',");
});
bufSelect.deleteCharAt(bufSelect.length() - 1);
} else {

View File

@@ -17,11 +17,9 @@ public class MetaService extends Doc<MetaService> {
private String name; //业务标识
private String table; //主体表别名
private String comment; //业务中文名
//private List<String> links; //["link._key1","link._key2"]
private String sysPlatId; //平台id
private List<String> shows = new ArrayList<>();
private List<Map<String,String>> shows = new ArrayList<>();
private List<Map> edits = new ArrayList<>();
private List<String> details = new ArrayList<>();
private List<Map> filters = new ArrayList<>();
@@ -64,19 +62,12 @@ public class MetaService extends Doc<MetaService> {
public void setSysPlatId(String sysPlatId) {
this.sysPlatId = sysPlatId;
}
/*public List<String> getLinks() {
return links;
}
public void setLinks(List<String> links) {
this.links = links;
}*/
public List<String> getShows() {
public List<Map<String, String>> getShows() {
return shows;
}
public void setShows(List<String> shows) {
public void setShows(List<Map<String, String>> shows) {
this.shows = shows;
}

View File

@@ -149,12 +149,12 @@ public class MetadataService extends BaseService { //arango
}
@RestMapping(name = "showsort", comment = "展示字段修改")
public JBean showSort(String serviceKey , List<String> items, @RestParam(name = "platToken") String token) {
if (items == null || items.size() == 0) return null;
public JBean showSort(String name , List<Map<String,String>> shows, @RestParam(name = "platToken") String token) {
if (shows == null || shows.size() == 0) return null;
MetaService metaService = MetaKit.getMetaService(serviceKey, token);
MetaService metaService = MetaKit.getMetaService(name, token);
metaService.setShows(items);
metaService.setShows(shows);
metaService.update();
MetaKit.reload(metaService);
return JBean.OK;