neck_active_habit.go 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package model
  2. import (
  3. "fmt"
  4. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  5. )
  6. type NeckActiveHabit struct {
  7. Id int64 `json:"id"`
  8. CowId int64 `json:"cowId"`
  9. NeckRingNumber string `json:"neckRingNumber"`
  10. Lact int32 `json:"lact"`
  11. Frameid int32 `json:"frameid"`
  12. HeatDate string `json:"heatDate"`
  13. Rumina int32 `json:"rumina"`
  14. Intake int32 `json:"intake"`
  15. Inactive int32 `json:"inactive"`
  16. Gasp int32 `json:"gasp"`
  17. Other int32 `json:"other"`
  18. High int32 `json:"high"`
  19. Active int32 `json:"active"`
  20. Voltage int32 `json:"voltage"`
  21. Version int32 `json:"version"`
  22. FilterHigh int32 `json:"filterHigh"`
  23. FilterRumina int32 `json:"filterRumina"`
  24. FilterChew int32 `json:"filterChew"`
  25. WeekHigh int32 `json:"weekHigh"`
  26. WeekAvgHighHabit int32 `json:"weekAvgHighHabit"`
  27. WeekAvgRuminaHabit int32 `json:"WeekAvgRuminaHabit"`
  28. WeekAvgIntakeHabit int32 `json:"weekAvgIntakeHabit"`
  29. WeekAvgChewHabit int32 `json:"weekAvgChewHabit"`
  30. WeekAvgInactiveHabit int32 `json:"weekAvgInactiveHabit"`
  31. WeekAvgOtherHabit int32 `json:"weekAvgOtherHabit"`
  32. ChangeHigh int32 `json:"changeHigh"`
  33. ChangeRumina int32 `json:"changeRumina"`
  34. ChangeChew int32 `json:"changeChew"`
  35. ChangeAdjust int32 `json:"changeAdjust"`
  36. ChangeFilter int32 `json:"changeFilter"`
  37. RuminaFilter int32 `json:"ruminaFilter"`
  38. ChewFilter int32 `json:"chewFilter"`
  39. FilterCorrect int32 `json:"filterCorrect"`
  40. SumRumina int32 `json:"sumRumina"`
  41. SumIntake int32 `json:"sumIntake"`
  42. SumInactive int32 `json:"sumInactive"`
  43. SumAct int32 `json:"sumAct"`
  44. SumRuminaBeforeThreeDay int32 `json:"sumRuminaBeforeThreeDay"`
  45. SumIntakeBeforeThreeDay int32 `json:"sumIntakeBeforeThreeDay"`
  46. MinHigh int32 `json:"minHigh"`
  47. MaxHigh int32 `json:"maxHigh"`
  48. MinChew int32 `json:"minChew"`
  49. Score int32 `json:"score"`
  50. IsMaxTime pasturePb.IsShow_Kind `json:"isMaxTime"`
  51. IsShow pasturePb.IsShow_Kind `json:"isShow"`
  52. ReceiveNumber int32 `json:"receiveNumber"`
  53. RecordCount int32 `json:"recordCount"`
  54. ActiveTime string `json:"activeTime"`
  55. CreatedAt int64 `json:"createdAt"`
  56. UpdatedAt int64 `json:"updatedAt"`
  57. }
  58. func (n *NeckActiveHabit) TableName() string {
  59. return "neck_active_habit"
  60. }
  61. func NewNeckActiveHabit(frameId int32, heatDate, neckRingNumber string, cow *Cow, data *NeckRingOriginalMerge) *NeckActiveHabit {
  62. cowId := int64(0)
  63. lact := int32(0)
  64. if cow != nil {
  65. cowId = cow.Id
  66. lact = cow.Lact
  67. }
  68. return &NeckActiveHabit{
  69. Frameid: frameId,
  70. HeatDate: heatDate,
  71. NeckRingNumber: neckRingNumber,
  72. Lact: lact,
  73. CowId: cowId,
  74. Active: data.Active,
  75. Gasp: data.Gasp,
  76. High: data.High,
  77. Inactive: data.Inactive,
  78. Intake: data.Intake,
  79. Other: data.Other,
  80. Rumina: data.Rumina,
  81. IsShow: pasturePb.IsShow_No,
  82. IsMaxTime: pasturePb.IsShow_No,
  83. ActiveTime: fmt.Sprintf("%s %02d:00:00", heatDate, frameId),
  84. }
  85. }
  86. func (n *NeckActiveHabit) MergeData(data *NeckActiveHabit) {
  87. n.Rumina += data.Rumina
  88. n.Inactive += data.Inactive
  89. n.Active += data.Active
  90. n.Intake += data.Intake
  91. n.Other += data.Other
  92. n.Gasp += data.Gasp
  93. n.High += data.High
  94. }