1、metaTable中加入字段主键设置

2、添加删除策略配置
3、列表配置中加入"HIDDEN"配置,以及预览中加入解析逻辑
This commit is contained in:
2019-06-10 17:55:46 +08:00
parent 1f5ea920b4
commit 4037398598
18 changed files with 350 additions and 30 deletions

View File

@@ -231,6 +231,22 @@ public final class MetaKit {
.filter(y -> x.split("[.]")[1].equals(y.getName()))
.findFirst().ifPresent(y -> _shows.add(Kv.of("col", x).set("order", true)));
});*/
List<Kv> _shows = shows.stream().map(x -> {
Kv kv = Kv.of();
kv.putAll(x);
if ("FUNC".equalsIgnoreCase(x.get("inType")) || "QTASK".equalsIgnoreCase(x.get("inType")) || "DICT".equalsIgnoreCase(x.get("inType"))) {
kv.set("fmt", x.get("inType") + "|" + x.get("inExt"));
} else if ("HIDDEN".equalsIgnoreCase(x.get("inType"))) {
kv.set("fmt", "HIDDEN");
} else {
kv.set("fmt", "");
}
kv.remove("inType");
kv.remove("inExt");
return kv;
}).collect(Collectors.toList());
//filters
List<Map> _filters = new ArrayList<>();
@@ -300,10 +316,28 @@ public final class MetaKit {
_details.add(kv);
});*/
//pk业务主表的主键
StringBuffer _pks = new StringBuffer();
MetaTable mainTable = metaTables.get(metaService.getTable());
mainTable.getItems().stream().filter(x -> x.getPk() != null && x.getPk()).forEach(x -> {
_pks.append(String.format("%s.%s,", metaService.getTable(), x.getName()));
});
if (_pks.length() > 0) {
_pks.deleteCharAt(_pks.length() -1);
}
if (_pks.length() == 0) { // 默认主键
List<Field> items = metaTables.get(metaService.getTable()).getItems();
//存在id字段取id
items.stream().filter(x -> x.getName().equalsIgnoreCase("id")).findAny().ifPresent(x -> {
_pks.append(String.format("%s.%s", metaService.getTable(), x.getName()));
});
}
return Kv.of()
.set("pk", _pks.toString())
.set("title", comment)
.set("items", _items2)
.set("shows", shows)
.set("shows", _shows)
.set("filters", _filters)
.set("edits", edits)
.set("details", details);