ludc
2024-12-05 90c86c95de1d20a3c3a44cab3482388a8c221a5e
UI数据查询调整
已修改8个文件
已重命名2个文件
已添加1个文件
273 ■■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/query/UIDataGridQuery.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataBaseServiceI.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataCommonServiceI.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/impl/UIDataCommonServiceImpl.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java
@@ -10,7 +10,7 @@
     */
    private String showCols = "3";
    /**
     * è¡¨å•名称
     * æŸ¥è¯¢æ¨¡æ¿åç§°
     */
    private String formQtName = "";
    private List<PRMItemDTO> prmItemList;
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java
@@ -27,7 +27,7 @@
     */
    private String typeName;
    /**
     * è§†å›¾å
     * è¡¨å•名
     */
    private String viName;
    /**
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java
@@ -1,6 +1,5 @@
package com.vci.model;
import com.vci.bo.ItemSeniorQueryBO;
import com.vci.pagemodel.KeyValue;
import java.util.ArrayList;
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/query/UIDataGridQuery.java
@@ -2,7 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.web.util.Func;
import com.vci.starter.web.util.Lcm.Func;
import java.util.ArrayList;
import java.util.HashMap;
@@ -61,21 +61,7 @@
    }
    public void setSourceData(Map<String, Object> sourceData) {
        // TODO: 2024/12/2 Ludc ç•Œé¢ä¼ è¿‡æ¥çš„Map的value可能是一个Map,所以尝试转换
        Map<String, Object> 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;
        this.sourceData = sourceData;
    }
    public List<Map<String, String>> getSelectData() {
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
@@ -934,30 +934,6 @@
                }
                //改为递归,处理模板套模板的问题
                this.recurReplaceCiMap(qt,replaceLowMap);
                /*Map<String, ConditionItem> ciMap = condition.getCIMap();
                ciMap.forEach((ciId,ci)->{
                    if(ci.isLeaf()) {
                        LeafInfo lInfo = ci.getLeafInfo();
                        String value = lInfo.getValue().getOrdinaryValue();
                        if(StringUtils.isNotBlank(value)){
                            if(value.contains("#")){
                                //系统变量.支持一个
                                //lInfo.getValue().setOrdinaryValue(systemVarValueMap.getOrDefault(value.toUpperCase(),""));
                            }else if(value.contains("${")){
                                //有${xxxx}的方式
                                if(!CollectionUtils.isEmpty(replaceLowMap)) {
                                    try {
                                        lInfo.getValue().setOrdinaryValue(VciBaseUtil.replaceByFreeMarker(value, replaceLowMap));
                                    }catch (Throwable e){
                                        logger.error("可能配置有问题,在转换freemarker表达式的时候,没有找到对应的值,目前表达式为{}",new String[]{value},e);
                                    }
                                }
                            }else if(replaceLowMap.containsKey(value.toLowerCase())){
                                lInfo.getValue().setOrdinaryValue(replaceLowMap.get(value.toLowerCase()));
                            }
                        }
                    }
                });*/
            }
        }catch(PLException e){
            logger.error(e.code,e);
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java
@@ -15,7 +15,7 @@
import com.vci.query.UIDataGridQuery;
import com.vci.query.UIFormQuery;
import com.vci.query.UITreeQuery;
import com.vci.web.service.UIDataServiceI;
import com.vci.web.service.uidataservice.UIDataCommonServiceI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,7 +40,7 @@
     * ç•Œé¢çš„æ•°æ®æœåŠ¡
     */
    @Autowired
    private UIDataServiceI uiDataService;
    private UIDataCommonServiceI uiDataService;
    /**
     * æ—¥å¿—
@@ -53,10 +53,17 @@
     * @return åˆ—表数据
     */
    @PostMapping("/dataGridQuery")
    @VciUnCheckRight
    //@VciUnCheckRight
    @VciBusinessLog(operateName = "列表数据的查询",description = "${param.btmname}里的${param.tableDefineId}")
    public DataGrid dataGrid(UIDataGridQuery dataGridQuery) throws PLException {
        return uiDataService.getDataForGrid(dataGridQuery);
    public BaseResult dataGrid(UIDataGridQuery dataGridQuery) throws Exception {
        try {
            return BaseResult.dataGrid(uiDataService.getDataForGrid(dataGridQuery));
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "表单数据查询时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
@@ -65,7 +72,7 @@
     * @return è¡¨å•的数据
     */
    @PostMapping("/dataFormQuery")
    @VciUnCheckRight
    //@VciUnCheckRight
    @VciBusinessLog(operateName = "表单的查询",description = "${param.btmname}里的${param.formDefineId}")
    public BaseResult<UIFormDataVO> getDataForForm(UIFormQuery formQuery){
        try {
@@ -84,7 +91,7 @@
     * @return æ ‘的数据
     */
    @PostMapping("/getDataForTree")
    @VciUnCheckRight
    //@VciUnCheckRight
    @VciBusinessLog(operateName = "树的查询",description = "${param.btmname}")
    public BaseResult getDataForTree(UITreeQuery treeQuery){
        try {
@@ -103,7 +110,7 @@
     * @return æ ‘的数据
     */
    @PostMapping("/getDataByTemp")
    @VciUnCheckRight
    //@VciUnCheckRight
    @VciBusinessLog(operateName = "查询")
    public BaseResult getDataByTemp(UITreeQuery treeQuery){
        try {
@@ -122,7 +129,7 @@
     * @return æ‰§è¡Œçš„结果
     */
    @PostMapping("/addSave")
    @VciUnCheckRight
    //@VciUnCheckRight
    @VciBusinessLog(operateName = "添加数据",description = "${param.btmname}")
    public BaseResult<Map<String,Object>> addSave(@RequestBody FormDataDTO formDataDTO){
        try {
@@ -296,6 +303,7 @@
        re.setData(dataMapList);
        return re;
    }
    /**
     * å˜æ›´æ‰€æœ‰è€…
     * @param btmname ä¸šåŠ¡ç±»åž‹
@@ -332,4 +340,5 @@
            return objectBaseResult;
        }
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java
@@ -165,12 +165,12 @@
        if(PortalVIType.Table.getName()==viType){
            lableName=PortalVIType.Table.getLabel();
        }
        PortalVIVO portalVIVO = new PortalVIVO();
        PortalVIVO portalVIVO = null;
        PortalVI portalVI = platformClientUtil.getPortalService().getPortalVIById(id);
        if(portalVI==null||StringUtils.isBlank(portalVI.id)){
            throw new VciBaseException("根据主键未查询到数据");
        }
        portalVIVO=portalVIDOO2VO(portalVI);
        portalVIVO = portalVIDOO2VO(portalVI);
        return portalVIVO;
    }
@@ -892,7 +892,7 @@
    @Override
    public  PortalVIVO portalVIDOO2VO(PortalVI portalVI) {
        PortalVIVO portalVIVO=new PortalVIVO();
        PortalVIVO portalVIVO = new PortalVIVO();
        portalVIVO.setId(portalVI.id);
        portalVIVO.setTypeFlagText(PortalVITypeFlag.getByIntVal(portalVI.typeFlag).getLabel());
        portalVIVO.setTypeFlag(portalVI.typeFlag);
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -30,6 +30,7 @@
import com.vci.web.xmlmodel.UIComponentDetailXO;
import com.vci.web.xmlmodel.UIComponentItemXO;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hdf.extractor.SEP;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -414,16 +415,13 @@
        if(StringUtils.isBlank(btmId) || StringUtils.isBlank(id)){
            return null;
        }
        if(!QUERY_BY_CACHE){
            PortalVI portalVI = null;
            try {
                portalVI = platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
            } catch (PLException vciError) {
                throw WebUtil.getVciBaseException(vciError);
            }
            return formDO2VO(portalVI);
        PortalVI portalVI = null;
        try {
            portalVI = platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        return self.selectAllFormMap().getOrDefault(btmId.toLowerCase()+SEP+id.toLowerCase(),null);
        return formDO2VO(portalVI);
    }
    /**
@@ -1201,7 +1199,12 @@
        if(StringUtils.isBlank(componentOid)){
            return null;
        }
        if(!QUERY_BY_CACHE){
        try {
            return uiComponentDO2VO(platformClientUtil.getUIService().getPLPageDefinationById(componentOid),true,attributeVOMap);
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        /*if(!QUERY_BY_CACHE){
            try {
                return uiComponentDO2VO(platformClientUtil.getUIService().getPLPageDefinationById(componentOid),true,attributeVOMap);
            } catch (PLException vciError) {
@@ -1213,8 +1216,7 @@
            if(!CollectionUtils.isEmpty(componentVOList)){
                return componentVOList.get(0);
            }
        }
        return null;
        }*/
    }
    /**
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataBaseServiceI.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
package com.vci.web.service.uidataservice;
import com.alibaba.fastjson.JSON;
import com.vci.pagemodel.UIFormDataVO;
import com.vci.query.UIDataGridQuery;
import com.vci.query.UIFormQuery;
import com.vci.query.UITreeQuery;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.UIDataTree;
import com.vci.starter.web.util.Lcm.Func;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * ui数据查询基础服务(该接口定义了一些公共的数据查询方法和一些默认方法以供继承和使用)
 * @author ludc
 * @date 2024/12/4 11:28
 */
public interface UIDataBaseServiceI {
    /**
     * å‰ç«¯è¯·æ±‚传过来的mao的value会出现json串的情况,需要转成map对象,所以调用该方法进行转换
     * @param sourceData æºmap对象
     */
    default Map<String,Object> convertMapValueJson2Map(Map<String,Object> sourceData){
        // TODO: 2024/12/2 Ludc ç•Œé¢ä¼ è¿‡æ¥çš„Map的value可能是一个Map,所以尝试转换
        Map<String, Object> 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();
            }
        });
        return convertMap;
    }
    /**
     * èŽ·å–è¡¨æ ¼çš„æ•°æ®
     * @param dataGridQuery è¡¨æ ¼æŸ¥è¯¢ï¼Œå¿…须有业务类型名称和 è¡¨æ ¼çš„编号
     * @return DataGrid中data为Map<String,String>格式
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    DataGrid getDataForGrid(UIDataGridQuery dataGridQuery) throws Exception;
    /**
     * èŽ·å–è¡¨å•çš„æ•°æ®
     * @param formQuery è¡¨å•的查询条件
     * @return è¡¨å•的数据
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    UIFormDataVO getDataForForm(UIFormQuery formQuery) throws Exception;
    /**
     * èŽ·å–æ ‘å½¢æ•°æ®
     * @param treeQuery æ ‘形查询条件
     * @return æ ‘形数据
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    List<UIDataTree> getDataForTree(UITreeQuery treeQuery) throws Exception;
    /**
     * èŽ·å–æ ‘å½¢æ•°æ®(根据查询模板查询对象,主要用于action配置的查询模板情况下调用)
     * @param treeQuery æ ‘形查询条件
     * @return æ ‘形数据
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    BaseResult getDataByTemp(UITreeQuery treeQuery) throws Exception;
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataCommonServiceI.java
ÎļþÃû´Ó Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIDataServiceI.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.web.service;
package com.vci.web.service.uidataservice;
import com.vci.corba.common.PLException;
import com.vci.corba.omd.data.BusinessObject;
@@ -8,10 +8,6 @@
import com.vci.dto.*;
import com.vci.pagemodel.OsBtmTypeVO;
import com.vci.pagemodel.ReferConfigVO;
import com.vci.pagemodel.UIFormDataVO;
import com.vci.query.UIDataGridQuery;
import com.vci.query.UIFormQuery;
import com.vci.query.UITreeQuery;
import com.vci.starter.web.enumpck.VciChangeDocumentTypeEnum;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.model.BaseModel;
@@ -22,43 +18,11 @@
import java.util.Map;
/**
 * é€šè¿‡UI定义的数据操作服务,包括增删改查 ,升版,跃迁等
 * é€šè¿‡UI定义的数据操作服务,包括增删改 ,升版,跃迁等
 * @author weidy
 * @date 2021-2-16
 */
public interface UIDataServiceI {
    /**
     * èŽ·å–è¡¨æ ¼çš„æ•°æ®
     * @param dataGridQuery è¡¨æ ¼æŸ¥è¯¢ï¼Œå¿…须有业务类型名称和 è¡¨æ ¼çš„编号
     * @return DataGrid中data为Map<String,String>格式
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    DataGrid getDataForGrid(UIDataGridQuery dataGridQuery) throws VciBaseException, PLException;
    /**
     * èŽ·å–è¡¨å•çš„æ•°æ®
     * @param formQuery è¡¨å•的查询条件
     * @return è¡¨å•的数据
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    UIFormDataVO getDataForForm(UIFormQuery formQuery) throws VciBaseException, PLException;
    /**
     * èŽ·å–æ ‘å½¢æ•°æ®
     * @param treeQuery æ ‘形查询条件
     * @return æ ‘形数据
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    List<UIDataTree> getDataForTree(UITreeQuery treeQuery) throws Exception;
    /**
     * èŽ·å–æ ‘å½¢æ•°æ®(根据查询模板查询对象)
     * @param treeQuery æ ‘形查询条件
     * @return æ ‘形数据
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    BaseResult getDataByTemp(UITreeQuery treeQuery) throws Exception;
public interface UIDataCommonServiceI extends UIDataBaseServiceI{
    /**
     * è°ƒç”¨å‰ç½®äº‹ä»¶
@@ -266,6 +230,7 @@
     * @return æ‰§è¡Œçš„结果
     */
    BaseResult deleteBusinessObject(String btmname, String oid, int type) throws PLException;
    /**
     * å˜æ›´æ‰€æœ‰è€…
     * @param btmname ä¸šåŠ¡ç±»åž‹
@@ -273,6 +238,7 @@
     * @return æ‰§è¡Œçš„结果
     */
    BaseResult changeBusinessObjectOwner(String btmname, String oid) throws PLException;
    /**
     * çŠ¶æ€è·ƒè¿
     * @param btmname ä¸šåŠ¡ç±»åž‹
@@ -281,4 +247,5 @@
     * @return æ‰§è¡Œçš„结果
     */
    BaseResult transferBusinessObject(String btmname, String oid, String toStatus, String releaseStatus) throws PLException;
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/impl/UIDataCommonServiceImpl.java
ÎļþÃû´Ó Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.web.service.impl;
package com.vci.web.service.uidataservice.impl;
import com.vci.client.common.oq.OQTool;
import com.vci.common.qt.object.QueryTemplate;
@@ -38,6 +38,10 @@
import com.vci.web.enumpck.UIFieldTypeEnum;
import com.vci.web.enumpck.UITreeLoadTypeEnum;
import com.vci.web.service.*;
import com.vci.web.service.impl.WebBoServiceImpl;
import com.vci.web.service.impl.WebLoServiceImpl;
import com.vci.web.service.uidataservice.UIDataBaseServiceI;
import com.vci.web.service.uidataservice.UIDataCommonServiceI;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
@@ -55,12 +59,12 @@
/**
 * UI上的数据查询
 * @author weidy
 * @date 2021/3/3
 * UI上的数据查询(通用查询服务)
 * @author Ludc
 * @date 2024/12/04
 */
@Service
public class UIDataServiceImpl implements UIDataServiceI {
public class UIDataCommonServiceImpl implements UIDataCommonServiceI {
    /**
     * å¹³å°çš„调用客户端
@@ -147,9 +151,13 @@
    @Override
    public DataGrid getDataForGrid(UIDataGridQuery dataGridQuery) throws VciBaseException, PLException {
        VciBaseUtil.alertNotNull(dataGridQuery,"查询对象",dataGridQuery.getBtmname(),"业务类型",dataGridQuery.getTableDefineId());
        // TODO: 2024/12/4 Ludc å‰ç«¯ä¼ è¿‡æ¥çš„sourceData参数的vlaue可能是json这儿做一下处理
        if(Func.isNotEmpty(dataGridQuery.getSourceData())){
            dataGridQuery.setSourceData(this.convertMapValueJson2Map(dataGridQuery.getSourceData()));
        }
        //先判断查询模板
        UITableDefineVO tableDefineVO = uiEngineService.getComponentByOid(dataGridQuery.getComponentOid(),null).getTableDefineVO();
        String queryTemplate = !CollectionUtils.isEmpty(dataGridQuery.getSourceData())? (String) dataGridQuery.getSourceData().getOrDefault("querytemplate",tableDefineVO.getQueryTemplateName()) :tableDefineVO.getQueryTemplateName();
        String queryTemplate = Func.isNotEmpty(dataGridQuery.getSourceData())? (String) dataGridQuery.getSourceData().getOrDefault("querytemplate",tableDefineVO.getQueryTemplateName()) :tableDefineVO.getQueryTemplateName();
        if(StringUtils.isBlank(queryTemplate)){
            //说明没有设置查询模板,需要看看在这个表格所在的组件有没有设置
            tableDefineVO = uiEngineService.getTableById(dataGridQuery.getBtmname(), dataGridQuery.getTableDefineId());
@@ -226,6 +234,10 @@
    @Override
    public UIFormDataVO getDataForForm(UIFormQuery formQuery) throws VciBaseException, PLException {
        VciBaseUtil.alertNotNull(formQuery,"表单的查询对象",formQuery.getBtmname(),"业务类型的信息",formQuery.getOid(),"业务数据的主键",formQuery.getFormDefineId(),"表单的定义编号");
        // TODO: 2024/12/4 Ludc å‰ç«¯ä¼ è¿‡æ¥çš„sourceData参数的vlaue可能是json这儿做一下处理
        if(Func.isNotEmpty(formQuery.getSourceData())){
            formQuery.setSourceData(this.convertMapValueJson2Map(formQuery.getSourceData()));
        }
        UIFormDefineVO formDefineVO = uiEngineService.getFormById(formQuery.getBtmname(),formQuery.getFormDefineId());
        String queryTemplate = !CollectionUtils.isEmpty(formQuery.getSourceData())? (String) formQuery.getSourceData().getOrDefault("querytemplate",formDefineVO.getQueryTemplateName()) :formDefineVO.getQueryTemplateName();
        Set<String> queryFieldList = formDefineVO.getItems().stream().filter(s->!UIFieldTypeEnum.CUSTOM.getValue().equalsIgnoreCase(s.getType())).map(UIFormItemVO::getField).collect(Collectors.toSet());
@@ -326,7 +338,6 @@
    /**
     * å°è£…replaceMap
     * @param sourceDataMap æ¥æºæ•°æ®
     * @return æ›¿æ¢åŽçš„值
     */
@@ -357,6 +368,10 @@
    @Override
    public List<UIDataTree> getDataForTree(UITreeQuery treeQuery) throws Exception {
        VciBaseUtil.alertNotNull(treeQuery,"表单的查询对象",treeQuery.getBtmname(),"业务类型的信息",treeQuery.getComponentOid(),"树所在的组件的主键");
        // TODO: 2024/12/4 Ludc å‰ç«¯ä¼ è¿‡æ¥çš„sourceData参数的vlaue可能是json这儿做一下处理
        if(Func.isNotEmpty(treeQuery.getSourceData())){
            treeQuery.setSourceData(this.convertMapValueJson2Map(treeQuery.getSourceData()));
        }
        Map<String, OsAttributeVO> attributeVOMap = attrService.selectAllAttributeMap();
        UIComponentVO componentVO = uiEngineService.getComponentByOid(treeQuery.getComponentOid(),attributeVOMap);
        if(componentVO == null || StringUtils.isBlank(componentVO.getOid())){
@@ -570,6 +585,10 @@
    @Override
    public BaseResult getDataByTemp(UITreeQuery treeQuery) throws Exception {
        VciBaseUtil.alertNotNull(treeQuery,"表单的查询对象",treeQuery.getComponentOid(),"当前组件的主键");
        // TODO: 2024/12/4 Ludc å‰ç«¯ä¼ è¿‡æ¥çš„sourceData参数的vlaue可能是json这儿做一下处理
        if(Func.isNotEmpty(treeQuery.getSourceData())){
            treeQuery.setSourceData(this.convertMapValueJson2Map(treeQuery.getSourceData()));
        }
        //1、先查询页面定义组件
        Map<String, OsAttributeVO> attributeVOMap = attrService.selectAllAttributeMap();
        UIComponentVO componentVO = uiEngineService.getComponentByOid(treeQuery.getComponentOid(),attributeVOMap);
@@ -755,6 +774,16 @@
            Map<String, Object> returnMap = new HashMap<>();
            returnMap.put((String) cloMap.get("linktypename"),cloMap);
            returnMap.put((String) cbo2Map.get("btmname"),cbo2Map);
            // TODO: 2024/12/4 Ludc å°†ä¸€äº›é‡è¦çš„后续可能需要用到的属性放入第一层Map
            String fOid = (String)cbo2Map.get("f_oid");
            if(Func.isNotBlank(fOid)){
                returnMap.put("f_oid",fOid);
            }else{
                if(Func.isNotEmpty(cbo2Map.get("oid"))){
                    returnMap.put("oid",cbo2Map.get("oid").toString());
                }
            }
            tree.setAttributes(returnMap);
            tree.setIndex(i[0] + "");
            i[0]++;