123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package model
- import (
- "kpt-pasture/util"
- pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- )
- type PenBehavior struct {
- Id int64 `json:"id"`
- PastureId int64 `json:"pastureId"`
- HeatDate string `json:"heatDate"`
- ActiveTime string `json:"activeTime"`
- Frameid int32 `json:"frameid"`
- PenId int32 `json:"penId"`
- PenName string `json:"penName"`
- CowCount int32 `json:"cowCount"`
- AvgHigh int32 `json:"avgHigh"`
- SumRumina int32 `json:"sumRumina"`
- SumIntake int32 `json:"sumIntake"`
- SumRest int32 `json:"sumRest"`
- SumGasp int32 `json:"sumGasp"`
- RuminaRate int32 `json:"ruminaRate"`
- IntakeRate int32 `json:"intakeRate"`
- RestRate int32 `json:"restRate"`
- GaspRate int32 `json:"gaspRate"`
- WeekRuminaRate int32 `json:"weekRuminaRate"`
- RuminaStd int32 `json:"ruminaStd"`
- WeekIntakeRate int32 `json:"weekIntakeRate"`
- IntakeStd int32 `json:"intakeStd"`
- WeekRestRate int32 `json:"weekRestRate"`
- RestStd int32 `json:"restStd"`
- WeekGaspRate int32 `json:"weekGaspRate"`
- GaspStd int32 `json:"gaspStd"`
- CreatedAt int64 `json:"createdAt"`
- UpdatedAt int64 `json:"updatedAt"`
- }
- func (p *PenBehavior) TableName() string {
- return "pen_behavior"
- }
- func NewPenBehavior(data *PenBehaviorData, activeTime string) *PenBehavior {
- return &PenBehavior{
- PastureId: data.PastureId,
- HeatDate: data.HeatDate,
- ActiveTime: activeTime,
- Frameid: data.Frameid,
- PenId: data.PenId,
- PenName: data.PenName,
- CowCount: data.CowCount,
- AvgHigh: data.AvgHigh,
- SumRumina: data.SumRumina,
- SumIntake: data.SumIntake,
- SumRest: data.SumRest,
- SumGasp: data.SumGasp,
- RuminaRate: data.RuminaRate,
- IntakeRate: data.IntakeRate,
- RestRate: data.RestRate,
- GaspRate: data.GaspRate,
- }
- }
- type PenBehaviorSlice []*PenBehavior
- func (p PenBehaviorSlice) ToPB() *pasturePb.BarnBehaviorCurveItem {
- res := &pasturePb.BarnBehaviorCurveItem{
- EventTime: &pasturePb.EventTime{
- FeedTime: make([]string, 0),
- MilkTime: make([]string, 0),
- },
- DateTime: make([]string, 0),
- Rumina: make([]int32, 0),
- Intake: make([]int32, 0),
- Rest: make([]int32, 0),
- WeekAvgRumina: make([]int32, 0),
- WeekAvgIntake: make([]int32, 0),
- WeekAvgReset: make([]int32, 0),
- }
- for _, v := range p {
- dateTime := ""
- if v.ActiveTime != "" {
- dt, _ := util.TimeParseLocal(LayoutTime, v.ActiveTime)
- dateTime = dt.Format(LayoutHour)
- }
- res.DateTime = append(res.DateTime, dateTime)
- res.Rumina = append(res.Rumina, v.RuminaStd)
- res.Intake = append(res.Intake, v.IntakeStd)
- res.Rest = append(res.Rest, v.RestStd)
- res.WeekAvgRumina = append(res.WeekAvgRumina, v.WeekRuminaRate)
- res.WeekAvgIntake = append(res.WeekAvgIntake, v.WeekIntakeRate)
- res.WeekAvgReset = append(res.WeekAvgReset, v.WeekRestRate)
- }
- return res
- }
- type PenBehaviorData struct {
- PastureId int64 `json:"pastureId"`
- PenId int32 `json:"penId"`
- PenName string `json:"penName"`
- HeatDate string `json:"heatDate"`
- Frameid int32 `json:"frameid"`
- CowCount int32 `json:"cowCount"`
- AvgHigh int32 `json:"avgHigh"`
- SumRumina int32 `json:"sumRumina"`
- SumIntake int32 `json:"sumIntake"`
- SumRest int32 `json:"sumRest"`
- SumGasp int32 `json:"sumGasp"`
- RuminaRate int32 `json:"ruminaRate"`
- IntakeRate int32 `json:"intakeRate"`
- RestRate int32 `json:"restRate"`
- GaspRate int32 `json:"gaspRate"`
- }
|