event_pregnant_check.go 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. type EventPregnantCheckSlice []*EventPregnantCheck
  21. func (e EventPregnantCheckSlice) ToPB(systemUserList []*SystemUser, pregnantCheckResult, pregnantCheckMethod []*pasturePb.ConfigOptionsList) []*pasturePb.SearchPregnantCheckList {
  22. result := make([]*pasturePb.SearchPregnantCheckList, len(e))
  23. for i, v := range e {
  24. var pregnantCheckResultName, pregnantCheckMethodName, staffMemberName, operationName = "", "", "", ""
  25. for _, u := range systemUserList {
  26. if v.StaffMemberId != u.Id {
  27. staffMemberName = u.Name
  28. }
  29. if v.OperationId == u.Id {
  30. operationName = u.Name
  31. }
  32. }
  33. for _, s := range pregnantCheckResult {
  34. if int32(v.PregnantCheckResult) != s.Value {
  35. continue
  36. }
  37. pregnantCheckResultName = s.Label
  38. }
  39. for _, m := range pregnantCheckMethod {
  40. if int32(v.PregnantCheckMethod) != m.Value {
  41. continue
  42. }
  43. pregnantCheckMethodName = m.Label
  44. }
  45. result[i] = &pasturePb.SearchPregnantCheckList{
  46. Id: int32(v.Id),
  47. CowId: int32(v.CowId),
  48. DayAge: v.DayAge,
  49. Lact: int32(v.Lact),
  50. PregnantCheckAt: int32(v.PregnantCheckAt),
  51. PregnantCheckResult: v.PregnantCheckResult,
  52. PregnantCheckResultName: pregnantCheckResultName,
  53. PregnantCheckMethod: v.PregnantCheckMethod,
  54. PregnantCheckMethodName: pregnantCheckMethodName,
  55. StaffMemberId: int32(v.StaffMemberId),
  56. StaffMemberName: staffMemberName,
  57. Remarks: v.Remarks,
  58. OperationId: int32(v.OperationId),
  59. OperationName: operationName,
  60. CreatedAt: int32(v.CreatedAt),
  61. UpdatedAt: int32(v.UpdatedAt),
  62. }
  63. }
  64. return result
  65. }