edb_data_wind.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package data_manage
  2. import (
  3. "eta_gn/eta_api/global"
  4. "eta_gn/eta_api/utils"
  5. )
  6. func EdbInfoUpdateStatusByEdbInfoId(edbInfoIds []int, isStop int, calculateEdbInfoIds []int) (err error) {
  7. o := global.DmSQL["data"].Begin()
  8. defer func() {
  9. if err != nil {
  10. _ = o.Rollback()
  11. return
  12. }
  13. _ = o.Commit()
  14. }()
  15. // 更改指标的更新状态
  16. if len(edbInfoIds) == 1 {
  17. sql := ` UPDATE edb_info SET no_update = ? WHERE edb_info_id=? `
  18. err = o.Exec(sql, isStop, edbInfoIds[0]).Error
  19. if err != nil {
  20. return
  21. }
  22. } else {
  23. sql := ` UPDATE edb_info SET no_update = ? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(edbInfoIds)) + `) `
  24. err = o.Exec(sql, isStop, edbInfoIds).Error
  25. if err != nil {
  26. return
  27. }
  28. }
  29. if len(calculateEdbInfoIds) > 0 {
  30. // 批量更新相关联的指标ID
  31. sql := ` UPDATE edb_info SET no_update = ? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(calculateEdbInfoIds)) + `) `
  32. err = o.Exec(sql, isStop, calculateEdbInfoIds).Error
  33. if err != nil {
  34. return
  35. }
  36. }
  37. return
  38. }