From 30e38e3b2a55a4c9d503b7fbda303437865793be Mon Sep 17 00:00:00 2001
From: yinbentan <yinbentan@live.com>
Date: 星期二, 16 七月 2024 20:08:30 +0800
Subject: [PATCH] 添加方法,根据纤度登记ID获取纤度检验详情

---
 controllers/fineness.go         |   54 +++++++++++++++++++++++---
 models/dict.go                  |   14 +++---
 controllers/request/fineness.go |    3 +
 models/fineness_item.go         |   10 ++--
 4 files changed, 61 insertions(+), 20 deletions(-)

diff --git a/controllers/fineness.go b/controllers/fineness.go
index 9cc41d3..0eaa33d 100644
--- a/controllers/fineness.go
+++ b/controllers/fineness.go
@@ -66,14 +66,13 @@
 	err = models.WithTransaction(func(db *gorm.DB) error {
 		search := models.NewFinenessRegisterSearch().SetOrm(db)
 
-		if !isNew {
+		if !isNew { // id涓嶄负绌�
 			if err := models.NewFinenessItemSearch().SetOrm(db).SetFinenessRegisterID(params.ID).Delete(); err != nil {
 				return err
 			}
 			return search.Save(&params)
-		} else {
-			return search.Create(&params)
 		}
+		return search.Create(&params)
 	})
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
@@ -87,7 +86,7 @@
 		return
 	}
 
-	util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛")
+	util.ResponseFormat(c, code.Success, params)
 }
 
 func (slf FinenessController) ParamsCheck(params models.FinenessRegister) (err error) {
@@ -201,12 +200,17 @@
 		util.ResponseFormat(c, code.RequestParamError, "绌虹殑璁板綍id")
 		return
 	}
-
-	err := models.NewFinenessRegisterSearch().SetID(id).Delete()
+	err := models.WithTransaction(func(db *gorm.DB) error {
+		if err := models.NewFinenessItemSearch().SetOrm(db).SetFinenessRegisterID(id).Delete(); err != nil {
+			return err
+		}
+		return models.NewFinenessRegisterSearch().SetOrm(db).SetID(id).Delete()
+	})
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触")
 		return
 	}
+
 	util.ResponseFormat(c, code.UpdateSuccess, "鍒犻櫎鎴愬姛")
 }
 
@@ -237,7 +241,7 @@
 // @Tags      绾ゅ害妫�楠�
 // @Summary   绾ゅ害妫�楠岃鎯�
 // @Produce   application/json
-// @Param     id  path string true  "瀛楀吀淇℃伅"
+// @Param     id  path string true  "绾ゅ害妫�楠孖D"
 // @Success   200 {object} util.ResponseList{data=response.FinenessCheckInfo} "鎴愬姛"
 // @Router    /api-jl/v1/fineness/check/{id} [get]
 func (slf FinenessController) CheckInfo(c *gin.Context) {
@@ -269,6 +273,42 @@
 	util.ResponseFormat(c, code.Success, resp)
 }
 
+// CheckInfoByFinenessID
+// @Tags      绾ゅ害妫�楠�
+// @Summary   鏍规嵁绾ゅ害鐧昏ID鑾峰彇绾ゅ害妫�楠岃鎯�
+// @Produce   application/json
+// @Param     id  path string true  "绾ゅ害鐧昏ID"
+// @Success   200 {object} util.ResponseList{data=response.FinenessCheckInfo} "鎴愬姛"
+// @Router    /api-jl/v1/fineness/checkFinenessID/{id} [get]
+func (slf FinenessController) CheckInfoByFinenessID(c *gin.Context) {
+	idStr := c.Param("id")
+	if idStr == "0" || idStr == "" {
+		util.ResponseFormat(c, code.RequestParamError, "绌虹殑璁板綍id")
+		return
+	}
+
+	id := convertx.StringToUInt(idStr)
+	if id == 0 {
+		util.ResponseFormat(c, code.RequestParamError, "绌虹殑璁板綍id")
+		return
+	}
+
+	info, err := models.NewFinenessCheckSearch().SetFinenessRegisterID(id).SetPreload().First()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "妫�鏌ヨ〃鏌ユ壘澶辫触")
+		return
+	}
+	resp := new(response.FinenessCheckInfo)
+	resp.Info = info
+	resp.Items, err = models.NewFinenessCheckItemSearch().SetFinenessRegisterID(info.FinenessRegisterID).FindAll()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "妫�鏌ヨ鎯呰〃鏌ユ壘澶辫触")
+		return
+	}
+
+	util.ResponseFormat(c, code.Success, resp)
+}
+
 // CheckDelete
 // @Tags      绾ゅ害妫�楠�
 // @Summary   绾ゅ害妫�楠屽垹闄�
diff --git a/controllers/request/fineness.go b/controllers/request/fineness.go
index 47c5aa9..60a3041 100644
--- a/controllers/request/fineness.go
+++ b/controllers/request/fineness.go
@@ -30,5 +30,6 @@
 
 type GetFinenessRegisterList struct {
 	PageInfo
-	Keyword string `json:"keyword" form:"keyword"`
+	FinenessRegisterID uint   `json:"finenessRegisterID"` //绾ゅ害鐧昏琛↖D
+	Keyword            string `json:"keyword" form:"keyword"`
 }
diff --git a/models/dict.go b/models/dict.go
index e585f01..b8b2dd9 100644
--- a/models/dict.go
+++ b/models/dict.go
@@ -8,13 +8,13 @@
 )
 
 type (
-	// Dict 璇嶅吀
+	// Dict 缂笣璇嶅吀
 	Dict struct {
 		gorm.Model
-		DictType *constvar.DictType `gorm:"index;type:tinyint(3);not null;comment:瀛楀吀绫诲瀷"`         //瀛楀吀绫诲瀷
-		Number   string             `gorm:"type:varchar(255);not null;comment:缂栧彿" json:"number"` //缂栧彿
-		Name     string             `gorm:"type:varchar(255);not null;comment:鍚嶇О" json:"name"`   //鍚嶇О
-		Remark   string             `gorm:"type:varchar(255);not null;comment:澶囨敞" json:"remark"` //澶囨敞
+		DictType constvar.DictType `gorm:"index;type:tinyint(3);not null;comment:瀛楀吀绫诲瀷"`         //瀛楀吀绫诲瀷
+		Number   string            `gorm:"type:varchar(255);not null;comment:缂栧彿" json:"number"` //缂栧彿
+		Name     string            `gorm:"type:varchar(255);not null;comment:鍚嶇О" json:"name"`   //鍚嶇О
+		Remark   string            `gorm:"type:varchar(255);not null;comment:澶囨敞" json:"remark"` //澶囨敞
 	}
 
 	DictSearch struct {
@@ -71,7 +71,7 @@
 	return slf
 }
 
-func (slf *DictSearch) SetDictType(dt *constvar.DictType) *DictSearch {
+func (slf *DictSearch) SetDictType(dt constvar.DictType) *DictSearch {
 	slf.DictType = dt
 	return slf
 }
@@ -96,7 +96,7 @@
 		db = db.Where("number = ?", slf.Number)
 	}
 
-	if slf.DictType != nil {
+	if slf.DictType > 0 {
 		db = db.Where("dict_type = ?", slf.DictType)
 	}
 
diff --git a/models/fineness_item.go b/models/fineness_item.go
index 33a9065..08608ef 100644
--- a/models/fineness_item.go
+++ b/models/fineness_item.go
@@ -11,11 +11,11 @@
 	// FinenessItem 绾ゅ害鐧昏
 	FinenessItem struct {
 		gorm.Model
-		FinenessRegisterID uint            `gorm:"size:11;index" json:"finenessRegisterID"`
-		Position           int             `gorm:"size:11;comment:杞﹀彿" json:"position"`         // 杞﹀彿
-		Fineness           float32         `gorm:"comment:绾ゅ害" json:"fineness"`                 // 绾ゅ害
-		Quantity           int             `gorm:"size:11;comment:鏁伴噺" json:"quantity"`         // 鏁伴噺
-		Sum                decimal.Decimal `gorm:"type:decimal(12,4);comment:绾ゅ害鍚堣" json:"sum"` //绾ゅ害鍚堣
+		FinenessRegisterID uint            `gorm:"size:11;index;comment:绾ゅ害鐧昏ID" json:"finenessRegisterID"` // 绾ゅ害鐧昏ID
+		Position           int             `gorm:"size:11;comment:杞﹀彿" json:"position"`                     // 杞﹀彿
+		Fineness           float32         `gorm:"comment:绾ゅ害" json:"fineness"`                             // 绾ゅ害
+		Quantity           int             `gorm:"size:11;comment:鏁伴噺" json:"quantity"`                     // 鏁伴噺
+		Sum                decimal.Decimal `gorm:"type:decimal(12,4);comment:绾ゅ害鍚堣" json:"sum"`             // 绾ゅ害鍚堣
 	}
 
 	FinenessItemSearch struct {

--
Gitblit v1.8.0