rai_serve_week_bill.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package rai_serve
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxRaiServeWeekBill struct {
  7. ServeWeekBillId int `orm:"column(serve_week_bill_id);pk" description:"服务周账单ID"`
  8. CompanyId int `comment:"公司ID"`
  9. CompanyName string `comment:"公司名称"`
  10. UserTotal int `comment:"用户数量"`
  11. WeekServeCount float64 `comment:"周度服务量总计"`
  12. CoverageRate float64 `comment:"覆盖率"`
  13. WeekStartDate string `comment:"周一开始日期"`
  14. WeekEndDate string `comment:"周日结束日期"`
  15. MonthStartDate string `comment:"月份开始日期"`
  16. MonthEndDate string `comment:"月份结束日期"`
  17. CreateTime time.Time `comment:"创建时间"`
  18. ModifyTime time.Time `comment:"修改时间"`
  19. }
  20. // AddCygxRaiServeWeekBillMulti 批量添加
  21. func AddCygxRaiServeWeekBillMulti(items []*CygxRaiServeWeekBill) (err error) {
  22. if len(items) == 0 {
  23. return
  24. }
  25. o, err := orm.NewOrm().Begin()
  26. if err != nil {
  27. return
  28. }
  29. defer func() {
  30. if err == nil {
  31. o.Commit()
  32. } else {
  33. o.Rollback()
  34. }
  35. }()
  36. if len(items) > 0 {
  37. //批量添加流水信息
  38. _, err = o.InsertMulti(len(items), items)
  39. }
  40. return
  41. }
  42. // UpdateCygxRaiServeWeekBillMulti 批量修改客户周度信息
  43. func UpdateCygxRaiServeWeekBillMulti(items []*CygxRaiServeWeekBill) (err error) {
  44. o := orm.NewOrm()
  45. p, err := o.Raw("UPDATE cygx_rai_serve_week_bill SET user_total = ? , week_serve_count =? , coverage_rate =? ,modify_time = ? WHERE company_id = ? AND week_start_date = ? ").Prepare()
  46. if err != nil {
  47. return
  48. }
  49. defer func() {
  50. _ = p.Close() // 别忘记关闭 statement
  51. }()
  52. for _, v := range items {
  53. _, err = p.Exec(v.UserTotal, v.WeekServeCount, v.CoverageRate, v.ModifyTime, v.CompanyId, v.WeekStartDate)
  54. if err != nil {
  55. return
  56. }
  57. }
  58. return
  59. }
  60. // 列表
  61. func GetCygxRaiServeWeekBillListAll(condition string, pars []interface{}) (items []*CygxRaiServeWeekBill, err error) {
  62. if condition == "" {
  63. return
  64. }
  65. o := orm.NewOrm()
  66. sql := `SELECT * FROM cygx_rai_serve_week_bill WHERE 1= 1 `
  67. if condition != "" {
  68. sql += condition
  69. }
  70. _, err = o.Raw(sql, pars).QueryRows(&items)
  71. return
  72. }