CubeMemberMappingService.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.yihu.quota.service.cube;
  2. import com.yihu.ehr.query.BaseJpaService;
  3. import com.yihu.quota.dao.cube.CubeMappingDao;
  4. import com.yihu.quota.dao.cube.CubeMemberMappingDao;
  5. import com.yihu.quota.model.cube.Cube;
  6. import com.yihu.quota.model.cube.CubeMapping;
  7. import com.yihu.quota.model.cube.CubeMemberMapping;
  8. import com.yihu.quota.vo.CubeMemberMappingModel;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  11. import org.springframework.stereotype.Service;
  12. import java.util.List;
  13. /**
  14. * Created by janseny on 2018/9/10.
  15. * @author janseny
  16. */
  17. @Service
  18. public class CubeMemberMappingService extends BaseJpaService<CubeMemberMapping, CubeMemberMappingDao> {
  19. @Autowired
  20. private CubeMemberMappingDao cubeMemberMappingDao;
  21. /**
  22. * 保存接口
  23. * @param cubeMemberMapping
  24. * @return 保存之后的id
  25. */
  26. public Integer saveOlapCubeMemberMapping(CubeMemberMapping cubeMemberMapping) {
  27. cubeMemberMapping = cubeMemberMappingDao.save(cubeMemberMapping);
  28. return cubeMemberMapping.getId();
  29. }
  30. public void deleteOlapcubeMemberMapping(Integer id) {
  31. cubeMemberMappingDao.delete(id);
  32. }
  33. /**
  34. * 根据数据集维度ID 查询对应的维度成员信息
  35. * @param id
  36. * @return
  37. */
  38. public List<CubeMemberMappingModel> findCubeMemberMappingModelsById(Integer id) {
  39. String sql = "SELECT ocmm.*,odm.data_type from olap_cube_member_mapping ocmm ,olap_dimension_member odm " +
  40. " where ocmm.dimension_member_id = odm.id AND ocmm.cube_mapping_id = ? order by ocmm.id asc ";
  41. List<CubeMemberMappingModel> cubeMemberMappingModels = jdbcTemplate.query(sql, new BeanPropertyRowMapper(CubeMemberMappingModel.class), id);
  42. return cubeMemberMappingModels;
  43. }
  44. /**
  45. * 根据表编码和字段编码 查询对应的维度信息
  46. * @param fieldCode
  47. * @return
  48. */
  49. public List<CubeMemberMappingModel> findCubeMemberMappingModels(String tableCode,String fieldCode) {
  50. String sql = "SELECT ocmm.*,ocm.dimension_code as parentCode,ocm.child_save_type,odstf.field_code,odm.dict,odm.data_type,odm.`algorithm`,odm.parm from olap_cube_member_mapping ocmm " +
  51. " LEFT JOIN olap_data_sources_table_field odstf ON ocmm.data_field_id = odstf.id " +
  52. " LEFT JOIN olap_data_sources_table odst ON odst.id = odstf.table_id " +
  53. " LEFT JOIN olap_dimension_member odm ON ocmm.dimension_member_id = odm.id " +
  54. " LEFT JOIN olap_cube_mapping ocm ON ocm.id = ocmm.cube_mapping_id " +
  55. " where odstf.field_code = ? and odst.table_code = ? ";
  56. String param[] = {fieldCode,tableCode};
  57. List<CubeMemberMappingModel> cubeMemberMappingModels = jdbcTemplate.query(sql, new BeanPropertyRowMapper(CubeMemberMappingModel.class), param);
  58. return cubeMemberMappingModels;
  59. }
  60. }