From 7dd6097d42d6d6f254a84ab0111bac70f0358660 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 30 四月 2024 10:20:40 +0800
Subject: [PATCH] 加一些注释

---
 service/fineness.go  |   34 +---------------
 service/silk_rank.go |    4 +-
 utils/mathx.go       |   36 +++++++++++++++++
 3 files changed, 40 insertions(+), 34 deletions(-)

diff --git a/service/fineness.go b/service/fineness.go
index d5e3663..04a2a08 100644
--- a/service/fineness.go
+++ b/service/fineness.go
@@ -44,11 +44,11 @@
 		}
 
 		carCheckNumber++
-		if carCheckNumber == constvar.EveryPersonCarCheckNumber {
+		if carCheckNumber == constvar.EveryPersonCarCheckNumber { //姣忎汉姣忚溅鍙峰彇涓や釜涓濓紝鎵�浠ユ瘡涓や釜绛変簬涓�涓溅鍙凤紝瀛樹竴琛� models.FinenessCheckItem
 			carCheckNumber = 0
 			if endCarMap[finenessItem.Position] { //璧板埌浜嗘煇涓汉鏈�鍚庣殑杞﹀彿,姣忎汉绠椾竴娆″亸宸拰绛夌骇
 				deviation = utils.Deviation(personFinenessList)
-				totalDeviation = TotalDeviation(personFinenessList, utils.Average(personFinenessList))
+				totalDeviation = utils.TotalDeviation(personFinenessList, utils.Average(personFinenessList))
 				finenessGrade = CalcFinenessGrade(deviation, totalDeviation, decimal.Zero, decimal.Zero, decimal.Zero, standardMap)
 				personFinenessList = personFinenessList[:0]
 			} else {
@@ -73,7 +73,7 @@
 		MarketProcessOrderNumber: "",
 		Inspector:                "",
 	}
-	finenessCheck.TotalDeviation = TotalDeviation(allFinenessList, finenessCheck.AverageFineness)
+	finenessCheck.TotalDeviation = utils.TotalDeviation(allFinenessList, finenessCheck.AverageFineness)
 	finenessCheck.FinenessGrade = CalcFinenessGrade(finenessCheck.Deviation, finenessCheck.TotalDeviation, finenessCheck.Cleanliness, finenessCheck.Purity, finenessCheck.TwiceChange, standardMap)
 
 	err = models.WithTransaction(func(db *gorm.DB) error {
@@ -229,32 +229,4 @@
 	// 淇濈暀涓�浣嶅皬鏁帮紝骞跺湪鏁存暟鎯呭喌涓嬪湪灏忔暟鐐瑰悗鍔犱竴涓浂
 	result = float32(math.Round(float64(result)*10) / 10)
 	return result
-}
-
-func TotalDeviation(numbers []decimal.Decimal, average decimal.Decimal) decimal.Decimal {
-	if len(numbers) < 2 {
-		return decimal.Zero
-	}
-
-	n := len(numbers)
-	ratio := decimal.NewFromFloat(0.02)
-	length := decimal.NewFromInt(int64(n)).Mul(ratio).Ceil().IntPart()
-	if length >= int64(n) {
-		return decimal.Zero
-	}
-
-	sort.Slice(numbers, func(i, j int) bool {
-		return numbers[i].LessThan(numbers[j])
-	})
-
-	minPart := numbers[:length-1]
-	maxPart := numbers[length:]
-
-	minAverage := utils.Average(minPart)
-	maxAverage := utils.Average(maxPart)
-
-	minDiff := minAverage.Sub(average).Abs()
-	maxDiff := maxAverage.Sub(average).Abs()
-
-	return decimal.Max(minDiff, maxDiff)
 }
diff --git a/service/silk_rank.go b/service/silk_rank.go
index 6d76999..dcd96f7 100644
--- a/service/silk_rank.go
+++ b/service/silk_rank.go
@@ -26,8 +26,8 @@
 type ValueType int
 
 const (
-	ValueTypeSmallerBetter ValueType = 0 //鍊兼寜鍗囧簭鎺掑悕锛堝�艰秺澶э紝绛夌骇瓒婇珮锛�
-	ValueTypeGreaterBetter ValueType = 1 //鍊兼寜闄嶅簭鎺掑悕锛堝�艰秺灏忥紝绛夌骇瓒婁綆锛�
+	ValueTypeSmallerBetter ValueType = 0 //鍊兼寜鍗囧簭鎺掑悕锛堝�艰秺灏忥紝绛夌骇瓒婇珮锛�
+	ValueTypeGreaterBetter ValueType = 1 //鍊兼寜闄嶅簭鎺掑悕锛堝�艰秺澶э紝绛夌骇瓒婇珮锛�
 )
 
 var sortTypeMap = map[constvar.CheckItem]ValueType{
diff --git a/utils/mathx.go b/utils/mathx.go
index 3bbf646..f43ead9 100644
--- a/utils/mathx.go
+++ b/utils/mathx.go
@@ -1,7 +1,11 @@
 package utils
 
-import "github.com/shopspring/decimal"
+import (
+	"github.com/shopspring/decimal"
+	"sort"
+)
 
+// Average 鍙栧钩鍧囧��
 func Average(numbers []decimal.Decimal) decimal.Decimal {
 	if len(numbers) == 0 {
 		return decimal.Decimal{}
@@ -16,6 +20,7 @@
 	return sum.Div(decimal.NewFromInt(int64(len(numbers))))
 }
 
+// Deviation 鍋忓樊
 func Deviation(numbers []decimal.Decimal) decimal.Decimal {
 	if len(numbers) == 0 || len(numbers) == 1 {
 		return decimal.Decimal{}
@@ -28,3 +33,32 @@
 	}
 	return diffSquaredSum.Div(decimal.NewFromInt(int64(len(numbers))))
 }
+
+// TotalDeviation 鎬诲樊
+func TotalDeviation(numbers []decimal.Decimal, average decimal.Decimal) decimal.Decimal {
+	if len(numbers) < 2 {
+		return decimal.Zero
+	}
+
+	n := len(numbers)
+	ratio := decimal.NewFromFloat(0.02)
+	length := decimal.NewFromInt(int64(n)).Mul(ratio).Ceil().IntPart()
+	if length >= int64(n) {
+		return decimal.Zero
+	}
+
+	sort.Slice(numbers, func(i, j int) bool {
+		return numbers[i].LessThan(numbers[j])
+	})
+
+	minPart := numbers[:length-1]
+	maxPart := numbers[length:]
+
+	minAverage := Average(minPart)
+	maxAverage := Average(maxPart)
+
+	minDiff := minAverage.Sub(average).Abs()
+	maxDiff := maxAverage.Sub(average).Abs()
+
+	return decimal.Max(minDiff, maxDiff)
+}

--
Gitblit v1.8.0