ludc
2024-02-24 156e136377680ac2dd5ad89735b7273db6f6d1d5
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1288,6 +1288,20 @@
   }
   /**
    * 封装近义词查询规则属性的查询语句
    * @param value 当前的值
    * @param keyRuleVO 属性的编号
    * @param attrId
    * @param conditionMap 查询条件
    */
   @Override
   public void wrapperSynonymAttrConditionMap(String value, CodeKeyAttrRepeatVO keyRuleVO, String attrId, Map<String, String> conditionMap) {
      // map构造思路:1、先完成正向替换sql值
      // 2、再完成反向替换sql值
   }
   /**
    * 校验枚举的内容
    *
    * @param templateVO 模板的显示对象,需要包含属性
@@ -2007,7 +2021,7 @@
      } catch (Exception e) {
         String errorMessage = e.getMessage();
         if (errorMessage.contains("无法解析的成员访问表达式")) {
            throw new ServiceException("缺少" + errorMessage.substring(errorMessage.indexOf("[t.") + 1, errorMessage.indexOf("]")) + "字段");
            throw new ServiceException("缺少" + errorMessage.substring(errorMessage.indexOf("[T.") + 1, errorMessage.indexOf("]")) + "字段");
         }
         throw new ServiceException(e.getMessage());
      }
@@ -2981,6 +2995,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 +3451,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 +3928,13 @@
      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()
         R<List<Menu>> buttonListR = iSysClient.getMenuButtonByType(codeClassifyOid, functionId, "data_auth");
         if(!buttonListR.isSuccess()){
            throw new ServiceException("获取按钮授权列表失败,原因:"+buttonListR.getMsg());
         }
         List<Menu> buttonVOS = buttonListR.getData();
         List<SmOperationVO> operationVOS = new ArrayList<>();
         if (!CollectionUtils.isEmpty(buttonVOS)) {
            for (int i = 0; i < buttonVOS.size(); i++) {