Bläddra i källkod

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

jkzlzhoujie 6 år sedan
förälder
incheckning
4650793896

+ 19 - 0
src/main/java/com/yihu/quota/service/cube/CubeMappingService.java

@ -72,4 +72,23 @@ public class CubeMappingService extends BaseJpaService<CubeMapping, CubeMappingD
        return cubeMappingModels;
    }
    /**
     * 根据数据集和维度编码 查询对应的维度信息
     * @param cubeCode 数据集编码
     * @param dimensionCode 维度编码
     * @return
     */
    public CubeMappingModel findCubeMappingModelByCubeAndCode(String cubeCode,String dimensionCode) {
        String sql = "SELECT ocm.*,oc.`code` as cubeCode ,od.data_type from olap_cube_mapping ocm " +
                " LEFT JOIN olap_cube oc on oc.id = ocm.cube_id " +
                " LEFT JOIN olap_dimension od on od.id = ocm.dimension_id where oc.`code` = ? and ocm.dimension_code = ? ";
        String param[] = {cubeCode,dimensionCode};
        List<CubeMappingModel> cubeMappingModels = jdbcTemplate.query(sql, new BeanPropertyRowMapper(CubeMappingModel.class), param);
        if(cubeMappingModels != null && cubeMappingModels.size() > 0){
            return cubeMappingModels.get(0);
        }
        return null;
    }
}

+ 20 - 0
src/main/java/com/yihu/quota/service/cube/CubeMemberMappingService.java

@ -103,4 +103,24 @@ public class CubeMemberMappingService extends BaseJpaService<CubeMemberMapping,
            return null;
        }
    }
    /**
     * 根据数据集和维度编码 查询对应的维度信息
     * @param cubeCode 数据集编码
     * @param dimensionCode 维度编码
     * @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  " +
                " 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};
        List<CubeMemberMappingModel> cubeMemberMappingModels = jdbcTemplate.query(sql, new BeanPropertyRowMapper(CubeMemberMappingModel.class), param);
        if(cubeMemberMappingModels != null && cubeMemberMappingModels.size() > 0){
            return cubeMemberMappingModels.get(0);
        }
        return null;
    }
}

+ 30 - 0
src/main/java/com/yihu/quota/service/cube/CubeService.java

@ -3,6 +3,9 @@ package com.yihu.quota.service.cube;
import com.yihu.ehr.query.BaseJpaService;
import com.yihu.quota.dao.cube.CubeDao;
import com.yihu.quota.model.cube.Cube;
import com.yihu.quota.model.cube.CubeMemberMapping;
import com.yihu.quota.vo.CubeMappingModel;
import com.yihu.quota.vo.CubeMemberMappingModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -17,6 +20,11 @@ public class CubeService extends BaseJpaService<Cube, CubeDao> {
    @Autowired
    private CubeDao cubeDao;
    @Autowired
    private CubeMappingService cubeMappingService;
    @Autowired
    private CubeMemberMappingService cubeMemberMappingService;
    /**
     * 保存接口
     * @param cube
@ -34,4 +42,26 @@ public class CubeService extends BaseJpaService<Cube, CubeDao> {
    public Cube findOne(Integer id) {
        return cubeDao.findOne(id);
    }
    /**
     * 查询维度的数据类型
     * @param cubeCode 数据集编码
     * @param dimendionCode 维度编码
     * @return
     */
    public String findDimensionDataType(String cubeCode,String dimendionCode){
        CubeMappingModel cubeMappingModel = cubeMappingService.findCubeMappingModelByCubeAndCode(cubeCode, dimendionCode);
        if(cubeMappingModel !=null){
            return  cubeMappingModel.getDataType();
        }else {
            CubeMemberMappingModel cubeMemberMappingModel = cubeMemberMappingService.findCubeMemberMappingModelByCubeAndCode(cubeCode,dimendionCode);
            if(cubeMemberMappingModel !=null){
                return  cubeMemberMappingModel.getDataType();
            }else {
                return null;
            }
        }
    }
}

+ 0 - 13
src/main/java/com/yihu/quota/service/dimension/DimensionMemberService.java

@ -16,17 +16,4 @@ import java.util.List;
public class DimensionMemberService extends BaseJpaService<DimensionMember, DimensionMemberDao> {
    /**
     * 根据编码查询相关维度成员信息
     * @param code
     * @param value
     * @return
     */
    public DimensionMember findByCode(String code, Object value){
        List<DimensionMember> dimensionMember =  findByField(code, value);
        if(dimensionMember != null && dimensionMember.size() > 0){
            return dimensionMember.get(0);
        }
        return null;
    }
}

+ 0 - 13
src/main/java/com/yihu/quota/service/dimension/DimensionService.java

@ -38,17 +38,4 @@ public class DimensionService extends BaseJpaService<Dimension, DimensionDao> {
        dimensionMemberDao.deleteByDimensionId(id);
    }
    /**
     * 根据编码查询相关维度信息
     * @param code
     * @param value
     * @return
     */
    public Dimension findByCode(String code, Object value){
        List<Dimension> dimensions =  findByField(code, value);
        if(dimensions != null && dimensions.size() > 0){
            return dimensions.get(0);
        }
        return null;
    }
}