edb_info_calculate.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package data_manage
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "hongze/hongze_chart_lib/utils"
  5. )
  6. func GetEdbInfoCalculateMap(edbInfoId, source int) (list []*EdbInfo, err error) {
  7. o := orm.NewOrmUsingDB("data")
  8. //calculateTableName := GetEdbInfoCalculateTableName(source)
  9. //sql := ` SELECT b.* FROM %s AS a
  10. // INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
  11. // WHERE a.edb_info_id=? ORDER BY sort ASC `
  12. //sql = fmt.Sprintf(sql, calculateTableName)
  13. sql := ` SELECT b.* FROM edb_info_calculate_mapping AS a
  14. INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
  15. WHERE a.edb_info_id=? ORDER BY sort ASC `
  16. _, err = o.Raw(sql, edbInfoId).QueryRows(&list)
  17. return
  18. }
  19. // GetEdbInfoAllCalculateByEdbInfoIdList 根据指标id集合 获取基础指标对应的所有计算指标
  20. func GetEdbInfoAllCalculateByEdbInfoIdList(edbInfoIdList []int) (list []*EdbInfo, err error) {
  21. num := len(edbInfoIdList)
  22. if num <= 0 {
  23. return
  24. }
  25. o := orm.NewOrmUsingDB("data")
  26. sql := ` SELECT b.* FROM edb_info_calculate_mapping AS a
  27. INNER JOIN edb_info AS b ON a.edb_info_id=b.edb_info_id
  28. WHERE a.from_edb_info_id in (` + utils.GetOrmInReplace(num) + `)
  29. GROUP BY a.edb_info_id
  30. ORDER BY a.edb_info_id ASC `
  31. _, err = o.Raw(sql, edbInfoIdList).QueryRows(&list)
  32. return
  33. }