点击分类不显示按钮(模板创建时绑定的业务类型id有问题):改成用functionid进行查询,也就是菜单上配置的id
已修改7个文件
68 ■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
@@ -63,6 +63,21 @@
            && NacosConfigCache.getAdminUserInfo().getUserName().equals(AuthUtil.getUserName());
    }
    /**
     * 从map中获取值,并且可以忽略大小写
     * @param map
     * @param key
     * @return
     */
    public static Object getMapValueIgnoreCase(Map<String, Object> map,String key){
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            if (entry.getKey().equalsIgnoreCase(key)) {
                return entry.getValue();
            }
        }
        return null;
    }
    public static String getPk() {
        return String.valueOf(getPKLong(1,1));
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -1458,11 +1458,11 @@
        if(!CollectionUtils.isEmpty(dataList)){
            for(Map data:dataList){
                CodeClassify codeClassifyDO = new CodeClassify();
                codeClassifyDO.setOid(VciBaseUtil.getStringValueFromObject(data.get("OID")));
                codeClassifyDO.setId(VciBaseUtil.getStringValueFromObject(data.get("ID")));
                codeClassifyDO.setName(VciBaseUtil.getStringValueFromObject(data.get("NAME")));
                codeClassifyDO.setBtmTypeId(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPEID")));
                codeClassifyDO.setBtmTypeName(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPENAME")));
                codeClassifyDO.setOid(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"OID")));
                codeClassifyDO.setId(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"ID")));
                codeClassifyDO.setName(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"NAME")));
                codeClassifyDO.setBtmTypeId(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"BTMTYPEID")));
                codeClassifyDO.setBtmTypeName(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"BTMTYPENAME")));
                oidList.add(codeClassifyDO);
            }
        }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -38,6 +38,8 @@
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.web.pagemodel.DataGrid;
import com.vci.ubcs.starter.web.pagemodel.PageHelper;
import com.vci.ubcs.starter.web.pagemodel.Tree;
@@ -918,31 +920,14 @@
        }
        //设置btmtypeid和name
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateDO, MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE);
        CodeClassify codeClassifyDO = codeClassifyDOList.stream().filter(s -> StringUtils.isNotBlank(s.getBtmTypeId())).findFirst().get();
        codeClassifyTemplateDO.setBtmTypeId(codeClassifyDO.getBtmTypeId());
        codeClassifyTemplateDO.setNameOid(VciBaseUtil.getPk());
        codeClassifyTemplateDO.setBtmTypeName(codeClassifyDO.getBtmTypeName());
        codeClassifyTemplateDO.setLcStatus(FRAMEWORK_RELEASE_EDITING);
        codeClassifyTemplateDO.setTs(new Date());
        codeClassifyTemplateDO.setOwner(String.valueOf(AuthUtil.getUser().getUserId()));
        codeClassifyTemplateDO.setLctid("codeClsTempLc");
        codeClassifyTemplateDO.setVersionValue("1");
        codeClassifyTemplateDO.setVersionSeq(1);
        codeClassifyTemplateDO.setRevisionValue("1");
        codeClassifyTemplateDO.setRevisionSeq(1);
        codeClassifyTemplateDO.setVersionRule("0");
        codeClassifyTemplateDO.setRevisionRule("numberversionrule");
        codeClassifyTemplateDO.setLastModifyTime(new Date());
//        codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
        codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
//        codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
        codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
        codeClassifyTemplateDO.setCreateTime(new Date());
        codeClassifyTemplateDO.setLastV("1");
        codeClassifyTemplateDO.setLastR("1");
        codeClassifyTemplateDO.setFirstV("1");
        codeClassifyTemplateDO.setFirstR("1");
        codeClassifyTemplateDO.setBtmname("codeclstemplate");
        baseMapper.insert(codeClassifyTemplateDO);
        //默认添加模板属性
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -2981,6 +2981,9 @@
        conditionMap.put("t.lastr", "1");
        conditionMap.put("t.lastv", "1");
        DataGrid<Map<String, String>> mapDataGrid = queryGrid(btmTypeId, templateVO, conditionMap, pageHelper);
        if(templateVO.getAttributes().isEmpty()){
            throw new ServiceException(String.format("主键为:{}的模板下,模板属性配置为空!",templateVO.getOid()));
        }
        //处理返回数据与模板数据配置的字段不一样问题
        templateVO.getAttributes().stream().forEach(e -> {
            for (Map<String, String> datum : mapDataGrid.getData()) {
@@ -3434,6 +3437,9 @@
        dataList.add(cbo);
        wrapperData(dataList, templateVO, sqlBO.getSelectFieldList(), true);
        R<List<Map<String, String>>> result = R.data(Collections.singletonList(cbo));
        if(templateVO.getAttributes().isEmpty()){
            throw new ServiceException(String.format("主键为:{}的模板下,模板属性配置为空!",templateVO.getOid()));
        }
        //处理返回数据与模板数据配置的字段不一样问题
        templateVO.getAttributes().stream().forEach(e -> {
            for (Map<String, String> datum : result.getData()) {
@@ -3908,13 +3914,9 @@
        MdmUIInfoVO uiInfoVO = getTableDefineByTemplateVO(getUsedTemplateByClassifyOid(codeClassifyOid));
        uiInfoVO.setLeaf(classifyService.countChildrenByClassifyOid(codeClassifyOid) == 0);
        if (StringUtils.isNotBlank(functionId) && !"~".equalsIgnoreCase(functionId)) {
            List<Menu> buttonVOS = iSysClient.getMenuButtonByType(codeClassifyOid, uiInfoVO.getTemplateVO().getBtmTypeId(), "data_auth").getData();
            //            List<SmOperationVO> operationVOS = operationService.listButtonByFunctionId(functionId);
            //            if (operationVOS == null) {
            //                operationVOS = new ArrayList<>();
            //            }
            //            //查询扩展按钮
            //            List<CodeButtonVO> buttonVOS = listButtonInToolbarByClassifyOid(codeClassifyOid);
            // TODO:2024-1-25 18:42模板上的btmtypeid有时候会存在大小写的问题,按理来说这儿直接用functionId就能满足查询菜单按钮了uiInfoVO.getTemplateVO().getBtmTypeId()
            List<Menu> buttonVOS = iSysClient.getMenuButtonByType(codeClassifyOid, functionId, "data_auth").getData();
            List<SmOperationVO> operationVOS = new ArrayList<>();
            if (!CollectionUtils.isEmpty(buttonVOS)) {
                for (int i = 0; i < buttonVOS.size(); i++) {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -142,7 +142,7 @@
     * 模板的服务
     */
    @Resource
    private CodeClstemplateServiceImpl templateService;
    private ICodeClstemplateService templateService;
    /**
     * 主数据引擎的服务
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
@@ -7,10 +7,8 @@
import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
import com.vci.ubcs.ddl.enums.BusinessTypeEnum;
import com.vci.ubcs.ddl.enums.ModifyTableTaskEnum;
import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessStrategy;
import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessor;
import com.vci.ubcs.ddl.processor.dll.DllMapperProcessor;
import com.vci.ubcs.ddl.processor.dll.DllMapperProcessorStrategy;
import com.vci.ubcs.ddl.properties.DdlPropertise;
import com.vci.ubcs.ddl.service.IDdlService;
import com.vci.ubcs.omd.cache.BtmTypeCache;
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
@@ -497,7 +497,7 @@
            transaction = dataSourceTransactionManager.getTransaction(def);
            // 获得事务状态
        }*/
//        checkBtmTypeBeforeSave(btmTypeDTO);
        //checkBtmTypeBeforeSave(btmTypeDTO);
        BtmType btmTypeDO = Optional.ofNullable(BeanUtil.copy(btmTypeDTO, BtmType.class)).orElseGet(BtmType::new);
        btmTypeDO.setBizDomain(btmTypeDTO.getBizDomain());
        List<BtmTypeLinkAttributesDTO> attributes = btmTypeDTO.getAttributes();