From e99cc5acf40323379cf538bc5f08228a42aa2bee Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 09 四月 2024 17:52:26 +0800
Subject: [PATCH] 产量登记表2
---
controllers/request/yield_register_request.go | 11 ++
models/yield_register.go | 30 ++++++-
models/workshop_manage.go | 2
models/db.go | 3
controllers/yield_register_controller.go | 89 +++++++++++++++++++++
models/yield_register_circle.go | 2
models/yield_register_item.go | 2
controllers/raw_silk_standard.go | 23 +++++
models/raw_silk_price_standard.go | 12 +-
router/router.go | 10 ++
10 files changed, 164 insertions(+), 20 deletions(-)
diff --git a/controllers/raw_silk_standard.go b/controllers/raw_silk_standard.go
index 7659034..10c3b1d 100644
--- a/controllers/raw_silk_standard.go
+++ b/controllers/raw_silk_standard.go
@@ -188,3 +188,26 @@
}
util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛")
}
+
+// GetRankStandardGrade
+//
+// @Tags 绯荤粺璁剧疆/鐢熶笣瀹氱骇鏍囧噯
+// @Summary 鑾峰彇鐢熶笣绛夌骇
+// @Produce application/json
+// @Success 200 {object} util.Response{data=map[string]string} "鎴愬姛"
+// @Router /api-jl/v1/system/getRankStandardGrade [get]
+func (slf RawSilkStandardController) GetRankStandardGrade(c *gin.Context) {
+ standards, err := models.NewRawSilkRankStandardSearch().FindNotTotal()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鑾峰彇鐢熶笣绛夌骇澶辫触")
+ return
+ }
+ m := make(map[string]string)
+ m["閲庣氦"] = "閲庣氦"
+ m["澶ч噹"] = "澶ч噹"
+ m["鐗归噹"] = "鐗归噹"
+ for _, standard := range standards {
+ m[standard.RankName] = standard.RankName
+ }
+ util.ResponseFormat(c, code.Success, m)
+}
diff --git a/controllers/request/yield_register_request.go b/controllers/request/yield_register_request.go
index 31dd4f0..30033a9 100644
--- a/controllers/request/yield_register_request.go
+++ b/controllers/request/yield_register_request.go
@@ -2,6 +2,12 @@
import "github.com/shopspring/decimal"
+type GetYieldRegisterList struct {
+ PageInfo
+ KeyWord string `json:"keyWord"`
+ Number string `json:"number"` //浜ч噺鐧昏琛ㄧ紪鍙�
+}
+
type YieldRegisterInfo struct {
Id uint `json:"id"`
Number string `json:"number"` //缂栧彿
@@ -29,8 +35,8 @@
TwoBack string `json:"twoBack"` //绗簩鍥�
ThreeBack string `json:"threeBack"` //绗笁鍥�
Total decimal.Decimal `json:"total"` //鎬讳骇閲�
- ItemInfo []YieldRegisterItemInfo `json:"itemInfo"`
- CircleInfo []YieldRegisterCircleInfo `json:"circleInfo"`
+ Items []YieldRegisterItemInfo `json:"items"`
+ Circles []YieldRegisterCircleInfo `json:"circles"`
}
type YieldRegisterItemInfo struct {
@@ -47,6 +53,7 @@
CarNumber int `json:"carNumber"` //杞﹀彿
Circle int `json:"circle"` //鍥炴暟
PieceNumber int `json:"pieceNumber"` //鐗囨暟
+ Value decimal.Decimal `json:"value"` //鍊�
AllYield decimal.Decimal `json:"allYield"` //浜ч噺
OneYield decimal.Decimal `json:"oneYield"` //鍙颁骇
Reelingdiscount string `json:"reelingdiscount"` //缂姌
diff --git a/controllers/yield_register_controller.go b/controllers/yield_register_controller.go
index 2c8ff8e..fbade43 100644
--- a/controllers/yield_register_controller.go
+++ b/controllers/yield_register_controller.go
@@ -2,9 +2,12 @@
import (
"github.com/gin-gonic/gin"
+ "gorm.io/gorm"
"silkserver/controllers/request"
"silkserver/extend/code"
"silkserver/extend/util"
+ "silkserver/models"
+ "silkserver/pkg/structx"
)
type YieldRegisterController struct {
@@ -15,14 +18,94 @@
// @Tags 鐢熶骇绠$悊/浜ч噺鐧昏琛�
// @Summary 淇濆瓨浜ч噺鐧昏琛�
// @Produce application/json
-// @Param object body models.WorkshopManage true "鍙傛暟"
+// @Param object body request.YieldRegisterInfo true "鍙傛暟"
// @Success 200 {object} util.Response "鎴愬姛"
-// @Router /api-jl/v1/system/saveYieldRegister [post]
-func (slf WorkshopManageController) SaveYieldRegister(c *gin.Context) {
+// @Router /api-jl/v1/fineness/saveYieldRegister [post]
+func (slf YieldRegisterController) SaveYieldRegister(c *gin.Context) {
var params request.YieldRegisterInfo
+ var yield models.YieldRegister
err := c.BindJSON(¶ms)
if err != nil {
util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
return
}
+ err = structx.AssignTo(params, &yield)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏁版嵁杞崲澶辫触")
+ return
+ }
+ if yield.ID > 0 {
+ //鏇存柊
+ err = models.WithTransaction(func(db *gorm.DB) error {
+ err = models.NewYieldRegisterItemSearch().SetOrm(db).SetYieldRegisterId(yield.ID).Delete()
+ if err != nil {
+ return err
+ }
+ err = models.NewYieldRegisterCircleSearch().SetOrm(db).SetYieldRegisterId(yield.ID).Delete()
+ if err != nil {
+ return err
+ }
+ err = models.NewYieldRegisterSearch().SetOrm(db).Save(&yield)
+ return err
+ })
+
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
+ return
+ }
+ } else {
+ //淇濆瓨
+ err = models.NewYieldRegisterSearch().Create(&yield)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
+ return
+ }
+ }
+ util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛")
+}
+
+// GetYieldRegisterList
+//
+// @Tags 鐢熶骇绠$悊/浜ч噺鐧昏琛�
+// @Summary 鑾峰彇浜ч噺鐧昏琛�
+// @Produce application/json
+// @Param object body request.GetYieldRegisterList true "鍙傛暟"
+// @Success 200 {object} util.ResponseList{data=[]models.YieldRegister} "鎴愬姛"
+// @Router /api-jl/v1/fineness/getYieldRegisterList [post]
+func (slf YieldRegisterController) GetYieldRegisterList(c *gin.Context) {
+ var params request.GetYieldRegisterList
+ err := c.BindJSON(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+ return
+ }
+ list, total, err := models.NewYieldRegisterSearch().SetPage(params.Page, params.PageSize).Find()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏌ヨ澶辫触")
+ return
+ }
+ util.ResponseFormatList(c, code.Success, list, total)
+}
+
+// GetYieldRegisterInfo
+//
+// @Tags 鐢熶骇绠$悊/浜ч噺鐧昏琛�
+// @Summary 鑾峰彇浜ч噺鐧昏琛ㄨ鎯�
+// @Produce application/json
+// @Param object body request.GetYieldRegisterList true "鍙傛暟"
+// @Success 200 {object} util.Response{data=models.YieldRegister} "鎴愬姛"
+// @Router /api-jl/v1/fineness/getYieldRegisterInfo [post]
+func (slf YieldRegisterController) GetYieldRegisterInfo(c *gin.Context) {
+ var params request.GetYieldRegisterList
+ err := c.BindJSON(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+ return
+ }
+ register, err := models.NewYieldRegisterSearch().SetPreload(true).SetNumber(params.Number).First()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏌ヨ澶辫触")
+ return
+ }
+ util.ResponseFormat(c, code.Success, register)
}
diff --git a/models/db.go b/models/db.go
index f4b1266..0198c31 100644
--- a/models/db.go
+++ b/models/db.go
@@ -81,6 +81,9 @@
RawSilkPriceStandard{},
RawSilkRankStandard{},
WorkshopManage{},
+ YieldRegister{},
+ YieldRegisterItem{},
+ YieldRegisterCircle{},
)
return err
}
diff --git a/models/raw_silk_price_standard.go b/models/raw_silk_price_standard.go
index b8390dd..d103af3 100644
--- a/models/raw_silk_price_standard.go
+++ b/models/raw_silk_price_standard.go
@@ -11,11 +11,11 @@
type (
RawSilkPriceStandard struct {
gorm.Model
- MarketNumber string `json:"marketNumber" gorm:"type:varchar(255);comment:搴勫彛缂栧彿"`
- RawSilkGradeNumber string `json:"rawSilkGradeNumber" gorm:"type:varchar(255);comment:鐢熶笣绛夌骇缂栧彿"`
- PayStandard decimal.Decimal `json:"payStandard" gorm:"type:decimal(20,3);comment:钖叕鏍囧噯"`
- Unit string `json:"unit" gorm:"type:varchar(100);comment:鍗曚綅"`
- Notes string `json:"notes" gorm:"type:varchar(255);comment:澶囨敞"`
+ MarketNumber string `json:"marketNumber" gorm:"type:varchar(255);comment:搴勫彛缂栧彿"`
+ RawSilkGrade string `json:"rawSilkGrade" gorm:"type:varchar(255);comment:鐢熶笣绛夌骇"`
+ PayStandard decimal.Decimal `json:"payStandard" gorm:"type:decimal(20,3);comment:钖叕鏍囧噯"`
+ Unit string `json:"unit" gorm:"type:varchar(100);comment:鍗曚綅"`
+ Notes string `json:"notes" gorm:"type:varchar(255);comment:澶囨敞"`
}
RawSilkPriceStandardSearch struct {
RawSilkPriceStandard
@@ -97,7 +97,7 @@
func (slf *RawSilkPriceStandardSearch) Save(record *RawSilkPriceStandard) error {
var db = slf.build()
- if err := db.Save(record).Error; err != nil {
+ if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
return fmt.Errorf("save err: %v, record: %+v", err, record)
}
diff --git a/models/workshop_manage.go b/models/workshop_manage.go
index f1bdc07..623308b 100644
--- a/models/workshop_manage.go
+++ b/models/workshop_manage.go
@@ -129,7 +129,7 @@
func (slf *WorkshopManageSearch) Save(record *WorkshopManage) error {
var db = slf.build()
- if err := db.Save(record).Error; err != nil {
+ if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
return fmt.Errorf("save err: %v, record: %+v", err, record)
}
diff --git a/models/yield_register.go b/models/yield_register.go
index 421d2a8..c5ec8c7 100644
--- a/models/yield_register.go
+++ b/models/yield_register.go
@@ -36,8 +36,8 @@
TwoBack string `json:"twoBack" gorm:"type:varchar(255);comment:绗簩鍥�"`
ThreeBack string `json:"threeBack" gorm:"type:varchar(255);comment:绗笁鍥�"`
Total decimal.Decimal `json:"total" gorm:"type:decimal(12,2);comment:鎬讳骇閲�"`
- Items []*YieldRegisterItem `json:"items" gorm:"foreignKey:YieldRegisterId;references:Id"`
- Circles []*YieldRegisterCircle `json:"circles" gorm:"foreignKey:YieldRegisterId;references:Id"`
+ Items []*YieldRegisterItem `json:"items" gorm:"foreignKey:YieldRegisterId"`
+ Circles []*YieldRegisterCircle `json:"circles" gorm:"foreignKey:YieldRegisterId"`
}
YieldRegisterSearch struct {
YieldRegister
@@ -71,11 +71,20 @@
return slf
}
+func (slf *YieldRegisterSearch) SetNumber(number string) *YieldRegisterSearch {
+ slf.Number = number
+ return slf
+}
+
func (slf *YieldRegisterSearch) build() *gorm.DB {
db := slf.Orm.Table(slf.TableName())
if slf.Preload {
db = db.Model(YieldRegister{}).Preload("Items").Preload("Circles")
+ }
+
+ if slf.Number != "" {
+ db = db.Where("number = ?", slf.Number)
}
return db
@@ -91,6 +100,19 @@
return nil
}
+func (slf *YieldRegisterSearch) First() (*YieldRegister, error) {
+ var (
+ record = new(YieldRegister)
+ db = slf.build()
+ )
+
+ if err := db.First(record).Error; err != nil {
+ return record, err
+ }
+
+ return record, nil
+}
+
func (slf *YieldRegisterSearch) Find() ([]*YieldRegister, int64, error) {
var (
records = make([]*YieldRegister, 0)
@@ -104,7 +126,7 @@
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 {
+ if err := db.Order("updated_at desc").Find(&records).Error; err != nil {
return records, total, fmt.Errorf("find records err: %v", err)
}
@@ -127,7 +149,7 @@
func (slf *YieldRegisterSearch) Save(record *YieldRegister) error {
var db = slf.build()
- if err := db.Save(record).Error; err != nil {
+ if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
return fmt.Errorf("save err: %v, record: %+v", err, record)
}
diff --git a/models/yield_register_circle.go b/models/yield_register_circle.go
index cdd036e..b55a990 100644
--- a/models/yield_register_circle.go
+++ b/models/yield_register_circle.go
@@ -11,7 +11,7 @@
//YieldRegisterCircle 浜ч噺鐧昏鍥炴暟鍏崇郴琛�
YieldRegisterCircle struct {
gorm.Model
- YieldRegisterId uint `json:"yieldRegisterId" gorm:"type:int(11);comment:浜ч噺鐧昏琛╥d"`
+ YieldRegisterId uint `json:"yieldRegisterId" gorm:"type:int(11);not null;comment:浜ч噺鐧昏琛╥d"`
CarNumber int `json:"carNumber" gorm:"type:int(11);comment:杞﹀彿"`
Circle int `json:"circle" gorm:"type:int(11);comment:鍥炴暟"`
PieceNumber int `json:"pieceNumber" gorm:"type:int(11);comment:鐗囨暟"`
diff --git a/models/yield_register_item.go b/models/yield_register_item.go
index c948733..6232808 100644
--- a/models/yield_register_item.go
+++ b/models/yield_register_item.go
@@ -11,7 +11,7 @@
//YieldRegisterItem 浜ч噺鐧昏璇︽儏琛�
YieldRegisterItem struct {
gorm.Model
- YieldRegisterId uint `json:"yieldRegisterId" gorm:"type:int(11);comment:浜ч噺鐧昏琛╥d"`
+ YieldRegisterId uint `json:"yieldRegisterId" gorm:"type:int(11);not null;comment:浜ч噺鐧昏琛╥d"`
CarNumber int `json:"carNumber" gorm:"type:int(11);comment:杞﹀彿"`
OneYield decimal.Decimal `json:"oneYield" gorm:"type:decimal(12,2);comment:鍙颁骇閲�"`
PeopleYield decimal.Decimal `json:"peopleYield" gorm:"type:decimal(12,2);comment:涓汉浜ч噺"`
diff --git a/router/router.go b/router/router.go
index a16a304..29cf8c3 100644
--- a/router/router.go
+++ b/router/router.go
@@ -39,8 +39,9 @@
systemApi.POST("savePriceStandard", rawSilkController.SavePriceStandard) //淇濆瓨鐢熶笣瀹氫环鏍囧噯
systemApi.DELETE("deletePriceStandard/:id", rawSilkController.DeletePriceStandard) //鍒犻櫎鐢熶笣瀹氫环鏍囧噯
//鐢熶笣瀹氫环
- systemApi.GET("getRankStandard", rawSilkController.GetRankStandard) //鑾峰彇鐢熶笣瀹氱骇鏍囧噯
- systemApi.POST("saveRankStandard", rawSilkController.SaveRankStandard) //淇濆瓨鐢熶笣瀹氱骇鏍囧噯
+ systemApi.GET("getRankStandard", rawSilkController.GetRankStandard) //鑾峰彇鐢熶笣瀹氱骇鏍囧噯
+ systemApi.GET("getRankStandardGrade", rawSilkController.GetRankStandardGrade) //鑾峰彇鐢熶笣绛夌骇
+ systemApi.POST("saveRankStandard", rawSilkController.SaveRankStandard) //淇濆瓨鐢熶笣瀹氱骇鏍囧噯
//杞﹂棿绠$悊
systemApi.GET("getWorkshopManageList", workshopController.GetWorkshopManageList) //鑾峰彇杞﹂棿绠$悊鍒楄〃
systemApi.POST("saveWorkshopManage", workshopController.SaveWorkshopManage) //淇濆瓨杞﹂棿绠$悊
@@ -49,6 +50,7 @@
// 鐢熶骇绠$悊
FinenessController := new(controllers.FinenessController)
+ yieldController := new(controllers.YieldRegisterController)
finenessApi := r.Group(urlPrefix + "/fineness")
{
finenessApi.GET("register", FinenessController.RegisterList) // 鑾峰彇绾ゅ害鐧昏鍒楄〃
@@ -60,6 +62,10 @@
finenessApi.DELETE("check/:id", FinenessController.CheckDelete) // 鍒犻櫎绾ゅ害妫�楠�
finenessApi.PUT("check", FinenessController.CheckEdit) // 淇敼绾ゅ害妫�楠�
finenessApi.GET("check/:id", FinenessController.CheckInfo) // 鑾峰彇绾ゅ害妫�楠岃鎯�
+
+ finenessApi.POST("saveYieldRegister", yieldController.SaveYieldRegister) // 淇濆瓨浜ч噺鐧昏琛�
+ finenessApi.POST("getYieldRegisterList", yieldController.GetYieldRegisterList) // 鑾峰彇浜ч噺鐧昏琛�
+ finenessApi.POST("getYieldRegisterInfo", yieldController.GetYieldRegisterInfo) // 鑾峰彇浜ч噺鐧昏琛ㄨ鎯�
}
return r
--
Gitblit v1.8.0