Browse Source

关联表单优化-app

lwx_v1
liwenxuan 2 years ago
parent
commit
d937a20dff
  1. 2
      src/main/java/com/hxgk/lowcode/mapper/CustomerFormViewMapper.java
  2. 15
      src/main/java/com/hxgk/lowcode/model/entity/CustomerFormView.java
  3. 8
      src/main/java/com/hxgk/lowcode/model/entity/Tree.java
  4. 120
      src/main/java/com/hxgk/lowcode/service/impl/CustomerFormServiceImpl.java
  5. 2
      src/main/resources/mapper/CustomerFormMapper.xml
  6. 11
      src/main/resources/mapper/CustomerFormvViewMapper.xml

2
src/main/java/com/hxgk/lowcode/mapper/CustomerFormViewMapper.java

@ -10,4 +10,6 @@ public interface CustomerFormViewMapper {
ArrayList<CustomerFormView> getCustomerFormViewListByTablekey(ArrayList<String> tablekeyList);
ArrayList<CustomerFormView> getCustomerFormViewListByGroupid(String groupid);
}

15
src/main/java/com/hxgk/lowcode/model/entity/CustomerFormView.java

@ -16,7 +16,7 @@ public class CustomerFormView {
private String editTime;
private String tableStructure;
private String dict;
private Integer cfid;
private String cfid;
private String name;
private String permit;
private Integer classify;
@ -24,6 +24,15 @@ public class CustomerFormView {
private String flowkey;
private String postpermit;
private String powerstr;
private String signCode;
public String getSignCode() {
return signCode;
}
public void setSignCode(String signCode) {
this.signCode = signCode;
}
public String getId() {
return id;
@ -113,11 +122,11 @@ public class CustomerFormView {
this.dict = dict;
}
public Integer getCfid() {
public String getCfid() {
return cfid;
}
public void setCfid(Integer cfid) {
public void setCfid(String cfid) {
this.cfid = cfid;
}

8
src/main/java/com/hxgk/lowcode/model/entity/Tree.java

@ -14,8 +14,16 @@ public class Tree {
private List<Tree> children;
private String value;
private HashMap<String,Object> treeAttrs;
private Boolean disabled;
public Boolean getDisabled() {
return disabled;
}
public void setDisabled(Boolean disabled) {
this.disabled = disabled;
}
public String getId() {
return id;

120
src/main/java/com/hxgk/lowcode/service/impl/CustomerFormServiceImpl.java

@ -42,6 +42,7 @@ public class CustomerFormServiceImpl implements CustomerFormService {
//根据用户权限查询表单列表
public Tree getCustomerFormList(String key, String token) {
//查询出所有表单
ArrayList<CustomerForm> customerFormList = customerFormMapper.getCustomerFormList();
@ -62,7 +63,7 @@ public class CustomerFormServiceImpl implements CustomerFormService {
tree.setLabel("请选择表单");
tree.setValue("rootvalue");
//筛选出所有表单中,当前用户有权限的表单
for(CustomerForm c:customerFormList){
for(CustomerForm c:customerFormList){//
//把权限相关字段字符串处理为数组
@ -147,6 +148,7 @@ public class CustomerFormServiceImpl implements CustomerFormService {
}
}
}
//根据权限过滤完成customerFormList1
ArrayList<String> tablekeyList = new ArrayList<>();
for(CustomerForm item:customerFormList1){
tablekeyList.add(item.getTablename());
@ -154,37 +156,101 @@ public class CustomerFormServiceImpl implements CustomerFormService {
ArrayList<CustomerFormView> customerFormViewArrayList = customerFormViewMapper.getCustomerFormViewListByTablekey(tablekeyList);
ArrayList<Tree> treeArrayList1 = new ArrayList<>();
for(CustomerFormView item:customerFormViewArrayList){
Tree tree1 = new Tree();
tree1.setId(item.getId());
tree1.setParentId(tree.getId());
tree1.setLabel(item.getName());
tree1.setValue(item.getId());
HashMap<String,Object> treeAttrs = new HashMap<>();
treeAttrs.put("version",item.getVersion().toString());
tree1.setTreeAttrs(treeAttrs);
ArrayList<Tree> treeArrayList = new ArrayList<>();
if(!StringUtils.isBlank(item.getTableStructure())){
String tableStructure = item.getTableStructure();
tableStructure = tableStructure.replace("{","");
tableStructure = tableStructure.replace("}","");
tableStructure = tableStructure.replace("\"","");
String[] tableStructureArr = StringUtils.splitByWholeSeparator(tableStructure, ",");
for(String item1:tableStructureArr){
String l = StringUtils.splitByWholeSeparator(item1, ":")[1];
Tree tree2 = new Tree();
tree2.setLabel(l);
tree2.setParentId(tree1.getId());
tree2.setId(tree1.getId()+":zibiaoid-"+l);
tree2.setValue(tree2.getId());
treeArrayList.add(tree2);
if(item.getClassify()==3){//app
tree1.setId(item.getCfid());
tree1.setParentId(tree.getId());
tree1.setLabel("App-"+item.getName());
tree1.setValue(item.getCfid());
tree1.setDisabled(true);
ArrayList<CustomerFormView> appForms = customerFormViewMapper.getCustomerFormViewListByGroupid(item.getSignCode());
if(appForms.size()>0){
ArrayList<Tree> treeArrayListx = new ArrayList<>();
for(CustomerFormView itemx:appForms){
Tree tree2 = new Tree();
tree2.setId(itemx.getCfid());
tree2.setParentId(tree1.getId());
tree2.setLabel("Form-"+itemx.getName());
tree2.setValue(itemx.getCfid());
HashMap<String,Object> treeAttrs = new HashMap<>();
treeAttrs.put("version",itemx.getVersion().toString());
tree2.setTreeAttrs(treeAttrs);
ArrayList<Tree> treeArrayList = new ArrayList<>();
if(!StringUtils.isBlank(itemx.getTableStructure())){
String tableStructure = itemx.getTableStructure();
tableStructure = tableStructure.replace("{","");
tableStructure = tableStructure.replace("}","");
tableStructure = tableStructure.replace("\"","");
String[] tableStructureArr = StringUtils.splitByWholeSeparator(tableStructure, ",");
for(String item1:tableStructureArr){
String l = StringUtils.splitByWholeSeparator(item1, ":")[1];
Tree tree3 = new Tree();
tree3.setLabel("子表-"+l);
tree3.setParentId(tree2.getId());
tree3.setId(tree2.getId()+":zibiaoid-"+l);
tree3.setValue(tree3.getId());
treeArrayList.add(tree3);
}
}
tree2.setChildren(treeArrayList);
treeArrayListx.add(tree2);
}
HashMap<String,Object> treeAttrs = new HashMap<>();
treeAttrs.put("version",item.getVersion().toString());
tree1.setChildren(treeArrayListx);
tree1.setTreeAttrs(treeAttrs);
}
treeArrayList1.add(tree1);
}else{
tree1.setId(item.getCfid());
tree1.setParentId(tree.getId());
tree1.setLabel("Form-"+item.getName());
tree1.setValue(item.getCfid());
HashMap<String,Object> treeAttrs = new HashMap<>();
treeAttrs.put("version",item.getVersion().toString());
tree1.setTreeAttrs(treeAttrs);
ArrayList<Tree> treeArrayList = new ArrayList<>();
if(!StringUtils.isBlank(item.getTableStructure())){
String tableStructure = item.getTableStructure();
tableStructure = tableStructure.replace("{","");
tableStructure = tableStructure.replace("}","");
tableStructure = tableStructure.replace("\"","");
String[] tableStructureArr = StringUtils.splitByWholeSeparator(tableStructure, ",");
for(String item1:tableStructureArr){
String l = StringUtils.splitByWholeSeparator(item1, ":")[1];
Tree tree2 = new Tree();
tree2.setLabel("子表-"+l);
tree2.setParentId(tree1.getId());
tree2.setId(tree1.getId()+":zibiaoid-"+l);
tree2.setValue(tree2.getId());
treeArrayList.add(tree2);
}
}
tree1.setChildren(treeArrayList);
treeArrayList1.add(tree1);
}
tree1.setChildren(treeArrayList);
treeArrayList1.add(tree1);
}
tree.setChildren(treeArrayList1);
return tree;

2
src/main/resources/mapper/CustomerFormMapper.xml

@ -7,7 +7,7 @@
<select id="getCustomerFormList" resultType="com.hxgk.lowcode.model.entity.CustomerForm">
select * from customer_form where states = 1
select * from customer_form where states = 1 and classify != 4
</select>

11
src/main/resources/mapper/CustomerFormvViewMapper.xml

@ -8,7 +8,7 @@
<select id="getCustomerFormViewListByTablekey" resultType="com.hxgk.lowcode.model.entity.CustomerFormView">
select
id,tablekey,version,status,time,creater,edit_time,table_structure,dict,cfid,name,classify,flowkey
id,tablekey,version,status,time,creater,edit_time,table_structure,dict,cfid,name,classify,flowkey,signCode
from customer_form_view
where status = 1 and tablekey in
<foreach collection="list" item="tablekey" index="index" open="(" close=")" separator=",">
@ -17,4 +17,13 @@
order by id
</select>
<select id="getCustomerFormViewListByGroupid" resultType="com.hxgk.lowcode.model.entity.CustomerFormView">
select
id,tablekey,version,status,time,creater,edit_time,table_structure,dict,cfid,name,classify,flowkey,signCode
from customer_form_view
where status = 1 and classify = 4 and groupid = #{groupid}
order by id
</select>
</mapper>
Loading…
Cancel
Save