event_pregnant_check.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package model
  2. import pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  3. type EventPregnantCheck struct {
  4. Id int64 `json:"id"`
  5. CowId int64 `json:"cow_id"`
  6. DayAge int32 `json:"day_age"`
  7. Lact int8 `json:"lact"`
  8. PregnantCheckAt int64 `json:"pregnant_check_at"`
  9. PregnantCheckResult pasturePb.PregnantCheckResult_Kind `json:"pregnant_check_result"`
  10. PregnantCheckMethod pasturePb.PregnantCheckMethod_Kind `json:"pregnant_check_method"`
  11. StaffMemberId int64 `json:"staff_member_id"`
  12. OperationId int64 `json:"operation_id"`
  13. Remarks string `json:"remarks"`
  14. CreatedAt int64 `json:"created_at"`
  15. UpdatedAt int64 `json:"updated_at"`
  16. }
  17. func (e *EventPregnantCheck) TableName() string {
  18. return "event_pregnant_check"
  19. }
  20. func NewEventPregnantCheck(cow *Cow, systemUser *SystemUser, req *pasturePb.EventPregnantCheck) *EventPregnantCheck {
  21. return &EventPregnantCheck{
  22. CowId: cow.Id,
  23. DayAge: cow.GetDayAge(),
  24. Lact: int8(cow.Lact),
  25. PregnantCheckAt: int64(req.PregnantCheckAt),
  26. PregnantCheckResult: req.PregnantCheckResult,
  27. PregnantCheckMethod: req.PregnantCheckMethod,
  28. StaffMemberId: int64(req.StaffMemberId),
  29. OperationId: systemUser.Id,
  30. Remarks: req.Remarks,
  31. }
  32. }
  33. type EventPregnantCheckSlice []*EventPregnantCheck
  34. func (e EventPregnantCheckSlice) ToPB(systemUserList []*SystemUser, pregnantCheckResult, pregnantCheckMethod []*pasturePb.ConfigOptionsList) []*pasturePb.SearchPregnantCheckList {
  35. result := make([]*pasturePb.SearchPregnantCheckList, len(e))
  36. for i, v := range e {
  37. var pregnantCheckResultName, pregnantCheckMethodName, staffMemberName, operationName = "", "", "", ""
  38. for _, u := range systemUserList {
  39. if v.StaffMemberId == u.Id {
  40. staffMemberName = u.Name
  41. }
  42. if v.OperationId == u.Id {
  43. operationName = u.Name
  44. }
  45. }
  46. for _, s := range pregnantCheckResult {
  47. if int32(v.PregnantCheckResult) != s.Value {
  48. continue
  49. }
  50. pregnantCheckResultName = s.Label
  51. }
  52. for _, m := range pregnantCheckMethod {
  53. if int32(v.PregnantCheckMethod) != m.Value {
  54. continue
  55. }
  56. pregnantCheckMethodName = m.Label
  57. }
  58. result[i] = &pasturePb.SearchPregnantCheckList{
  59. Id: int32(v.Id),
  60. CowId: int32(v.CowId),
  61. DayAge: v.DayAge,
  62. Lact: int32(v.Lact),
  63. PregnantCheckAt: int32(v.PregnantCheckAt),
  64. PregnantCheckResult: v.PregnantCheckResult,
  65. PregnantCheckResultName: pregnantCheckResultName,
  66. PregnantCheckMethod: v.PregnantCheckMethod,
  67. PregnantCheckMethodName: pregnantCheckMethodName,
  68. StaffMemberId: int32(v.StaffMemberId),
  69. StaffMemberName: staffMemberName,
  70. Remarks: v.Remarks,
  71. OperationId: int32(v.OperationId),
  72. OperationName: operationName,
  73. CreatedAt: int32(v.CreatedAt),
  74. UpdatedAt: int32(v.UpdatedAt),
  75. }
  76. }
  77. return result
  78. }