From 3e988d2b353efc784f07b2c8a470b3cd7d59d264 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 09 四月 2024 09:56:12 +0800
Subject: [PATCH] 产量登记表
---
controllers/request/yield_register_request.go | 53 +++++++
models/yield_register.go | 145 ++++++++++++++++++++
models/workshop_manage.go | 12 +
controllers/yield_register_controller.go | 28 ++++
models/yield_register_circle.go | 88 ++++++++++++
models/yield_register_item.go | 86 ++++++++++++
controllers/workshop_manage_controller.go | 2
7 files changed, 410 insertions(+), 4 deletions(-)
diff --git a/controllers/request/yield_register_request.go b/controllers/request/yield_register_request.go
new file mode 100644
index 0000000..31dd4f0
--- /dev/null
+++ b/controllers/request/yield_register_request.go
@@ -0,0 +1,53 @@
+package request
+
+import "github.com/shopspring/decimal"
+
+type YieldRegisterInfo struct {
+ Id uint `json:"id"`
+ Number string `json:"number"` //缂栧彿
+ CreateTime string `json:"createTime"` //鍒涘缓鏃堕棿
+ MarketId uint `json:"marketId"` //搴勫彛id
+ WorkshopId uint `json:"workshopId"` //杞﹂棿id
+ GroupNumber int `json:"groupNumber"` //缁勫埆
+ Spec string `json:"spec"` //瑙勬牸
+ JieZhuang string `json:"jieZhuang"` //鏄惁缁撳簞
+ Level string `json:"level"` //绛夌骇
+ Record decimal.Decimal `json:"record"` //鐢熶骇鐢ㄦ椂
+ Circle int `json:"circle"` //鍥炴暟
+ FallingSilkCocoonNumber decimal.Decimal `json:"fallingSilkCocoonNumber"` //钀戒笣鑼ф暟
+ BucketCocoonNumber decimal.Decimal `json:"bucketCocoonNumber"` //姣忔《鑼ф暟
+ VehicleSpeed decimal.Decimal `json:"vehicleSpeed"` //瀹炴椂杞﹂��
+ TimeYi string `json:"timeYi"` //涔欑彮鏃堕棿
+ TimeJia string `json:"timeJia"` //鐢茬彮鏃堕棿
+ GroupReelingdiscount string `json:"groupReelingdiscount"` //杞︾粍缂姌
+ FallingSilkBucketOne decimal.Decimal `json:"fallingSilkBucketOne"` //钀戒笣妗舵暟1
+ FallingSilkBucketTwo decimal.Decimal `json:"fallingSilkBucketTwo"` //钀戒笣妗舵暟2
+ FallingSilkBucketThree decimal.Decimal `json:"fallingSilkBucketThree"` //钀戒笣妗舵暟3
+ TheorySilkAmount decimal.Decimal `json:"theorySilkAmount"` //鐞嗚涓濋噺
+ HourYield decimal.Decimal `json:"hourYield"` //鍙版椂浜ч噺
+ OneBack string `json:"oneBack"` //绗竴鍥�
+ TwoBack string `json:"twoBack"` //绗簩鍥�
+ ThreeBack string `json:"threeBack"` //绗笁鍥�
+ Total decimal.Decimal `json:"total"` //鎬讳骇閲�
+ ItemInfo []YieldRegisterItemInfo `json:"itemInfo"`
+ CircleInfo []YieldRegisterCircleInfo `json:"circleInfo"`
+}
+
+type YieldRegisterItemInfo struct {
+ YieldRegisterId uint `json:"yieldRegisterId"` //浜ч噺鐧昏琛╥d
+ CarNumber int `json:"carNumber"` //杞﹀彿
+ OneYield decimal.Decimal `json:"oneYield"` //鍙颁骇閲�
+ PeopleYield decimal.Decimal `json:"peopleYield"` //涓汉浜ч噺
+ HourYield decimal.Decimal `json:"hourYield"` //鍙版椂浜ч噺
+ PersonReelingdiscount string `json:"personReelingdiscount"` //涓汉缂姌
+}
+
+type YieldRegisterCircleInfo struct {
+ YieldRegisterId uint `json:"yieldRegisterId"` //浜ч噺鐧昏琛╥d
+ CarNumber int `json:"carNumber"` //杞﹀彿
+ Circle int `json:"circle"` //鍥炴暟
+ PieceNumber int `json:"pieceNumber"` //鐗囨暟
+ AllYield decimal.Decimal `json:"allYield"` //浜ч噺
+ OneYield decimal.Decimal `json:"oneYield"` //鍙颁骇
+ Reelingdiscount string `json:"reelingdiscount"` //缂姌
+}
diff --git a/controllers/workshop_manage_controller.go b/controllers/workshop_manage_controller.go
index c1c85c2..b06c4d9 100644
--- a/controllers/workshop_manage_controller.go
+++ b/controllers/workshop_manage_controller.go
@@ -86,5 +86,5 @@
util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触")
return
}
- util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎鎴愬姛")
+ util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")
}
diff --git a/controllers/yield_register_controller.go b/controllers/yield_register_controller.go
new file mode 100644
index 0000000..2c8ff8e
--- /dev/null
+++ b/controllers/yield_register_controller.go
@@ -0,0 +1,28 @@
+package controllers
+
+import (
+ "github.com/gin-gonic/gin"
+ "silkserver/controllers/request"
+ "silkserver/extend/code"
+ "silkserver/extend/util"
+)
+
+type YieldRegisterController struct {
+}
+
+// SaveYieldRegister
+//
+// @Tags 鐢熶骇绠$悊/浜ч噺鐧昏琛�
+// @Summary 淇濆瓨浜ч噺鐧昏琛�
+// @Produce application/json
+// @Param object body models.WorkshopManage true "鍙傛暟"
+// @Success 200 {object} util.Response "鎴愬姛"
+// @Router /api-jl/v1/system/saveYieldRegister [post]
+func (slf WorkshopManageController) SaveYieldRegister(c *gin.Context) {
+ var params request.YieldRegisterInfo
+ err := c.BindJSON(¶ms)
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+ return
+ }
+}
diff --git a/models/workshop_manage.go b/models/workshop_manage.go
index dc5166b..f1bdc07 100644
--- a/models/workshop_manage.go
+++ b/models/workshop_manage.go
@@ -13,8 +13,8 @@
gorm.Model
WorkshopNumber string `json:"workshopNumber" gorm:"type:varchar(255);comment:杞﹂棿缂栧彿"`
GroupNumber int `json:"groupNumber" gorm:"type:int(11);comment:缁勫埆"`
- StartCarNumber int `json:"startCarNumber" gorm:"type:int(11);comment:缁勫埆"`
- EndCarNumber int `json:"endCarNumber" gorm:"type:int(11);comment:缁勫埆"`
+ StartCarNumber int `json:"startCarNumber" gorm:"type:int(11);comment:寮�濮嬭溅鍙�"`
+ EndCarNumber int `json:"endCarNumber" gorm:"type:int(11);comment:缁撴潫杞﹀彿"`
CarFlag constvar.CarFlag `json:"carFlag" gorm:"type:int(1);comment:鍗婅溅鏍囧織"`
Notes string `json:"notes" gorm:"type:varchar(255);comment:澶囨敞"`
}
@@ -22,6 +22,7 @@
WorkshopManage
PageNum int
PageSize int
+ Order string
Orm *gorm.DB
}
)
@@ -56,6 +57,11 @@
func (slf *WorkshopManageSearch) SetGroupNumber(groupNumber int) *WorkshopManageSearch {
slf.GroupNumber = groupNumber
+ return slf
+}
+
+func (slf *WorkshopManageSearch) SetOrder(order string) *WorkshopManageSearch {
+ slf.Order = order
return slf
}
@@ -100,7 +106,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)
}
diff --git a/models/yield_register.go b/models/yield_register.go
new file mode 100644
index 0000000..421d2a8
--- /dev/null
+++ b/models/yield_register.go
@@ -0,0 +1,145 @@
+package models
+
+import (
+ "fmt"
+ "github.com/shopspring/decimal"
+ "gorm.io/gorm"
+ "silkserver/pkg/mysqlx"
+)
+
+type (
+ // YieldRegister 浜ч噺鐧昏琛�
+ YieldRegister struct {
+ gorm.Model
+ Number string `json:"number" gorm:"type:varchar(255);not null;comment:缂栧彿"`
+ CreateTime string `json:"createTime" gorm:"type:varchar(255);comment:鍒涘缓鏃堕棿"`
+ MarketId uint `json:"marketId" gorm:"type:int(11);comment:搴勫彛id"`
+ WorkshopId uint `json:"workshopId" gorm:"type:int(11);comment:杞﹂棿id"`
+ GroupNumber int `json:"groupNumber" gorm:"type:int(11);comment:缁勫埆"`
+ Spec string `json:"spec" gorm:"type:varchar(255);comment:瑙勬牸"`
+ JieZhuang string `json:"jieZhuang" gorm:"type:varchar(255);comment:鏄惁缁撳簞"`
+ Level string `json:"level" gorm:"type:varchar(255);comment:绛夌骇"`
+ Record decimal.Decimal `json:"record" gorm:"type:decimal(12,2);comment:鐢熶骇鐢ㄦ椂"`
+ Circle int `json:"circle" gorm:"type:int(11);comment:鍥炴暟"`
+ FallingSilkCocoonNumber decimal.Decimal `json:"fallingSilkCocoonNumber" gorm:"type:decimal(12,2);comment:钀戒笣鑼ф暟"`
+ BucketCocoonNumber decimal.Decimal `json:"bucketCocoonNumber" gorm:"type:decimal(12,2);comment:姣忔《鑼ф暟"`
+ VehicleSpeed decimal.Decimal `json:"vehicleSpeed" gorm:"type:decimal(12,2);comment:瀹炴椂杞﹂��"`
+ TimeYi string `json:"timeYi" gorm:"type:varchar(255);comment:涔欑彮鏃堕棿"`
+ TimeJia string `json:"timeJia" gorm:"type:varchar(255);comment:鐢茬彮鏃堕棿"`
+ GroupReelingdiscount string `json:"groupReelingdiscount" gorm:"type:varchar(255);comment:杞︾粍缂姌"`
+ FallingSilkBucketOne decimal.Decimal `json:"fallingSilkBucketOne" gorm:"type:decimal(12,2);comment:钀戒笣妗舵暟1"`
+ FallingSilkBucketTwo decimal.Decimal `json:"fallingSilkBucketTwo" gorm:"type:decimal(12,2);comment:钀戒笣妗舵暟2"`
+ FallingSilkBucketThree decimal.Decimal `json:"fallingSilkBucketThree" gorm:"type:decimal(12,2);comment:钀戒笣妗舵暟3"`
+ TheorySilkAmount decimal.Decimal `json:"theorySilkAmount" gorm:"type:decimal(12,2);comment:鐞嗚涓濋噺"`
+ HourYield decimal.Decimal `json:"hourYield" gorm:"type:decimal(12,2);comment:鍙版椂浜ч噺"`
+ OneBack string `json:"oneBack" gorm:"type:varchar(255);comment:绗竴鍥�"`
+ 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"`
+ }
+ YieldRegisterSearch struct {
+ YieldRegister
+ Orm *gorm.DB
+ PageNum int
+ PageSize int
+ Preload bool
+ }
+)
+
+func (slf YieldRegister) TableName() string {
+ return "yield_register"
+}
+
+func NewYieldRegisterSearch() *YieldRegisterSearch {
+ return &YieldRegisterSearch{Orm: mysqlx.GetDB()}
+}
+
+func (slf *YieldRegisterSearch) SetOrm(tx *gorm.DB) *YieldRegisterSearch {
+ slf.Orm = tx
+ return slf
+}
+
+func (slf *YieldRegisterSearch) SetPage(page, size int) *YieldRegisterSearch {
+ slf.PageNum, slf.PageSize = page, size
+ return slf
+}
+
+func (slf *YieldRegisterSearch) SetPreload(preload bool) *YieldRegisterSearch {
+ slf.Preload = preload
+ 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")
+ }
+
+ return db
+}
+
+// Create 鍗曟潯鎻掑叆
+func (slf *YieldRegisterSearch) Create(record *YieldRegister) error {
+ db := slf.build()
+ err := db.Create(record).Error
+ if err != nil {
+ return fmt.Errorf("create err: %v, record: %+v", err, record)
+ }
+ return nil
+}
+
+func (slf *YieldRegisterSearch) Find() ([]*YieldRegister, int64, error) {
+ var (
+ records = make([]*YieldRegister, 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, total, nil
+}
+
+func (slf *YieldRegisterSearch) FindNotTotal() ([]*YieldRegister, error) {
+ var (
+ records = make([]*YieldRegister, 0)
+ db = slf.build()
+ )
+
+ if err := db.Find(&records).Error; err != nil {
+ return records, fmt.Errorf("find records err: %v", err)
+ }
+
+ return records, nil
+}
+
+func (slf *YieldRegisterSearch) Save(record *YieldRegister) error {
+ var db = slf.build()
+
+ if err := db.Save(record).Error; err != nil {
+ return fmt.Errorf("save err: %v, record: %+v", err, record)
+ }
+
+ return nil
+}
+
+func (slf *YieldRegisterSearch) Delete() error {
+ var db = slf.build()
+
+ if err := db.Unscoped().Delete(&YieldRegister{}).Error; err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/models/yield_register_circle.go b/models/yield_register_circle.go
new file mode 100644
index 0000000..cdd036e
--- /dev/null
+++ b/models/yield_register_circle.go
@@ -0,0 +1,88 @@
+package models
+
+import (
+ "fmt"
+ "github.com/shopspring/decimal"
+ "gorm.io/gorm"
+ "silkserver/pkg/mysqlx"
+)
+
+type (
+ //YieldRegisterCircle 浜ч噺鐧昏鍥炴暟鍏崇郴琛�
+ YieldRegisterCircle struct {
+ gorm.Model
+ YieldRegisterId uint `json:"yieldRegisterId" gorm:"type:int(11);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:鐗囨暟"`
+ Value decimal.Decimal `json:"value" gorm:"type:decimal(12,2);comment:鍊�"`
+ AllYield decimal.Decimal `json:"allYield" gorm:"type:decimal(12,2);comment:浜ч噺"`
+ OneYield decimal.Decimal `json:"oneYield" gorm:"type:decimal(12,2);comment:鍙颁骇"`
+ Reelingdiscount string `json:"reelingdiscount" gorm:"type:varchar(255);comment:缂姌"`
+ }
+ YieldRegisterCircleSearch struct {
+ YieldRegisterCircle
+ Orm *gorm.DB
+ }
+)
+
+func (slf YieldRegisterCircle) TableName() string {
+ return "yield_register_circle"
+}
+
+func NewYieldRegisterCircleSearch() *YieldRegisterCircleSearch {
+ return &YieldRegisterCircleSearch{Orm: mysqlx.GetDB()}
+}
+
+func (slf *YieldRegisterCircleSearch) SetOrm(tx *gorm.DB) *YieldRegisterCircleSearch {
+ slf.Orm = tx
+ return slf
+}
+
+func (slf *YieldRegisterCircleSearch) SetYieldRegisterId(id uint) *YieldRegisterCircleSearch {
+ slf.YieldRegisterId = id
+ return slf
+}
+
+func (slf *YieldRegisterCircleSearch) build() *gorm.DB {
+ db := slf.Orm.Table(slf.TableName())
+
+ if slf.YieldRegisterId > 0 {
+ db = db.Where("yield_register_id = ?", slf.YieldRegisterId)
+ }
+
+ return db
+}
+
+// Create 鎵归噺鎻掑叆
+func (slf *YieldRegisterCircleSearch) Create(record []*YieldRegisterCircle) error {
+ db := slf.build()
+ err := db.Create(&record).Error
+ if err != nil {
+ return fmt.Errorf("create err: %v, record: %+v", err, record)
+ }
+ return nil
+}
+
+func (slf *YieldRegisterCircleSearch) FindNotTotal() ([]*YieldRegisterCircle, error) {
+ var (
+ records = make([]*YieldRegisterCircle, 0)
+ db = slf.build()
+ )
+
+ if err := db.Find(&records).Error; err != nil {
+ return records, fmt.Errorf("find records err: %v", err)
+ }
+
+ return records, nil
+}
+
+func (slf *YieldRegisterCircleSearch) Delete() error {
+ var db = slf.build()
+
+ if err := db.Unscoped().Delete(&YieldRegisterCircle{}).Error; err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/models/yield_register_item.go b/models/yield_register_item.go
new file mode 100644
index 0000000..c948733
--- /dev/null
+++ b/models/yield_register_item.go
@@ -0,0 +1,86 @@
+package models
+
+import (
+ "fmt"
+ "github.com/shopspring/decimal"
+ "gorm.io/gorm"
+ "silkserver/pkg/mysqlx"
+)
+
+type (
+ //YieldRegisterItem 浜ч噺鐧昏璇︽儏琛�
+ YieldRegisterItem struct {
+ gorm.Model
+ YieldRegisterId uint `json:"yieldRegisterId" gorm:"type:int(11);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:涓汉浜ч噺"`
+ HourYield decimal.Decimal `json:"hourYield" gorm:"type:decimal(12,2);comment:鍙版椂浜ч噺"`
+ PersonReelingdiscount string `json:"personReelingdiscount" gorm:"type:varchar(255);comment:涓汉缂姌"`
+ }
+ YieldRegisterItemSearch struct {
+ YieldRegisterItem
+ Orm *gorm.DB
+ }
+)
+
+func (slf YieldRegisterItem) TableName() string {
+ return "yield_register_item"
+}
+
+func NewYieldRegisterItemSearch() *YieldRegisterItemSearch {
+ return &YieldRegisterItemSearch{Orm: mysqlx.GetDB()}
+}
+
+func (slf *YieldRegisterItemSearch) SetOrm(tx *gorm.DB) *YieldRegisterItemSearch {
+ slf.Orm = tx
+ return slf
+}
+
+func (slf *YieldRegisterItemSearch) SetYieldRegisterId(id uint) *YieldRegisterItemSearch {
+ slf.YieldRegisterId = id
+ return slf
+}
+
+func (slf *YieldRegisterItemSearch) build() *gorm.DB {
+ db := slf.Orm.Table(slf.TableName())
+
+ if slf.YieldRegisterId > 0 {
+ db = db.Where("yield_register_id = ?", slf.YieldRegisterId)
+ }
+
+ return db
+}
+
+// Create 鎵归噺鎻掑叆
+func (slf *YieldRegisterItemSearch) Create(record []*YieldRegisterItem) error {
+ db := slf.build()
+ err := db.Create(&record).Error
+ if err != nil {
+ return fmt.Errorf("create err: %v, record: %+v", err, record)
+ }
+ return nil
+}
+
+func (slf *YieldRegisterItemSearch) FindNotTotal() ([]*YieldRegisterItem, error) {
+ var (
+ records = make([]*YieldRegisterItem, 0)
+ db = slf.build()
+ )
+
+ if err := db.Find(&records).Error; err != nil {
+ return records, fmt.Errorf("find records err: %v", err)
+ }
+
+ return records, nil
+}
+
+func (slf *YieldRegisterItemSearch) Delete() error {
+ var db = slf.build()
+
+ if err := db.Unscoped().Delete(&YieldRegisterItem{}).Error; err != nil {
+ return err
+ }
+
+ return nil
+}
--
Gitblit v1.8.0