|
@@ -58,14 +58,20 @@ func (e *Entry) GenerateAsynqWorkOrder() error {
|
|
|
|
|
|
// Indicators 月度指标维护
|
|
// Indicators 月度指标维护
|
|
func (e *Entry) Indicators() error {
|
|
func (e *Entry) Indicators() error {
|
|
|
|
+ nowTime := time.Now().Local()
|
|
|
|
+ defer func() {
|
|
|
|
+ zaplog.Info("crontab", zap.Any("Indicators", time.Now().Sub(nowTime).Seconds()))
|
|
|
|
+ }()
|
|
|
|
+ // 获取所有指标
|
|
indicatorsDetailsList := make([]*model.IndicatorsDetails, 0)
|
|
indicatorsDetailsList := make([]*model.IndicatorsDetails, 0)
|
|
- if err := e.DB.Model(new(model.IndicatorsDetails)).
|
|
|
|
- Find(&indicatorsDetailsList).Error; err != nil {
|
|
|
|
|
|
+ if err := e.DB.Model(new(model.IndicatorsDetails)).Find(&indicatorsDetailsList).Error; err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ // 获取所有牧场
|
|
pastureList := e.FindPastureList()
|
|
pastureList := e.FindPastureList()
|
|
|
|
+ // 获取当月开始时间和结束时间
|
|
startTime, endTime := util.GetMonthStartAndEndTimestamp()
|
|
startTime, endTime := util.GetMonthStartAndEndTimestamp()
|
|
|
|
+
|
|
for _, indicatorsDetail := range indicatorsDetailsList {
|
|
for _, indicatorsDetail := range indicatorsDetailsList {
|
|
pastureIndicatorList := map[int64]string{}
|
|
pastureIndicatorList := map[int64]string{}
|
|
switch indicatorsDetail.Kind {
|
|
switch indicatorsDetail.Kind {
|
|
@@ -85,8 +91,6 @@ func (e *Entry) Indicators() error {
|
|
pastureIndicatorList = e.FindCalvingNumber(pastureList, startTime, endTime)
|
|
pastureIndicatorList = e.FindCalvingNumber(pastureList, startTime, endTime)
|
|
case model.FattenCattleNumber:
|
|
case model.FattenCattleNumber:
|
|
pastureIndicatorList = e.FattenCattleNumber(pastureList, startTime, endTime)
|
|
pastureIndicatorList = e.FattenCattleNumber(pastureList, startTime, endTime)
|
|
- case model.AdultAbortionRate:
|
|
|
|
- pastureIndicatorList = e.FindAdultAbortionRate(pastureList, "adult", startTime, endTime)
|
|
|
|
case model.YouthAbortionRate:
|
|
case model.YouthAbortionRate:
|
|
pastureIndicatorList = e.FindAdultAbortionRate(pastureList, "youth", startTime, endTime)
|
|
pastureIndicatorList = e.FindAdultAbortionRate(pastureList, "youth", startTime, endTime)
|
|
case model.AllDieNumber:
|
|
case model.AllDieNumber:
|
|
@@ -173,6 +177,16 @@ func (e *Entry) Indicators() error {
|
|
pastureIndicatorList = e.PrematureBirthRate(pastureList, startTime, endTime, 60, true)
|
|
pastureIndicatorList = e.PrematureBirthRate(pastureList, startTime, endTime, 60, true)
|
|
case model.YouthPrematureBirthRate:
|
|
case model.YouthPrematureBirthRate:
|
|
pastureIndicatorList = e.PrematureBirthRate(pastureList, startTime, endTime, 60, false)
|
|
pastureIndicatorList = e.PrematureBirthRate(pastureList, startTime, endTime, 60, false)
|
|
|
|
+ case model.LessThan6monthCalfNumber:
|
|
|
|
+ pastureIndicatorList = e.LessThan6monthCalfNumber(pastureList, startTime, endTime)
|
|
|
|
+ case model.AdultCowsPregnancyRate:
|
|
|
|
+ pastureIndicatorList = e.AdultCowsPregnancyRate(pastureList, startTime, endTime)
|
|
|
|
+ case model.Lact1PregnancyRate:
|
|
|
|
+ pastureIndicatorList = e.LactPregnancyRate(pastureList, "lact = 1", startTime, endTime)
|
|
|
|
+ case model.Lact2PregnancyRate:
|
|
|
|
+ pastureIndicatorList = e.LactPregnancyRate(pastureList, "lact = 2", startTime, endTime)
|
|
|
|
+ case model.Lact3PregnancyRate:
|
|
|
|
+ pastureIndicatorList = e.LactPregnancyRate(pastureList, "lact >= 3", startTime, endTime)
|
|
}
|
|
}
|
|
|
|
|
|
for pastureId, value := range pastureIndicatorList {
|
|
for pastureId, value := range pastureIndicatorList {
|