edb_info_sync.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package data
  2. import (
  3. "eta/eta_task/models/data_manage"
  4. "eta/eta_task/utils"
  5. "sync"
  6. )
  7. var lock sync.Mutex
  8. // 同步钢炼数据
  9. func SyncGlDataBase() {
  10. lock.Lock()
  11. var err error
  12. defer func() {
  13. if err != nil {
  14. utils.FileLog.Info("SyncGlDataBase Err:" + err.Error())
  15. }
  16. }()
  17. var condition string
  18. var pars []interface{}
  19. condition += " AND source=? "
  20. pars = append(pars, utils.DATA_SOURCE_GL)
  21. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  22. if err != nil {
  23. return
  24. }
  25. for _, v := range items {
  26. err = data_manage.RefreshEdbDataByGl(v.EdbInfoId, v.EdbCode, v.StartDate.Format(utils.FormatDate), "")
  27. if err != nil {
  28. return
  29. }
  30. item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
  31. if err != nil {
  32. return
  33. }
  34. if item != nil {
  35. err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
  36. if err != nil {
  37. return
  38. }
  39. }
  40. }
  41. lock.Unlock()
  42. }
  43. var manualLock sync.Mutex
  44. // 同步手工数据
  45. func SyncManualDataBase() {
  46. var err error
  47. manualLock.Lock()
  48. defer func() {
  49. manualLock.Unlock()
  50. if err != nil {
  51. utils.FileLog.Info("SyncLzDataBase Err:" + err.Error())
  52. go utils.SendEmailByHongze("同步手工数据失败", "同步手工数据失败 Err:"+err.Error(), utils.RefreshEdbInfoEmailSendToUsers, "", "")
  53. }
  54. }()
  55. var condition string
  56. var pars []interface{}
  57. condition += " AND source=? "
  58. //condition += " AND edb_code='W000156' "
  59. pars = append(pars, utils.DATA_SOURCE_MANUAL)
  60. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  61. if err != nil {
  62. return
  63. }
  64. for _, v := range items {
  65. err = data_manage.RefreshManual(v)
  66. if err != nil {
  67. return
  68. }
  69. item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
  70. if err != nil {
  71. return
  72. }
  73. if item != nil {
  74. err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
  75. if err != nil {
  76. return
  77. }
  78. }
  79. }
  80. }