|  | @@ -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 {
 |