Browse Source

根据维度编码查询维度 类型

jkzlzhoujie 6 năm trước cách đây
mục cha
commit
91e39c1384

+ 6 - 7
src/main/java/com/yihu/quota/service/cube/CubeMemberMappingService.java

@ -106,17 +106,16 @@ public class CubeMemberMappingService extends BaseJpaService<CubeMemberMapping,
    /**
     * 根据数据集和维度编码 查询对应的维度信息
     * @param cubeCode 数据集编码
     * @param dimensionCode 维度编码
     * @param cubeMappingId 父级维度ID
     * @return
     */
    public CubeMemberMappingModel findCubeMemberMappingModelByCubeAndCode(String cubeCode,String dimensionCode) {
        String sql = "SELECT ocmm.*,oc.`code` as cubeCode ,odm.data_type from  olap_cube_member_mapping ocmm  " +
    public CubeMemberMappingModel findCubeMemberMappingModelByCubeAndCode(int dimensionCode,String cubeMappingId) {
        String sql = "SELECT ocmm.*,odm.data_type from olap_cube_member_mapping ocmm  " +
                " LEFT JOIN olap_cube_mapping ocm on ocm.id = ocmm.cube_mapping_id " +
                " LEFT JOIN olap_cube oc on oc.id = ocm.cube_id " +
                " LEFT JOIN olap_dimension_member odm on odm.id = ocmm.dimension_member_id" +
                " where oc.`code` = ? and ocmm.dimension_code = ? ";
        String param[] = {cubeCode,dimensionCode};
                " LEFT JOIN olap_dimension_member odm on odm.dimension_id =  ocmm.dimension_member_id " +
                " where   ocmm.dimension_code = ? and ocmm.cube_mapping_id= ? ";
        Object param[] = {dimensionCode,cubeMappingId};
        List<CubeMemberMappingModel> cubeMemberMappingModels = jdbcTemplate.query(sql, new BeanPropertyRowMapper(CubeMemberMappingModel.class), param);
        if(cubeMemberMappingModels != null && cubeMemberMappingModels.size() > 0){
            return cubeMemberMappingModels.get(0);

+ 8 - 4
src/main/java/com/yihu/quota/service/cube/CubeService.java

@ -51,10 +51,14 @@ public class CubeService extends BaseJpaService<Cube, CubeDao> {
     */
    public String findDimensionDataType(String cubeCode,String dimensionCode){
        if(dimensionCode.contains(".")){
            dimensionCode = dimensionCode.substring(dimensionCode.indexOf(".")+1);
            CubeMemberMappingModel cubeMemberMappingModel = cubeMemberMappingService.findCubeMemberMappingModelByCubeAndCode(cubeCode, dimensionCode);
            if(cubeMemberMappingModel !=null){
                return  cubeMemberMappingModel.getDataType();
            dimensionCode = dimensionCode.substring(0, dimensionCode.indexOf("."));
            String memberCode = dimensionCode.substring(dimensionCode.indexOf(".")+1);
            CubeMappingModel cubeMappingModel = cubeMappingService.findCubeMappingModelByCubeAndCode(cubeCode, dimensionCode);
            if(cubeMappingModel !=null){
                CubeMemberMappingModel cubeMemberMappingModel = cubeMemberMappingService.findCubeMemberMappingModelByCubeAndCode(cubeMappingModel.getId(), memberCode);
                if(cubeMemberMappingModel !=null){
                    return  cubeMemberMappingModel.getDataType();
                }
            }
        }else {
            CubeMappingModel cubeMappingModel = cubeMappingService.findCubeMappingModelByCubeAndCode(cubeCode, dimensionCode);