123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package com.yihu.quota.service.cube;
- import com.yihu.ehr.query.BaseJpaService;
- import com.yihu.quota.dao.cube.CubeDao;
- import com.yihu.quota.dao.cube.CubeMappingDao;
- import com.yihu.quota.model.cube.Cube;
- import com.yihu.quota.model.cube.CubeMapping;
- import com.yihu.quota.vo.CubeMappingModel;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.jdbc.core.BeanPropertyRowMapper;
- import org.springframework.stereotype.Service;
- import java.util.List;
- /**
- * 多维数据集的维度 service
- * Created by janseny on 2018/9/10.
- * @author janseny
- */
- @Service
- public class CubeMappingService extends BaseJpaService<CubeMapping, CubeMappingDao> {
- @Autowired
- private CubeMappingDao cubeMappingDao;
- /**
- * 保存接口
- * @param cubeMapping
- * @return 保存之后的id
- */
- public Integer saveOlapCubeMapping(CubeMapping cubeMapping) {
- cubeMapping = cubeMappingDao.save(cubeMapping);
- return cubeMapping.getId();
- }
- public void deleteOlapcubeMapping(Integer id) {
- cubeMappingDao.delete(id);
- }
- public CubeMapping findOne(Integer id) {
- return cubeMappingDao.findOne(id);
- }
- /**
- * 根据数据集 查询对应的维度信息
- * @param cubeId
- * @return
- */
- public List<CubeMappingModel> findCubeMappingModelsByCubeId(int cubeId) {
- String sql = "SELECT ocm.*,od.data_type,od.dict from olap_cube_mapping ocm ,olap_dimension od " +
- " where ocm.dimension_id = od.id AND ocm.cube_id = ? order by ocm.id asc";
- List<CubeMappingModel> cubeMappingModels = jdbcTemplate.query(sql, new BeanPropertyRowMapper(CubeMappingModel.class), cubeId);
- return cubeMappingModels;
- }
- /**
- * 根据表编码和字段编码 查询对应的维度信息
- * @param fieldCode
- * @param tableCode
- * @return
- */
- public List<CubeMappingModel> findCubeMappingModelsByFieldCode(String tableCode,String fieldCode) {
- String sql = "SELECT ocm.*,oc.index_name,oc.index_type,odstf.field_code,od.dict,od.data_type,od.`algorithm`,od.parm from olap_cube_mapping ocm " +
- " LEFT JOIN olap_data_sources_table_field odstf ON ocm.data_field_id = odstf.id "+
- " LEFT JOIN olap_data_sources_table odst ON odst.id = odstf.table_id " +
- " LEFT JOIN olap_cube oc ON oc.id = ocm.cube_id " +
- " LEFT JOIN olap_dimension od ON ocm.dimension_id = od.id where odstf.field_code = ? and odst.table_code = ? ";
- String param[] = {fieldCode,tableCode};
- List<CubeMappingModel> cubeMappingModels = jdbcTemplate.query(sql, new BeanPropertyRowMapper(CubeMappingModel.class), param);
- return cubeMappingModels;
- }
- }
|