|
@@ -203,7 +203,8 @@ func (e *Entry) FirstFilterUpdate(pastureId int64, xToDay *XToday) (processIds [
|
|
|
func (e *Entry) SecondUpdateChangeFilter(pastureId int64, processIds []int64, xToday *XToday) {
|
|
|
newChangeFilterList := make([]*ChangeFilterData, 0)
|
|
|
if err := e.DB.Model(new(model.NeckActiveHabit)).
|
|
|
- Select("id", "neck_ring_number", "change_high", "change_filter", "rumina_filter", "change_rumina", "chew_filter", "change_chew", "heat_date", "frameid", "IF(lact = 0, 0.8, 1) as xlc_dis_count").
|
|
|
+ Select("id", "neck_ring_number", "change_high", "change_filter", "rumina_filter", "change_rumina",
|
|
|
+ "chew_filter", "change_chew", "heat_date", "frameid", "IF(lact = 0, 0.8, 1) as xlc_dis_count").
|
|
|
Where("pasture_id = ?", pastureId).
|
|
|
Where("id IN (?)", processIds).
|
|
|
Where("change_filter = ?", model.InitChangeFilter).
|
|
@@ -243,7 +244,8 @@ func (e *Entry) SecondUpdateChangeFilter(pastureId int64, processIds []int64, xT
|
|
|
|
|
|
changeFilter := float64(v.ChangeFilter)
|
|
|
if v.ChangeFilter <= MinChangeFilter {
|
|
|
- changeFilter = float64(secondFilterData.ChangeFilter)*(1-xChangeDiscount*v.XlcDisCount) + math.Min(float64(v.ChangeHigh), float64(secondFilterData.ChangeFilter)+135)*xChangeDiscount*v.XlcDisCount
|
|
|
+ changeFilter = float64(secondFilterData.ChangeFilter)*(1-xChangeDiscount*v.XlcDisCount) +
|
|
|
+ math.Min(float64(v.ChangeHigh), float64(secondFilterData.ChangeFilter)+135)*xChangeDiscount*v.XlcDisCount
|
|
|
}
|
|
|
|
|
|
ruminaFilter := float64(v.RuminaFilter)
|
|
@@ -261,11 +263,24 @@ func (e *Entry) SecondUpdateChangeFilter(pastureId int64, processIds []int64, xT
|
|
|
if math.Abs(float64(v.ChangeChew)) > 60 {
|
|
|
chewFilterDiscount = 0.5
|
|
|
}
|
|
|
- chewFilter = float64(secondFilterData.ChewFilter)*(1-xRuminaDisc*chewFilterDiscount) + float64(v.ChangeChew)*xRuminaDisc*chewFilterDiscount
|
|
|
+ chewFilter = float64(secondFilterData.ChewFilter)*(1-xRuminaDisc*chewFilterDiscount) +
|
|
|
+ float64(v.ChangeChew)*xRuminaDisc*chewFilterDiscount
|
|
|
if chewFilter > 50 {
|
|
|
chewFilter = 50
|
|
|
}
|
|
|
|
|
|
+ zaplog.Info("SecondUpdateChangeFilter",
|
|
|
+ zap.Any("NeckActiveHabit", v),
|
|
|
+ zap.Any("discount", discount),
|
|
|
+ zap.Any("xChangeDiscount", xChangeDiscount),
|
|
|
+ zap.Any("xRuminaDisc", xRuminaDisc),
|
|
|
+ zap.Any("chewFilterDiscount", chewFilterDiscount),
|
|
|
+ zap.Any("secondFilterData", secondFilterData),
|
|
|
+ zap.Any("changeFilter", changeFilter),
|
|
|
+ zap.Any("ruminaFilter", ruminaFilter),
|
|
|
+ zap.Any("chewFilter", chewFilter),
|
|
|
+ )
|
|
|
+
|
|
|
if err := e.DB.Model(new(model.NeckActiveHabit)).
|
|
|
Select("change_filter", "rumina_filter", "chew_filter").
|
|
|
Where("id = ?", v.Id).
|