package com.vci.web.query; import com.alibaba.fastjson.JSON; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.web.util.Func; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 列表的查询 * @author weidy * @date 2021/2/16 */ public class UIDataGridQuery extends BaseQueryObject { /** * 业务类型编号,必输 */ private String btmname; /** * 表格定义的英文名称,必输 */ private String tableDefineId; /** * UI上下文的主键 */ private String uiDefineId; /** * 组件的主键 */ private String componentOid; /** * 是否为链接类型 */ private boolean linkTypeFlag; /** * 来源数据 */ private Map sourceData = new HashMap<>(); /** * 选择数据 */ private List> selectData = new ArrayList<>(); /** * 是否树表的查询 */ private boolean treeTableFlag = false; public Map getSourceData() { return sourceData; } public void setSourceData(Map sourceData) { // TODO: 2024/12/2 Ludc 界面传过来的Map的value可能是一个Map,所以尝试转换 Map convertMap = new HashMap<>(); sourceData.keySet().stream().forEach(key->{ Object obj = sourceData.get(key); try { if(Func.isNotEmpty(obj)){ convertMap.put(key,JSON.parseObject(obj.toString(), HashMap.class)); } }catch (Exception e){ //不抛出异常,如果转的时候报错就代表是String:String类型,直接往Map里面放 convertMap.put(key,obj); //e.printStackTrace(); } }); this.sourceData = convertMap; } public List> getSelectData() { return selectData; } public void setSelectData(List> selectData) { this.selectData = selectData; } public String getBtmname() { return btmname; } public void setBtmname(String btmname) { this.btmname = btmname; } public String getTableDefineId() { return tableDefineId; } public void setTableDefineId(String tableDefineId) { this.tableDefineId = tableDefineId; } public String getUiDefineId() { return uiDefineId; } public void setUiDefineId(String uiDefineId) { this.uiDefineId = uiDefineId; } public String getComponentOid() { return componentOid; } public void setComponentOid(String componentOid) { this.componentOid = componentOid; } public boolean isLinkTypeFlag() { return linkTypeFlag; } public void setLinkTypeFlag(boolean linkTypeFlag) { this.linkTypeFlag = linkTypeFlag; } public boolean isTreeTableFlag() { return treeTableFlag; } public void setTreeTableFlag(boolean treeTableFlag) { this.treeTableFlag = treeTableFlag; } @Override public String toString() { return "UIDataGridQuery{" + "btmname='" + btmname + '\'' + ", tableDefineId='" + tableDefineId + '\'' + ", uiDefineId='" + uiDefineId + '\'' + ", componentOid='" + componentOid + '\'' + ", linkTypeFlag=" + linkTypeFlag + ", sourceData=" + sourceData + ", selectData=" + selectData + ", treeTableFlag=" + treeTableFlag + "} " + super.toString(); } }