Browse Source

cow: updated

Yi 4 months ago
parent
commit
9116159e67
2 changed files with 14 additions and 11 deletions
  1. 8 10
      module/crontab/neck_ring_handle.go
  2. 6 1
      util/util_test.go

+ 8 - 10
module/crontab/neck_ring_handle.go

@@ -82,7 +82,6 @@ func (e *Entry) NeckRingOriginalMergeData() (err error) {
 		return nil
 	}
 
-	zaplog.Info("neckActiveHabitList", zap.Any("neckActiveHabitList", neckActiveHabitList))
 	for _, habit := range neckActiveHabitList {
 		//更新脖环牛只相关信息 新数据直接插入
 		historyNeckActiveHabit, ct := e.IsExistNeckActiveHabit(habit.NeckRingNumber, habit.HeatDate, habit.Frameid)
@@ -161,21 +160,22 @@ func (e *Entry) recalculate(neckRingList []*model.NeckRingOriginal) []*model.Nec
 	res := make([]*model.NeckActiveHabit, 0)
 	// 算平均值
 	for k, v := range originalMapData {
-		// 过滤掉合并后不满6条数据
-		if v.RecordCount < 6 {
+		// 过滤掉合并后不等于6条数据
+		if v.RecordCount > 6 {
+			delete(originalMapData, k)
+			continue
+		} else if v.RecordCount < 6 {
 			currMaxXframeId := util.FrameIdMapReverse[int32(currTime.Hour())]
 			activeDateString := fmt.Sprintf("%s %02d:00:00", v.ActiveDate, v.XframeId*2+1)
 			activeDate, _ := time.Parse(model.LayoutTime, activeDateString)
 			if currMaxXframeId-v.XframeId <= 1 && currTime.Add(-1*time.Hour).Unix() < activeDate.Unix() {
 				delete(originalMapData, k)
+				continue
 			}
 		}
-		if v.RecordCount > 6 {
-			zaplog.Error("recalculate", zap.Any("k", k), zap.Any("v", v))
-			delete(originalMapData, k)
-		}
 		v.SumAvg()
 	}
+
 	if len(originalMapData) <= 0 {
 		return res
 	}
@@ -188,6 +188,7 @@ func (e *Entry) againRecalculate(data *model.NeckActiveHabit) *model.NeckActiveH
 	originalList := make([]*model.NeckRingOriginal, 0)
 	frameIds := util.FrameIds(data.Frameid)
 	if err := e.DB.Model(new(model.NeckRingOriginal)).
+		Where("pasture_id = ?", data.PastureId).
 		Where("neck_ring_number = ?", data.NeckRingNumber).
 		Where("active_date = ?", data.HeatDate).
 		Where("frameid IN (?)", frameIds).
@@ -200,9 +201,6 @@ func (e *Entry) againRecalculate(data *model.NeckActiveHabit) *model.NeckActiveH
 		return nil
 	}
 	res := newDataList[0]
-	if res.Id <= 0 {
-		return nil
-	}
 	res.IsShow = pasturePb.IsShow_No
 	return res
 }

+ 6 - 1
util/util_test.go

@@ -509,6 +509,11 @@ func TestGetNeckRingActiveTimer(t *testing.T) {
 func Test_demo(t *testing.T) {
 
 	for i := 0; i <= 11; i++ {
-		fmt.Println(FrameIds(int32(i)))
+		switch i {
+		case 6:
+			fmt.Println("ok")
+		default:
+			fmt.Println("i", i)
+		}
 	}
 }