edb_info_update_log.go 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. package data_stat
  2. import (
  3. "eta/eta_api/utils"
  4. "github.com/beego/beego/v2/client/orm"
  5. "github.com/rdlucklib/rdluck_tools/paging"
  6. "time"
  7. )
  8. // EdbInfoUpdateLog 指标更新/刷新日志列表
  9. type EdbInfoUpdateLog struct {
  10. Id uint64 `orm:"column(id);pk;auto"`
  11. EdbInfoId int `description:"指标ID"`
  12. SourceName string `description:"来源名称"`
  13. Source int `description:"来源id"`
  14. EdbCode string `description:"指标编码"`
  15. EdbName string `description:"指标名称"`
  16. EdbNameSource string `description:"指标名称来源"`
  17. Frequency string `description:"频率"`
  18. Unit string `description:"单位"`
  19. StartDate string `description:"起始日期"`
  20. EndDate string `description:"终止日期"`
  21. SysUserId int `description:"创建人ID"`
  22. SysUserRealName string `description:"创建人姓名"`
  23. UniqueCode string `description:"指标唯一编码"`
  24. EdbCreateTime time.Time `description:"指标创建时间"`
  25. EdbModifyTime time.Time `description:"指标修改时间"`
  26. CreateTime time.Time `description:"创建时间"`
  27. UpdateSysUserId int `description:"变更人ID"`
  28. UpdateSysUserRealName string `description:"变更人姓名"`
  29. LatestDate string `description:"数据最新日期"`
  30. LatestValue float64 `description:"数据最新值"`
  31. TerminalCode string `description:"终端编码,用于配置在机器上"`
  32. ErDataUpdateDate string `description:"本次更新,数据发生变化的最早日期"`
  33. UpdateResult int `description:"本次刷新操作结果:1成功,2失败"`
  34. UpdateFailedReason string `description:"刷新失败原因"`
  35. DataUpdateResult int `description:"数据更新结果:1成功,2失败"`
  36. DataUpdateFailedReason string `description:"数据未正常更新原因"`
  37. DataUpdateTime string `description:"数据更新时间"`
  38. IsSourceRefresh int `description:"是否为终端刷新到数据源的刷新操作:0否,1是"`
  39. UpdateType int `description:"变更类型,0:数据明细变更,1:基础信息变更, 2:新增指标"`
  40. }
  41. // [2025-zsh-时间类型修复-chenhan]
  42. type EdbInfoUpdateLogOrm struct {
  43. Id uint64 `orm:"column(id);pk;auto"`
  44. EdbInfoId int `description:"指标ID"`
  45. SourceName string `description:"来源名称"`
  46. Source int `description:"来源id"`
  47. EdbCode string `description:"指标编码"`
  48. EdbName string `description:"指标名称"`
  49. EdbNameSource string `description:"指标名称来源"`
  50. Frequency string `description:"频率"`
  51. Unit string `description:"单位"`
  52. StartDate time.Time `description:"起始日期"`
  53. EndDate time.Time `description:"终止日期"`
  54. SysUserId int `description:"创建人ID"`
  55. SysUserRealName string `description:"创建人姓名"`
  56. UniqueCode string `description:"指标唯一编码"`
  57. EdbCreateTime time.Time `description:"指标创建时间"`
  58. EdbModifyTime time.Time `description:"指标修改时间"`
  59. CreateTime time.Time `description:"创建时间"`
  60. UpdateSysUserId int `description:"变更人ID"`
  61. UpdateSysUserRealName string `description:"变更人姓名"`
  62. LatestDate time.Time `description:"数据最新日期"`
  63. LatestValue float64 `description:"数据最新值"`
  64. TerminalCode string `description:"终端编码,用于配置在机器上"`
  65. ErDataUpdateDate time.Time `description:"本次更新,数据发生变化的最早日期"`
  66. UpdateResult int `description:"本次刷新操作结果:1成功,2失败"`
  67. UpdateFailedReason string `description:"刷新失败原因"`
  68. DataUpdateResult int `description:"数据更新结果:1成功,2失败"`
  69. DataUpdateFailedReason string `description:"数据未正常更新原因"`
  70. DataUpdateTime time.Time `description:"数据更新时间"`
  71. IsSourceRefresh int `description:"是否为终端刷新到数据源的刷新操作:0否,1是"`
  72. UpdateType int `description:"变更类型,0:数据明细变更,1:基础信息变更, 2:新增指标"`
  73. }
  74. type EdbInfoUpdateLogItem struct {
  75. Id uint64 `orm:"column(id);pk"`
  76. EdbInfoId int `description:"指标ID"`
  77. SourceName string `description:"来源名称"`
  78. Source int `description:"来源id"`
  79. EdbCode string `description:"指标编码"`
  80. EdbName string `description:"指标名称"`
  81. EdbNameSource string `description:"指标名称来源"`
  82. Frequency string `description:"频率"`
  83. Unit string `description:"单位"`
  84. StartDate string `description:"起始日期"`
  85. EndDate string `description:"终止日期"`
  86. SysUserId int `description:"创建人ID"`
  87. SysUserRealName string `description:"创建人姓名"`
  88. UpdateSysUserId int `description:"变更人ID"`
  89. UpdateSysUserRealName string `description:"变更人姓名"`
  90. CreateTime string
  91. UniqueCode string `description:"指标唯一编码"`
  92. LatestDate string `description:"数据最新日期"`
  93. LatestValue float64 `description:"数据最新值"`
  94. TerminalCode string `description:"终端编码,用于配置在机器上"`
  95. DataUpdateTime string `description:"最近一次数据发生变化的时间"`
  96. ErDataUpdateDate string `description:"本次更新,数据发生变化的最早日期"`
  97. UpdateType int `description:"变更类型,0:数据明细变更,1:基础信息变更, 2:新增指标"`
  98. }
  99. func (edblogorm *EdbInfoUpdateLogOrm) toView() *EdbInfoUpdateLog {
  100. return &EdbInfoUpdateLog{
  101. Id: edblogorm.Id,
  102. EdbInfoId: edblogorm.EdbInfoId,
  103. SourceName: edblogorm.SourceName,
  104. Source: edblogorm.Source,
  105. EdbCode: edblogorm.EdbCode,
  106. EdbName: edblogorm.EdbName,
  107. EdbNameSource: edblogorm.EdbNameSource,
  108. Frequency: edblogorm.Frequency,
  109. Unit: edblogorm.Unit,
  110. StartDate: edblogorm.StartDate.Format("2006-01-02"),
  111. EndDate: edblogorm.EndDate.Format("2006-01-02"),
  112. SysUserId: edblogorm.SysUserId,
  113. SysUserRealName: edblogorm.SysUserRealName,
  114. UniqueCode: edblogorm.UniqueCode,
  115. EdbCreateTime: edblogorm.EdbCreateTime,
  116. EdbModifyTime: edblogorm.EdbModifyTime,
  117. CreateTime: edblogorm.CreateTime,
  118. UpdateSysUserId: edblogorm.UpdateSysUserId,
  119. UpdateSysUserRealName: edblogorm.UpdateSysUserRealName,
  120. LatestDate: edblogorm.LatestDate.Format(utils.FormatDate),
  121. LatestValue: edblogorm.LatestValue,
  122. UpdateType: edblogorm.UpdateType,
  123. UpdateResult: edblogorm.UpdateResult,
  124. UpdateFailedReason: edblogorm.UpdateFailedReason,
  125. DataUpdateResult: edblogorm.DataUpdateResult,
  126. DataUpdateFailedReason: edblogorm.DataUpdateFailedReason,
  127. DataUpdateTime: edblogorm.DataUpdateTime.Format(utils.FormatDateTime),
  128. IsSourceRefresh: edblogorm.IsSourceRefresh,
  129. TerminalCode: edblogorm.TerminalCode,
  130. ErDataUpdateDate: edblogorm.ErDataUpdateDate.Format(utils.FormatDate),
  131. }
  132. }
  133. func toEdbUpdateLogList(edblogOrmList []*EdbInfoUpdateLogOrm) (logList []*EdbInfoUpdateLog) {
  134. for _, item := range edblogOrmList {
  135. logList = append(logList, item.toView())
  136. }
  137. return
  138. }
  139. func AddEdbUpdateLog(item *EdbInfoUpdateLog) (lastId int64, err error) {
  140. o := orm.NewOrmUsingDB("data")
  141. lastId, err = o.Insert(item)
  142. return
  143. }
  144. type GetEdbUpdateLogResp struct {
  145. List []*EdbInfoUpdateLogItem
  146. Paging *paging.PagingItem
  147. }
  148. func GetEdbUpdateLogByCondition(condition string, pars []interface{}, orderStr string, pageSize, startSize int) (item []*EdbInfoUpdateLog, err error) {
  149. o := orm.NewOrmUsingDB("data")
  150. sql := ` SELECT * FROM edb_info_update_log WHERE 1=1 `
  151. if condition != "" {
  152. sql += condition
  153. }
  154. if orderStr != "" {
  155. sql += orderStr
  156. } else {
  157. sql += ` ORDER BY create_time DESC, id DESC `
  158. }
  159. sql += ` LIMIT ?,? `
  160. var ormList []*EdbInfoUpdateLogOrm
  161. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&ormList)
  162. if err != nil {
  163. return
  164. }
  165. item = toEdbUpdateLogList(ormList)
  166. return
  167. }
  168. // GetEdbUpdateLogCount
  169. func GetEdbUpdateLogCount(condition string, pars []interface{}) (count int, err error) {
  170. o := orm.NewOrmUsingDB("data")
  171. sql := ` SELECT count(*) FROM edb_info_update_log WHERE 1=1 `
  172. if condition != "" {
  173. sql += condition
  174. }
  175. err = o.Raw(sql, pars).QueryRow(&count)
  176. return
  177. }