123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package model
- import pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- type PenBehaviorDay struct {
- Id int64 `json:"id"`
- PastureId int64 `json:"pastureId"`
- HeatDate string `json:"heatDate"`
- PenId int32 `json:"penId"`
- PenName string `json:"penName"`
- CowCount int32 `json:"cowCount"`
- DayMilk float32 `json:"dayMilk"`
- DayHigh int32 `json:"dayHigh"`
- DayRumina int32 `json:"dayRumina"`
- DayIntake int32 `json:"dayIntake"`
- DayInactive int32 `json:"dayInactive"`
- DayGasp int32 `json:"dayGasp"`
- DayActive int32 `json:"dayActive"`
- WeekMilk float32 `json:"weekMilk"`
- RuminaStd float64 `json:"ruminaStd"`
- CreatedAt int64 `json:"createdAt"`
- UpdatedAt int64 `json:"updatedAt"`
- }
- func (p *PenBehaviorDay) TableName() string {
- return "pen_behavior_day"
- }
- func NewPenBehaviorDay(pastureId int64, heatDate string, penId int32, penName string, cowCount int32, dayAvgMilk float32,
- dayHigh int32, dayRumina int32, dayIntake int32, dayInactive int32, dayGasp int32, dayActive int32, weekAvgMilk float32,
- ruminaStd float64) *PenBehaviorDay {
- return &PenBehaviorDay{
- PastureId: pastureId,
- HeatDate: heatDate,
- PenId: penId,
- PenName: penName,
- CowCount: cowCount,
- DayMilk: dayAvgMilk,
- DayHigh: dayHigh,
- DayRumina: dayRumina,
- DayIntake: dayIntake,
- DayInactive: dayInactive,
- DayGasp: dayGasp,
- DayActive: dayActive,
- WeekMilk: weekAvgMilk,
- RuminaStd: ruminaStd,
- }
- }
- type PenBehaviorDaySlice []*PenBehaviorDay
- type PenBehaviorDayModel struct {
- HeatDate string `json:"heatDate"`
- PenId int32 `json:"penId"`
- PenName string `json:"penName"`
- CowCount int32 `json:"cowCount"`
- DayMilk float32 `json:"dayMilk"`
- DayHigh int32 `json:"dayHigh"`
- DayRumina int32 `json:"dayRumina"`
- DayIntake int32 `json:"dayIntake"`
- DayInactive int32 `json:"dayInactive"`
- DayChew int32 `json:"dayChew"`
- DayActive int32 `json:"dayActive"`
- DayImmobility int32 `json:"dayImmobility"`
- RuminaStd float64 `json:"ruminaStd"`
- }
- type PenBehaviorDayModelSlice []*PenBehaviorDayModel
- func (p PenBehaviorDayModelSlice) ToPB(dataTimeRange []string) *pasturePb.BarnMonitorItem {
- res := &pasturePb.BarnMonitorItem{
- Headers: dataTimeRange,
- DateTime: make([]string, 0),
- DayMilk: make([]float32, 0),
- DayRumina: make([]int32, 0),
- DayIntake: make([]int32, 0),
- DayImmobility: make([]int32, 0),
- DayGasp: make([]int32, 0),
- DayChew: make([]int32, 0),
- DayStd: make([]int32, 0),
- }
- for _, dt := range dataTimeRange {
- for _, v := range p {
- if dt == v.HeatDate {
- res.DateTime = append(res.DateTime, v.HeatDate)
- res.DayMilk = append(res.DayMilk, v.DayMilk)
- res.DayRumina = append(res.DayRumina, v.DayRumina)
- res.DayIntake = append(res.DayIntake, v.DayIntake)
- res.DayImmobility = append(res.DayImmobility, v.DayImmobility)
- res.DayChew = append(res.DayChew, v.DayChew)
- res.DayStd = append(res.DayStd, int32(v.RuminaStd))
- }
- }
- }
- return res
- }
|