|
@@ -31,14 +31,14 @@ func (e *Entry) FindAdultAbortionRate(pastureList []*model.AppPastureList, cowTy
|
|
|
return res
|
|
|
}
|
|
|
|
|
|
-func (e *Entry) FindDepartureNumber(pastureList []*model.AppPastureList, departureType pasturePb.DepartureType_Kind, startTime, endTime int64) map[int64]string {
|
|
|
+func (e *Entry) FindDepartureNumber(pastureList []*model.AppPastureList, saleKind pasturePb.SalesType_Kind, startTime, endTime int64) map[int64]string {
|
|
|
res := make(map[int64]string)
|
|
|
for _, pasture := range pastureList {
|
|
|
var count int64
|
|
|
- if err := e.DB.Model(new(model.EventDeparture)).
|
|
|
+ if err := e.DB.Model(new(model.EventSale)).
|
|
|
Where("pasture_id = ?", pasture.Id).
|
|
|
Where("departure_at BETWEEN ? AND ?", startTime, endTime).
|
|
|
- Where("departure_type = ?", departureType).
|
|
|
+ Where("sale_kind = ?", saleKind).
|
|
|
Count(&count).Error; err != nil {
|
|
|
zaplog.Error("FindAllDieNumber", zap.Any("pasture_id", pasture.Id), zap.Any("err", err))
|
|
|
}
|
|
@@ -79,16 +79,18 @@ func (e *Entry) FindCureNumber(pastureList []*model.AppPastureList, startTime, e
|
|
|
return res
|
|
|
}
|
|
|
|
|
|
-func (e *Entry) FindCalfDieNumber(pastureList []*model.AppPastureList, departureType pasturePb.DepartureType_Kind, startTime, endTime int64) map[int64]string {
|
|
|
+func (e *Entry) FindDeathNumber(pastureList []*model.AppPastureList, startTime, endTime int64, isCalf bool) map[int64]string {
|
|
|
res := make(map[int64]string)
|
|
|
for _, pasture := range pastureList {
|
|
|
var count int64
|
|
|
- if err := e.DB.Model(new(model.EventDeparture)).
|
|
|
+ pref := e.DB.Model(new(model.EventDeath)).
|
|
|
Where("pasture_id = ?", pasture.Id).
|
|
|
- Where("departure_at BETWEEN ? AND ?", startTime, endTime).
|
|
|
- Where("departure_type = ?", departureType).
|
|
|
- Where("day_age <= ?", 60).
|
|
|
- Count(&count).Error; err != nil {
|
|
|
+ Where("death_at BETWEEN ? AND ?", startTime, endTime)
|
|
|
+ if isCalf {
|
|
|
+ pref.Where("day_age <= ?", 60)
|
|
|
+ }
|
|
|
+
|
|
|
+ if err := pref.Count(&count).Error; err != nil {
|
|
|
zaplog.Error("FindAllDieNumber", zap.Any("pasture_id", pasture.Id), zap.Any("err", err))
|
|
|
}
|
|
|
res[pasture.Id] = fmt.Sprintf("%d", count)
|