From 52d6ec2b86005444441a7c7033d7d2ffd35631d2 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 30 四月 2024 09:58:55 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/silk/silkServer

---
 service/silk_rank.go |   36 ++++++++++++++++--------------------
 1 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/service/silk_rank.go b/service/silk_rank.go
index ea8c57e..6d76999 100644
--- a/service/silk_rank.go
+++ b/service/silk_rank.go
@@ -14,7 +14,7 @@
 	EndFineness   decimal.Decimal
 	GradeMap      map[string]struct{}
 	ValueList     []*Pair
-	SortType      SortType
+	SortType      ValueType
 	GradeRank     map[string]int
 }
 
@@ -23,23 +23,23 @@
 	RankValue decimal.Decimal
 }
 
-type SortType int
+type ValueType int
 
 const (
-	SortTypeAsc  SortType = 0
-	SortTypeDesc SortType = 1
+	ValueTypeSmallerBetter ValueType = 0 //鍊兼寜鍗囧簭鎺掑悕锛堝�艰秺澶э紝绛夌骇瓒婇珮锛�
+	ValueTypeGreaterBetter ValueType = 1 //鍊兼寜闄嶅簭鎺掑悕锛堝�艰秺灏忥紝绛夌骇瓒婁綆锛�
 )
 
-var sortTypeMap = map[constvar.CheckItem]SortType{
-	constvar.CheckItemDeviation:    SortTypeAsc,
-	constvar.CheckItemTwiceChange:  SortTypeAsc,
-	constvar.CheckItemCleanliness:  SortTypeDesc,
-	constvar.CheckItemPurity:       SortTypeDesc,
-	constvar.CheckItemMaxDeviation: SortTypeAsc,
+var sortTypeMap = map[constvar.CheckItem]ValueType{
+	constvar.CheckItemDeviation:    ValueTypeSmallerBetter,
+	constvar.CheckItemTwiceChange:  ValueTypeSmallerBetter,
+	constvar.CheckItemCleanliness:  ValueTypeGreaterBetter,
+	constvar.CheckItemPurity:       ValueTypeGreaterBetter,
+	constvar.CheckItemMaxDeviation: ValueTypeSmallerBetter,
 }
 
-func GetSilkRankStandard() (map[string]*Standard, error) {
-	rankStandards, err := models.NewRawSilkRankStandardSearch().FindNotTotal()
+func GetSilkRankStandard(startFineness, endFineness decimal.Decimal) (map[string]*Standard, error) {
+	rankStandards, err := models.NewRawSilkRankStandardSearch().SetFineness(startFineness, endFineness).FindNotTotal()
 	if err != nil {
 		return nil, err
 	}
@@ -87,28 +87,24 @@
 		}
 	}
 	//value鎺掑簭
-	for k := range standardMap {
+	for k := range standardMap { //绛夌骇闄嶅簭鎺掑垪
 		sort.Slice(standardMap[k].ValueList, func(i, j int) bool {
 			sortType := sortTypeMap[standardMap[k].CheckItem]
 			standardMap[k].SortType = sortType
-			if sortType == SortTypeAsc {
+			if sortType == ValueTypeSmallerBetter {
 				return standardMap[k].ValueList[i].RankValue.LessThan(standardMap[k].ValueList[j].RankValue)
 			} else {
 				return standardMap[k].ValueList[i].RankValue.GreaterThan(standardMap[k].ValueList[j].RankValue)
 			}
 		})
 	}
-	//绛夌骇鎺掑悕
+	//绛夌骇鎺掑悕 GradeRank瓒婂ぇ锛岀瓑绾ц秺楂�
 	for lineId, standard := range standardMap {
 		for k, pair := range standard.ValueList {
 			if standardMap[lineId].GradeRank == nil {
 				standardMap[lineId].GradeRank = make(map[string]int, 0)
 			}
-			if standard.SortType == SortTypeAsc {
-				standardMap[lineId].GradeRank[pair.RankName] = k + 1
-			} else {
-				standardMap[lineId].GradeRank[pair.RankName] = len(standard.ValueList) - k
-			}
+			standardMap[lineId].GradeRank[pair.RankName] = len(standard.ValueList) - k
 		}
 	}
 	return standardMap, nil

--
Gitblit v1.8.0