milk_original.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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. MilkHallBrand string `json:"milkHallBrand"`
  11. MilkDate string `json:"milkDate"`
  12. MilkWeight float64 `json:"milkWeight"`
  13. StartTime string `json:"startTime"`
  14. InitialTime string `json:"initialTime"`
  15. AttachTime string `json:"attachTime"`
  16. AttachAdjustTime string `json:"attachAdjustTime"`
  17. DetacherTime string `json:"detacherTime"`
  18. EndTime string `json:"endTime"`
  19. DetacherAddress int64 `json:"detacherAddress"`
  20. Conductivity int32 `json:"conductivity"`
  21. CowActivity int32 `json:"cowActivity"`
  22. Source int8 `json:"source"`
  23. MilkHallNumber string `json:"milkHallNumber"`
  24. Shifts int32 `json:"shifts"`
  25. Load int32 `json:"load"`
  26. Nattach int32 `json:"nattach"`
  27. RecognitionTime string `json:"recognitionTime"`
  28. IsYieldLow int8 `json:"isYieldLow"`
  29. PeakFlow float64 `json:"peakFlow"`
  30. AvgFlow float64 `json:"avgFlow"`
  31. Duration float64 `json:"duration"`
  32. PeakFlowTime int32 `json:"peakFlowTime"`
  33. LowFlowTime int32 `json:"lowFlowTime"`
  34. YieldPercentage int32 `json:"yieldPercentage"`
  35. ActualMilkTime string `json:"actualMilkTime"`
  36. KickOffs bool `json:"kickOffs"`
  37. Blocks int8 `json:"blocks"`
  38. Slips int8 `json:"slips"`
  39. ManualDetach int8 `json:"manualDetach"`
  40. TakeOffFlow float64 `json:"takeOffFlow"`
  41. LowMilkFlowPc int64 `json:"lowMilkFlowPc"`
  42. Flow0to15 int64 `json:"flow0To15"`
  43. Flow15to30 int64 `json:"flow15To30"`
  44. Flow30to60 int64 `json:"flow30To60"`
  45. Flow60to120 int64 `json:"flow60To120"`
  46. CreatedAt int64 `json:"createdAt"`
  47. UpdatedAt int64 `json:"updatedAt"`
  48. }
  49. func (m *MilkOriginal) TableName() string {
  50. return "milk_original"
  51. }
  52. func NewAFIMilkOriginal(pastureId int64, milkHallNumber string, req *AFIMilkHallOriginal) *MilkOriginal {
  53. return &MilkOriginal{
  54. PastureId: pastureId,
  55. MilkHallBrand: AFI,
  56. CowId: 0,
  57. EarNumber: req.AnimalID,
  58. EleEarNumber: req.AnimalID,
  59. PenId: 0,
  60. PenName: "",
  61. MilkDate: req.SessionDate,
  62. MilkWeight: 0, // req.Yield,
  63. StartTime: "",
  64. InitialTime: "",
  65. AttachTime: "",
  66. AttachAdjustTime: "",
  67. DetacherTime: "",
  68. EndTime: "",
  69. DetacherAddress: req.StallNumber,
  70. Conductivity: req.Amt1,
  71. CowActivity: 0,
  72. Source: 0,
  73. MilkHallNumber: milkHallNumber,
  74. Shifts: req.SessionNumber,
  75. Load: 0,
  76. Nattach: req.TotalAttachments,
  77. RecognitionTime: "",
  78. IsYieldLow: 0,
  79. PeakFlow: float64(req.PeakFlowRate) / 1000,
  80. PeakFlowTime: req.PeakFlowRate,
  81. AvgFlow: 0,
  82. Duration: float64(req.MilkingTime) / 60,
  83. LowFlowTime: req.LowFlowRateTime,
  84. YieldPercentage: 0,
  85. ActualMilkTime: "",
  86. KickOffs: req.HasKickoffs,
  87. Blocks: 0,
  88. Slips: 0,
  89. ManualDetach: 0,
  90. TakeOffFlow: float64(req.RemovalFlowRate) / 1000,
  91. LowMilkFlowPc: 0,
  92. Flow0to15: req.FlowRate0To15,
  93. Flow15to30: req.FlowRate15To30,
  94. Flow30to60: req.FlowRate30To60,
  95. Flow60to120: req.FlowRate60To120,
  96. }
  97. }
  98. func NewGEAMilkOriginal(
  99. pastureId int64, milkHallBrand, milkHallNumber string, detachTime, earNumber, milkDate, attachTime, recognitionTime string, milkWeight float64, detacherAddress int64,
  100. duration, peakFlow float64, conductivity int32, eId string, f0t15, f15t30, f30t60, f60t120 int64, manualDetach int8,
  101. ) *MilkOriginal {
  102. return &MilkOriginal{
  103. PastureId: pastureId,
  104. CowId: 0,
  105. EarNumber: earNumber,
  106. EleEarNumber: eId,
  107. PenId: 0,
  108. PenName: "",
  109. MilkHallBrand: milkHallBrand,
  110. MilkDate: milkDate,
  111. MilkWeight: milkWeight,
  112. StartTime: "",
  113. InitialTime: "",
  114. AttachTime: attachTime,
  115. AttachAdjustTime: "",
  116. DetacherTime: detachTime,
  117. EndTime: "",
  118. DetacherAddress: detacherAddress,
  119. Conductivity: conductivity,
  120. CowActivity: 0,
  121. Source: 0,
  122. MilkHallNumber: milkHallNumber,
  123. Shifts: 0,
  124. Load: 0,
  125. Nattach: 0,
  126. RecognitionTime: recognitionTime,
  127. IsYieldLow: 0,
  128. PeakFlow: peakFlow,
  129. AvgFlow: 0,
  130. Duration: duration,
  131. PeakFlowTime: 0,
  132. LowFlowTime: 0,
  133. YieldPercentage: 0,
  134. ActualMilkTime: "",
  135. KickOffs: false,
  136. Blocks: 0,
  137. Slips: 0,
  138. ManualDetach: manualDetach,
  139. TakeOffFlow: 0,
  140. LowMilkFlowPc: 0,
  141. Flow0to15: f0t15,
  142. Flow15to30: f15t30,
  143. Flow30to60: f30t60,
  144. Flow60to120: f60t120,
  145. }
  146. }