From 30e38e3b2a55a4c9d503b7fbda303437865793be Mon Sep 17 00:00:00 2001
From: yinbentan <yinbentan@live.com>
Date: 星期二, 16 七月 2024 20:08:30 +0800
Subject: [PATCH] 添加方法,根据纤度登记ID获取纤度检验详情
---
service/silk_rank.go | 37 ++++++++++++++++++-------------------
1 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/service/silk_rank.go b/service/silk_rank.go
index a694467..dcd96f7 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,25 +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 standard.SortType == SortTypeAsc {
- standardMap[lineId].GradeRank[pair.RankName] = k + 1
- } else {
- standardMap[lineId].GradeRank[pair.RankName] = len(standard.ValueList) - k
+ if standardMap[lineId].GradeRank == nil {
+ standardMap[lineId].GradeRank = make(map[string]int, 0)
}
+ standardMap[lineId].GradeRank[pair.RankName] = len(standard.ValueList) - k
}
}
return standardMap, nil
--
Gitblit v1.8.0