ludc
2025-01-10 19ec0269a9ce3a57ccfcd1d36585bb1c31977b60
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/impl/UIDataCommonServiceImpl.java
@@ -27,6 +27,10 @@
import com.vci.starter.web.annotation.bus.VciChangeDataPlugin;
import com.vci.starter.web.constant.FrameWorkLcStatusConstant;
import com.vci.starter.web.constant.QueryOptionConstant;
import com.vci.starter.web.dto.BaseLinkModelDTO;
import com.vci.starter.web.dto.BaseLinkModelDTOList;
import com.vci.starter.web.dto.BaseModelDTO;
import com.vci.starter.web.dto.BaseModelDTOList;
import com.vci.starter.web.enumpck.VciChangeDocumentTypeEnum;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.model.BaseModel;
@@ -40,7 +44,6 @@
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;
@@ -446,10 +449,14 @@
            //TODO: 替换树定义上的正反向查询属性,因为正反向查询是由链接类型查询模板上控制的
            boolean isOrientation = false; //是否反向,使用模板上配置的
            String qtName = treeDefineVO.getQueryTemplateName();
            if(Func.isNotBlank(treeDefineVO.getLinkType()) && Func.isNotBlank(qtName)){
                QTInfo wrapper = platformClientUtil.getQTDService().getQT(qtName);
                QueryTemplate qt = OQTool.getQTByDoc(DocumentHelper.parseText(wrapper.qtText), qtName);
                isOrientation = qt.getDirection().equals("opposite");
            if(Func.isNotBlank(treeDefineVO.getOrientation())){
                isOrientation = treeDefineVO.getOrientation().equalsIgnoreCase("opposite");
            }else{
                if(Func.isNotBlank(treeDefineVO.getLinkType()) && Func.isNotBlank(qtName)){
                    QTInfo wrapper = platformClientUtil.getQTDService().getQT(qtName);
                    QueryTemplate qt = OQTool.getQTByDoc(DocumentHelper.parseText(wrapper.qtText), qtName);
                    isOrientation = qt.getDirection().equals("opposite");
                }
            }
            if(treeQuery.getConditionMap() == null){
                treeQuery.setConditionMap(new HashMap<>());
@@ -660,11 +667,16 @@
        UITreeDefineVO treeDefineVO = componentVO.getTreeDefineVO();
        boolean isOrientation = false; //是否反向,使用模板上配置的
        String qtName = treeDefineVO.getQueryTemplateName();
        if(Func.isNotBlank(treeDefineVO.getLinkType()) && Func.isNotBlank(qtName)){
            QTInfo wrapper = platformClientUtil.getQTDService().getQT(qtName);
            QueryTemplate qt = OQTool.getQTByDoc(DocumentHelper.parseText(wrapper.qtText), qtName);
            isOrientation = qt.getDirection().equals("opposite");
        if(Func.isNotBlank(treeDefineVO.getOrientation())){
            isOrientation = treeDefineVO.getOrientation().equalsIgnoreCase("opposite");
        }else{
            if(Func.isNotBlank(treeDefineVO.getLinkType()) && Func.isNotBlank(qtName)){
                QTInfo wrapper = platformClientUtil.getQTDService().getQT(qtName);
                QueryTemplate qt = OQTool.getQTByDoc(DocumentHelper.parseText(wrapper.qtText), qtName);
                isOrientation = qt.getDirection().equals("opposite");
            }
        }
        String queryTemplate = StringUtils.isNotBlank(treeQuery.getQueryTemplate())?treeQuery.getQueryTemplate():(!CollectionUtils.isEmpty(treeQuery.getSourceData())? (String) treeQuery.getSourceData().getOrDefault("querytemplate",treeDefineVO.getQueryTemplateName()) :treeDefineVO.getQueryTemplateName());
        Map<String, Object> replaceMap = wrapperReplaceMap(treeQuery.getSourceData());
        List<String> queryFieldList = new ArrayList<>();