From 84da3e2f497a53d1356ee131e41c3ac84ba652f9 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期五, 08 三月 2024 15:14:56 +0800
Subject: [PATCH] 获取生丝定级标准

---
 models/raw_silk_rank_standard.go          |   20 ++++------
 controllers/response/raw_silk_standard.go |   22 +++++++++++
 controllers/raw_silk_standard.go          |   39 +++++++++++++++++++
 router/router.go                          |    2 +
 4 files changed, 71 insertions(+), 12 deletions(-)

diff --git a/controllers/raw_silk_standard.go b/controllers/raw_silk_standard.go
index f8e537c..823619c 100644
--- a/controllers/raw_silk_standard.go
+++ b/controllers/raw_silk_standard.go
@@ -3,6 +3,7 @@
 import (
 	"github.com/gin-gonic/gin"
 	"silkserver/controllers/request"
+	"silkserver/controllers/response"
 	"silkserver/extend/code"
 	"silkserver/extend/util"
 	"silkserver/models"
@@ -88,3 +89,41 @@
 	}
 	util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎鎴愬姛")
 }
+
+// GetRankStandard
+//
+//	@Tags		绯荤粺璁剧疆/鐢熶笣瀹氱骇鏍囧噯
+//	@Summary	鑾峰彇鐢熶笣瀹氱骇鏍囧噯
+//	@Produce	application/json
+//	@Success	200	{object}	util.ResponseList{data=[]response.RankStandard}	"鎴愬姛"
+//	@Router		/api-jl/v1/system/getRankStandard [get]
+func (slf RawSilkStandardController) GetRankStandard(c *gin.Context) {
+	standards, err := models.NewRawSilkRankStandardSearch().FindNotTotal()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鑾峰彇鐢熶笣瀹氱骇鏍囧噯澶辫触")
+		return
+	}
+	m := make(map[string]response.RankStandard)
+	for _, standard := range standards {
+		var dr response.DynamicsRank
+		dr.RankName = standard.RankName
+		dr.RankValue = standard.RankValue
+		rankStandard, ok := m[standard.LineId]
+		if !ok {
+			rankStandard.LineId = standard.LineId
+			rankStandard.CheckItem = standard.CheckItem
+			rankStandard.StartFineness = standard.StartFineness
+			rankStandard.EndFineness = standard.EndFineness
+			rankStandard.RankA = standard.RankA
+			rankStandard.RankB = standard.RankB
+			rankStandard.RankC = standard.RankC
+		}
+		rankStandard.DynamicsRanks = append(rankStandard.DynamicsRanks, dr)
+		m[standard.LineId] = rankStandard
+	}
+	data := make([]response.RankStandard, 0)
+	for _, standard := range m {
+		data = append(data, standard)
+	}
+	util.ResponseFormat(c, code.Success, data)
+}
diff --git a/controllers/response/raw_silk_standard.go b/controllers/response/raw_silk_standard.go
new file mode 100644
index 0000000..b9bb7db
--- /dev/null
+++ b/controllers/response/raw_silk_standard.go
@@ -0,0 +1,22 @@
+package response
+
+import (
+	"github.com/shopspring/decimal"
+	"silkserver/constvar"
+)
+
+type RankStandard struct {
+	LineId        string             `json:"lineId"`        //琛宨d
+	CheckItem     constvar.CheckItem `json:"checkItem"`     //妫�鏌ラ」鐩悕绉�
+	StartFineness decimal.Decimal    `json:"startFineness"` //寮�濮嬬氦搴�
+	EndFineness   decimal.Decimal    `json:"endFineness"`   //缁撴潫绾ゅ害
+	RankA         decimal.Decimal    `json:"rankA"`         //閲庣氦
+	RankB         decimal.Decimal    `json:"rankB"`         //澶ч噹
+	RankC         decimal.Decimal    `json:"rankC"`         //鐗归噹
+	DynamicsRanks []DynamicsRank     `json:"dynamicsRanks"`
+}
+
+type DynamicsRank struct {
+	RankName  string          `json:"rankName"`  //绛夌骇鍚嶇О
+	RankValue decimal.Decimal `json:"rankValue"` //绛夌骇鍊�
+}
diff --git a/models/raw_silk_rank_standard.go b/models/raw_silk_rank_standard.go
index b1ee31d..fdc2770 100644
--- a/models/raw_silk_rank_standard.go
+++ b/models/raw_silk_rank_standard.go
@@ -16,8 +16,11 @@
 		CheckItem     constvar.CheckItem `json:"checkItem" gorm:"type:int;comment:妫�鏌ラ」鐩悕绉�"`
 		StartFineness decimal.Decimal    `json:"startFineness" gorm:"type:decimal(20,4);comment:寮�濮嬬氦搴�"`
 		EndFineness   decimal.Decimal    `json:"endFineness" gorm:"type:decimal(20,4);comment:缁撴潫绾ゅ害"`
+		RankA         decimal.Decimal    `json:"rankA" gorm:"type:decimal(20,4);comment:閲庣氦"`
+		RankB         decimal.Decimal    `json:"rankB" gorm:"type:decimal(20,4);comment:澶ч噹"`
+		RankC         decimal.Decimal    `json:"rankC" gorm:"type:decimal(20,4);comment:鐗归噹"`
 		RankName      string             `json:"rankName" gorm:"type:varchar(255);comment:绛夌骇鍚嶇О"`
-		RankValue     string             `json:"rankValue" gorm:"type:varchar(255);comment:绛夌骇鍊�"`
+		RankValue     decimal.Decimal    `json:"rankValue" gorm:"type:decimal(20,4);comment:绛夌骇鍊�"`
 	}
 	RawSilkRankStandardSearch struct {
 		RawSilkRankStandard
@@ -28,7 +31,7 @@
 )
 
 func (slf RawSilkRankStandard) TableName() string {
-	return "raw_silk_price_standard"
+	return "raw_silk_rank_standard"
 }
 
 func NewRawSilkRankStandardSearch() *RawSilkRankStandardSearch {
@@ -65,24 +68,17 @@
 	return nil
 }
 
-func (slf *RawSilkRankStandardSearch) Find() ([]*RawSilkRankStandard, int64, error) {
+func (slf *RawSilkRankStandardSearch) FindNotTotal() ([]*RawSilkRankStandard, error) {
 	var (
 		records = make([]*RawSilkRankStandard, 0)
-		total   int64
 		db      = slf.build()
 	)
 
-	if err := db.Count(&total).Error; err != nil {
-		return records, total, fmt.Errorf("find count err: %v", err)
-	}
-	if slf.PageNum*slf.PageSize > 0 {
-		db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
-	}
 	if err := db.Find(&records).Error; err != nil {
-		return records, total, fmt.Errorf("find records err: %v", err)
+		return records, fmt.Errorf("find records err: %v", err)
 	}
 
-	return records, total, nil
+	return records, nil
 }
 
 func (slf *RawSilkRankStandardSearch) Save(record *RawSilkRankStandard) error {
diff --git a/router/router.go b/router/router.go
index 6d495b6..3201fc2 100644
--- a/router/router.go
+++ b/router/router.go
@@ -38,6 +38,8 @@
 		systemApi.GET("getPriceStandardList", rawSilkController.GetPriceStandardList)      //鑾峰彇鐢熶笣瀹氫环鏍囧噯
 		systemApi.POST("savePriceStandard", rawSilkController.SavePriceStandard)           //淇濆瓨鐢熶笣瀹氫环鏍囧噯
 		systemApi.DELETE("deletePriceStandard/:id", rawSilkController.DeletePriceStandard) //鍒犻櫎鐢熶笣瀹氫环鏍囧噯
+		//鐢熶笣瀹氫环
+		systemApi.GET("getRankStandard", rawSilkController.GetRankStandard)
 		//杞﹂棿绠$悊
 		systemApi.GET("getWorkshopManageList", workshopController.GetWorkshopManageList)      //鑾峰彇杞﹂棿绠$悊鍒楄〃
 		systemApi.POST("saveWorkshopManage", workshopController.SaveWorkshopManage)           //淇濆瓨杞﹂棿绠$悊

--
Gitblit v1.8.0