123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- package model
- import (
- "kpt-pasture/util"
- "time"
- pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- )
- type EventCalving struct {
- Id int64 `json:"id"`
- CowId int64 `json:"cowId"`
- EarNumber string `json:"earNumber"`
- Lact int32 `json:"lact"`
- DayAge int32 `json:"dayAge"`
- PlanDay int64 `json:"planDay"`
- RealityDay int64 `json:"realityDay"`
- EndDay int64 `json:"endDay"`
- PenId int32 `json:"penId"`
- ChildNumber int8 `json:"childNumber"`
- BullNumber string `json:"bullNumber"`
- PregnancyAge int64 `json:"pregnancyAge"`
- CalvingLevel pasturePb.CalvingLevel_Kind `json:"calvingLevel"`
- OperationId int64 `json:"operationId"`
- OperationName string `json:"operationName"`
- DystociaReason pasturePb.DystociaReason_Kind `json:"dystociaReason"`
- Remarks string `json:"remarks"`
- CreatedAt int64 `json:"created_at"`
- UpdatedAt int64 `json:"updated_at"`
- }
- func (e *EventCalving) TableName() string {
- return "event_calving"
- }
- func NewEventCalving(cow *Cow) *EventCalving {
- return &EventCalving{
- CowId: cow.Id,
- EarNumber: cow.EarNumber,
- Lact: cow.Lact,
- PenId: cow.PenId,
- BullNumber: cow.LastBullNumber,
- PlanDay: util.TimeParseLocalUnix(time.Now().Format(LayoutTime)),
- EndDay: util.TimeParseLocalEndUnix(time.Now().Format(LayoutTime)),
- }
- }
- func NewEventCalvingList(cowList []*Cow) []*EventCalving {
- eventCalvingList := make([]*EventCalving, 0)
- for _, cow := range cowList {
- eventCalvingList = append(eventCalvingList, NewEventCalving(cow))
- }
- return eventCalvingList
- }
- type EventCalvingList struct {
- EventCalving
- PenName string `json:"pen_name"`
- StaffMemberName string `json:"staff_member_name"`
- }
- type EventCalvingListSlice []*EventCalvingList
- func (e EventCalvingListSlice) ToPB(req []*CalvingCalf) []*pasturePb.LavingList {
- var list []*pasturePb.LavingList
- for _, item := range e {
- CalfItemList := make([]*pasturePb.CalfItem, 0)
- for _, v := range req {
- if v.CalvingId != item.Id {
- continue
- }
- CalfItemList = append(CalfItemList, &pasturePb.CalfItem{
- EarNumber: v.EarNumber,
- Sex: v.Sex,
- Weight: float32(v.BirthWeight) / 1000,
- IsAdoption: v.IsAdoption,
- IsLive: v.IsLive,
- CreatedAt: int32(v.CreatedAt),
- UpdatedAt: int32(v.UpdatedAt),
- PenId: v.PenId,
- Remarks: v.Remarks,
- MotherId: int32(v.MotherId),
- Id: int32(v.Id),
- })
- }
- list = append(list, &pasturePb.LavingList{
- Id: int32(item.Id),
- CowId: int32(item.CowId),
- Lact: item.Lact,
- PenId: item.PenId,
- PenName: item.PenName,
- CalvingAt: int32(item.PlanDay),
- ChildNumber: int32(item.ChildNumber),
- DaysPregnant: int32(item.PregnancyAge),
- OperationId: int32(item.OperationId),
- OperationName: item.OperationName,
- CalvingLevel: item.CalvingLevel,
- Remarks: item.Remarks,
- CreatedAt: int32(item.CreatedAt),
- UpdatedAt: int32(item.UpdatedAt),
- DystociaReason: item.DystociaReason,
- CalfItemList: CalfItemList,
- })
- }
- return list
- }
|