|
@@ -110,37 +110,37 @@ func (s *StoreEntry) CowDiseaseCreate(ctx context.Context, req *pasturePb.EventC
|
|
|
func (s *StoreEntry) CowDiseaseList(ctx context.Context, req *pasturePb.SearchEventCowTreatmentRequest, pagination *pasturePb.PaginationModel) (*pasturePb.EventCowDiseaseResponse, error) {
|
|
|
cowDiseaseList := make([]*model.EventCowDisease, 0)
|
|
|
var count int64 = 0
|
|
|
- pref := s.DB.Model(new(model.EventCowDisease)).
|
|
|
- Where("diagnosed_result < ?", pasturePb.IsShow_No)
|
|
|
+ pref := s.DB.Select("a.*,b.name").Table(fmt.Sprintf("%s as a", new(model.EventCowDisease).TableName())).
|
|
|
+ Joins(fmt.Sprintf("JOIN %s AS b on a.pen_id = b.id", new(model.Pen).TableName())).
|
|
|
+ Where("a.diagnosed_result < ?", pasturePb.IsShow_No)
|
|
|
|
|
|
if len(req.CowIds) > 0 {
|
|
|
- pref.Where("cow_id IN ?", req.CowIds)
|
|
|
+ pref.Where("a.cow_id IN ?", req.CowIds)
|
|
|
}
|
|
|
|
|
|
if req.DiseaseId > 0 {
|
|
|
- pref.Where("disease_id = ?", req.DiseaseId)
|
|
|
+ pref.Where("a.disease_id = ?", req.DiseaseId)
|
|
|
}
|
|
|
|
|
|
if req.PenId > 0 {
|
|
|
- pref.Where("pen_id = ?", req.PenId)
|
|
|
+ pref.Where("a.pen_id = ?", req.PenId)
|
|
|
}
|
|
|
|
|
|
if req.Lact > 0 {
|
|
|
- pref.Where("lact = ?", req.Lact)
|
|
|
+ pref.Where("a.lact = ?", req.Lact)
|
|
|
}
|
|
|
|
|
|
if req.MinDayAge > 0 && req.MaxDayAge > 0 && req.MaxDayAge >= req.MinDayAge {
|
|
|
- pref.Where("day_age BETWEEN ? AND ?", req.MinDayAge, req.MaxDayAge)
|
|
|
+ pref.Where("a.day_age BETWEEN ? AND ?", req.MinDayAge, req.MaxDayAge)
|
|
|
}
|
|
|
|
|
|
if req.HealthStatus > 0 {
|
|
|
- pref.Where("health_status = ?", req.HealthStatus)
|
|
|
+ pref.Where("a.health_status = ?", req.HealthStatus)
|
|
|
}
|
|
|
|
|
|
- if err := pref.Order("id desc").
|
|
|
+ if err := pref.Order("a.id desc").
|
|
|
Count(&count).Limit(int(pagination.PageSize)).
|
|
|
Offset(int(pagination.PageOffset)).
|
|
|
- Order("id desc").
|
|
|
Find(&cowDiseaseList).Error; err != nil {
|
|
|
return nil, xerr.WithStack(err)
|
|
|
}
|