milk_original.go 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package model
  2. type MilkOriginal struct {
  3. Id int64 `json:"id"`
  4. PastureId int64 `json:"pastureId"`
  5. CowId int64 `json:"cowId"`
  6. EarNumber string `json:"earNumber"`
  7. EleEarNumber string `json:"eleEarNumber"`
  8. PenId int32 `json:"penId"`
  9. PenName string `json:"penName"`
  10. MilkDate string `json:"milkDate"`
  11. MilkWeight int64 `json:"milkWeight"`
  12. StartTime string `json:"startTime"`
  13. InitialTime string `json:"initialTime"`
  14. AttachTime string `json:"attachTime"`
  15. AttachAdjustTime string `json:"attachAdjustTime"`
  16. DetacherTime string `json:"detacherTime"`
  17. EndTime string `json:"endTime"`
  18. DetacherAddress int64 `json:"detacherAddress"`
  19. Conductivity int32 `json:"conductivity"`
  20. CowActivity int32 `json:"cowActivity"`
  21. Source int8 `json:"source"`
  22. MilkHallNumber string `json:"milkHallNumber"`
  23. Shifts int32 `json:"shifts"`
  24. Load int32 `json:"load"`
  25. Nattach int32 `json:"nattach"`
  26. RecognitionTime string `json:"recognitionTime"`
  27. IsYieldLow int8 `json:"isYieldLow"`
  28. PeakFlow float64 `json:"peakFlow"`
  29. AvgFlow float64 `json:"avgFlow"`
  30. Duration float64 `json:"duration"`
  31. PearFlowTime int32 `json:"pearFlowTime"`
  32. LowFlowTime int32 `json:"lowFlowTime"`
  33. YieldPercentage int32 `json:"yieldPercentage"`
  34. ActualMilkTime string `json:"actualMilkTime"`
  35. KickOffs bool `json:"kickOffs"`
  36. Blocks int8 `json:"blocks"`
  37. Slips int8 `json:"slips"`
  38. ManualDetach int8 `json:"manualDetach"`
  39. TakeOffFlow float64 `json:"takeOffFlow"`
  40. LowMilkFlowPc int64 `json:"lowMilkFlowPc"`
  41. Flow0To15 int64 `json:"flow0To15"`
  42. Flow15To30 int64 `json:"flow15To30"`
  43. Flow30To60 int64 `json:"flow30To60"`
  44. Flow60To120 int64 `json:"flow60To120"`
  45. CreatedAt int64 `json:"createdAt"`
  46. UpdatedAt int64 `json:"updatedAt"`
  47. }
  48. func (m *MilkOriginal) tableName() string {
  49. return "milk_original"
  50. }
  51. func NewAFIMilkOriginal(pastureId int64, milkHallNumber string, req *AFIMilkHallOriginal) *MilkOriginal {
  52. return &MilkOriginal{
  53. PastureId: pastureId,
  54. CowId: 0,
  55. EarNumber: req.AnimalID,
  56. EleEarNumber: "",
  57. PenId: 0,
  58. PenName: "",
  59. MilkDate: req.SessionDate,
  60. MilkWeight: req.Yield,
  61. StartTime: "",
  62. InitialTime: "",
  63. AttachTime: "",
  64. AttachAdjustTime: "",
  65. DetacherTime: "",
  66. EndTime: "",
  67. DetacherAddress: req.StallNumber,
  68. Conductivity: req.Amt1,
  69. CowActivity: 0,
  70. Source: 0,
  71. MilkHallNumber: milkHallNumber,
  72. Shifts: req.SessionNumber,
  73. Load: 0,
  74. Nattach: req.TotalAttachments,
  75. RecognitionTime: "",
  76. IsYieldLow: 0,
  77. PeakFlow: float64(req.PeakFlowRate) / 1000,
  78. PearFlowTime: req.PeakFlowRate,
  79. AvgFlow: 0,
  80. Duration: float64(req.MilkingTime) / 60,
  81. LowFlowTime: req.LowFlowRateTime,
  82. YieldPercentage: 0,
  83. ActualMilkTime: "",
  84. KickOffs: req.HasKickoffs,
  85. Blocks: 0,
  86. Slips: 0,
  87. ManualDetach: 0,
  88. TakeOffFlow: float64(req.RemovalFlowRate) / 1000,
  89. LowMilkFlowPc: 0,
  90. Flow0To15: req.FlowRate0To15,
  91. Flow15To30: req.FlowRate15To30,
  92. Flow30To60: req.FlowRate30To60,
  93. Flow60To120: req.FlowRate60To120,
  94. }
  95. }