From 6ab6e517d224d8318a9a4ee189671a35bc2fbd2a Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期五, 01 三月 2024 11:02:47 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/silk/silkServer
---
controllers/fineness.go | 50 +++++
models/fineness.go | 31 ++-
controllers/request/fineness.go | 26 +-
docs/swagger.yaml | 97 ++++++++++
docs/docs.go | 151 ++++++++++++++++
docs/swagger.json | 151 ++++++++++++++++
models/fineness_item.go | 9 +
router/router.go | 1
8 files changed, 477 insertions(+), 39 deletions(-)
diff --git a/controllers/fineness.go b/controllers/fineness.go
index a9068e3..6760b3b 100644
--- a/controllers/fineness.go
+++ b/controllers/fineness.go
@@ -2,6 +2,7 @@
import (
"github.com/gin-gonic/gin"
+ "gorm.io/gorm"
"silkserver/controllers/request"
"silkserver/extend/code"
"silkserver/extend/util"
@@ -35,12 +36,23 @@
util.ResponseFormat(c, code.RequestParamError, err.Error())
return
}
- if err := models.NewFinenessRegisterSearch().Create(¶ms); err != nil {
- util.ResponseFormat(c, code.SaveFail, "鎻掑叆澶辫触")
- return
+ err := models.WithTransaction(func(db *gorm.DB) error {
+ search := models.NewFinenessRegisterSearch().SetOrm(db)
+
+ if params.ID != 0 {
+ if err := models.NewFinenessItemSearch().SetOrm(db).SetFinenessRegisterID(params.ID).Delete(); err != nil {
+ return err
+ }
+ return search.Save(¶ms)
+ } else {
+ return search.Create(¶ms)
+ }
+ })
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
}
- util.ResponseFormat(c, code.Success, "娣诲姞鎴愬姛")
+ util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛")
}
func (slf FinenessController) ParamsCheck(params models.FinenessRegister) (err error) {
@@ -67,7 +79,35 @@
return
}
- util.ResponseFormatList(c, code.Success, list, int(total))
+ util.ResponseFormatList(c, code.Success, list, total)
+}
+
+// Info
+// @Tags 绾ゅ害鐧昏
+// @Summary 绾ゅ害鐧昏璇︽儏
+// @Produce application/json
+// @Param id path string true "瀛楀吀淇℃伅"
+// @Success 200 {object} util.ResponseList{data=models.FinenessRegister} "鎴愬姛"
+// @Router /api-jl/v1/fineness/register/{id} [get]
+func (slf FinenessController) Info(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.NewFinenessRegisterSearch().SetID(id).SetPreload().First()
+ if err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+ return
+ }
+ util.ResponseFormat(c, code.Success, info)
}
// Delete
diff --git a/controllers/request/fineness.go b/controllers/request/fineness.go
index 6005044..e8121f9 100644
--- a/controllers/request/fineness.go
+++ b/controllers/request/fineness.go
@@ -1,18 +1,22 @@
package request
-import "github.com/shopspring/decimal"
+import (
+ "github.com/shopspring/decimal"
+)
type AddFinenessRegister struct {
- Number string `gorm:"type:varchar(255);not null;comment:缂栧彿" json:"number"` //缂栧彿
- FinishDate string `gorm:"type:varchar(255);not null;comment:钀戒笣鏃堕棿" json:"finishDate"` //钀戒笣鏃堕棿
- Workshop string `gorm:"type:varchar(255);not null;comment:杞﹂棿" json:"name"` //杞﹂棿
- WorkshopGroup string `gorm:"type:varchar(255);not null;comment:杞︾粍" json:"workshopGroup"` //杞︾粍
- Market string `gorm:"type:varchar(255);not null;comment:搴勫彛" json:"market"` //搴勫彛
- Spec string `gorm:"type:varchar(255);not null;comment:瑙勬牸" json:"spec"` //瑙勬牸
- StartCircle uint8 `gorm:"type:varchar(255);not null;comment:寮�濮嬪洖鏁�" json:"startCircle"` //寮�濮嬪洖鏁�
- EndCircle uint8 `gorm:"type:varchar(255);not null;comment:缁撴潫鍥炴暟" json:"endCircle"` //缁撴潫鍥炴暟
- FinenessList []FinenessItem `json:"finenessList"`
- Sum FinenessItem `json:"sum"`
+ ID uint `json:"id"` //id 娣诲姞鏃朵紶0
+ Number string `gorm:"type:varchar(255);not null;comment:缂栧彿" json:"number"` //缂栧彿
+ FinishDate string `gorm:"type:varchar(255);not null;comment:钀戒笣鏃堕棿" json:"finishDate"` //钀戒笣鏃堕棿
+ Workshop string `gorm:"type:varchar(255);not null;comment:杞﹂棿" json:"name"` //杞﹂棿
+ WorkshopGroup string `gorm:"type:varchar(255);not null;comment:杞︾粍" json:"workshopGroup"` //杞︾粍
+ Market string `gorm:"type:varchar(255);not null;comment:搴勫彛" json:"market"` //搴勫彛
+ Spec string `gorm:"type:varchar(255);not null;comment:瑙勬牸" json:"spec"` //瑙勬牸
+ StartCircle uint8 `gorm:"type:varchar(255);not null;comment:寮�濮嬪洖鏁�" json:"startCircle"` //寮�濮嬪洖鏁�
+ EndCircle uint8 `gorm:"type:varchar(255);not null;comment:缁撴潫鍥炴暟" json:"endCircle"` //缁撴潫鍥炴暟
+ FinenessList []FinenessItem `json:"finenessList"`
+ SumFineness decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:鍚堣绾ゅ害" json:"sumFineness"`
+ SumQuantity decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:鍚堣鏁伴噺" json:"sumQuantity"`
}
type FinenessItem struct {
diff --git a/docs/docs.go b/docs/docs.go
index 33d264f..b085057 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -93,6 +93,44 @@
}
},
"/api-jl/v1/fineness/register/{id}": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "绾ゅ害鐧昏"
+ ],
+ "summary": "绾ゅ害鐧昏璇︽儏",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "瀛楀吀淇℃伅",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/util.ResponseList"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/models.FinenessRegister"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
"delete": {
"produces": [
"application/json"
@@ -275,6 +313,66 @@
}
}
}
+ },
+ "/api-jl/v1/system/getPriceStandardList": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "绯荤粺璁剧疆/鐢熶笣瀹氫环鏍囧噯"
+ ],
+ "summary": "鑾峰彇鐢熶笣瀹氫环鏍囧噯",
+ "parameters": [
+ {
+ "description": "鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/models.RawSilkPriceStandard"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "$ref": "#/definitions/util.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api-jl/v1/system/savePriceStandard": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "绯荤粺璁剧疆/鐢熶笣瀹氫环鏍囧噯"
+ ],
+ "summary": "淇濆瓨鐢熶笣瀹氫环鏍囧噯",
+ "parameters": [
+ {
+ "description": "鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/models.RawSilkPriceStandard"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "$ref": "#/definitions/util.Response"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -426,11 +524,49 @@
"description": "寮�濮嬪洖鏁�",
"type": "integer"
},
+ "sumFineness": {
+ "type": "number"
+ },
+ "sumQuantity": {
+ "type": "number"
+ },
"updatedAt": {
"type": "string"
},
"workshopGroup": {
"description": "杞︾粍",
+ "type": "string"
+ }
+ }
+ },
+ "models.RawSilkPriceStandard": {
+ "type": "object",
+ "properties": {
+ "createdAt": {
+ "type": "string"
+ },
+ "deletedAt": {
+ "$ref": "#/definitions/gorm.DeletedAt"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "marketNumber": {
+ "type": "string"
+ },
+ "notes": {
+ "type": "string"
+ },
+ "payStandard": {
+ "type": "number"
+ },
+ "rawSilkGradeNumber": {
+ "type": "string"
+ },
+ "unit": {
+ "type": "string"
+ },
+ "updatedAt": {
"type": "string"
}
}
@@ -477,6 +613,10 @@
"description": "钀戒笣鏃堕棿",
"type": "string"
},
+ "id": {
+ "description": "id 娣诲姞鏃朵紶0",
+ "type": "integer"
+ },
"market": {
"description": "搴勫彛",
"type": "string"
@@ -497,8 +637,11 @@
"description": "寮�濮嬪洖鏁�",
"type": "integer"
},
- "sum": {
- "$ref": "#/definitions/request.FinenessItem"
+ "sumFineness": {
+ "type": "number"
+ },
+ "sumQuantity": {
+ "type": "number"
},
"workshopGroup": {
"description": "杞︾粍",
@@ -579,9 +722,7 @@
"pageSize": {
"type": "integer"
},
- "total": {
- "type": "integer"
- }
+ "total": {}
}
}
}
diff --git a/docs/swagger.json b/docs/swagger.json
index a6d7a47..f41e17b 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -81,6 +81,44 @@
}
},
"/api-jl/v1/fineness/register/{id}": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "绾ゅ害鐧昏"
+ ],
+ "summary": "绾ゅ害鐧昏璇︽儏",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "瀛楀吀淇℃伅",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/util.ResponseList"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/models.FinenessRegister"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
"delete": {
"produces": [
"application/json"
@@ -263,6 +301,66 @@
}
}
}
+ },
+ "/api-jl/v1/system/getPriceStandardList": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "绯荤粺璁剧疆/鐢熶笣瀹氫环鏍囧噯"
+ ],
+ "summary": "鑾峰彇鐢熶笣瀹氫环鏍囧噯",
+ "parameters": [
+ {
+ "description": "鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/models.RawSilkPriceStandard"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "$ref": "#/definitions/util.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api-jl/v1/system/savePriceStandard": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "绯荤粺璁剧疆/鐢熶笣瀹氫环鏍囧噯"
+ ],
+ "summary": "淇濆瓨鐢熶笣瀹氫环鏍囧噯",
+ "parameters": [
+ {
+ "description": "鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/models.RawSilkPriceStandard"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "$ref": "#/definitions/util.Response"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -414,11 +512,49 @@
"description": "寮�濮嬪洖鏁�",
"type": "integer"
},
+ "sumFineness": {
+ "type": "number"
+ },
+ "sumQuantity": {
+ "type": "number"
+ },
"updatedAt": {
"type": "string"
},
"workshopGroup": {
"description": "杞︾粍",
+ "type": "string"
+ }
+ }
+ },
+ "models.RawSilkPriceStandard": {
+ "type": "object",
+ "properties": {
+ "createdAt": {
+ "type": "string"
+ },
+ "deletedAt": {
+ "$ref": "#/definitions/gorm.DeletedAt"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "marketNumber": {
+ "type": "string"
+ },
+ "notes": {
+ "type": "string"
+ },
+ "payStandard": {
+ "type": "number"
+ },
+ "rawSilkGradeNumber": {
+ "type": "string"
+ },
+ "unit": {
+ "type": "string"
+ },
+ "updatedAt": {
"type": "string"
}
}
@@ -465,6 +601,10 @@
"description": "钀戒笣鏃堕棿",
"type": "string"
},
+ "id": {
+ "description": "id 娣诲姞鏃朵紶0",
+ "type": "integer"
+ },
"market": {
"description": "搴勫彛",
"type": "string"
@@ -485,8 +625,11 @@
"description": "寮�濮嬪洖鏁�",
"type": "integer"
},
- "sum": {
- "$ref": "#/definitions/request.FinenessItem"
+ "sumFineness": {
+ "type": "number"
+ },
+ "sumQuantity": {
+ "type": "number"
},
"workshopGroup": {
"description": "杞︾粍",
@@ -567,9 +710,7 @@
"pageSize": {
"type": "integer"
},
- "total": {
- "type": "integer"
- }
+ "total": {}
}
}
}
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 24d7128..5a82bcc 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -102,10 +102,35 @@
startCircle:
description: 寮�濮嬪洖鏁�
type: integer
+ sumFineness:
+ type: number
+ sumQuantity:
+ type: number
updatedAt:
type: string
workshopGroup:
description: 杞︾粍
+ type: string
+ type: object
+ models.RawSilkPriceStandard:
+ properties:
+ createdAt:
+ type: string
+ deletedAt:
+ $ref: '#/definitions/gorm.DeletedAt'
+ id:
+ type: integer
+ marketNumber:
+ type: string
+ notes:
+ type: string
+ payStandard:
+ type: number
+ rawSilkGradeNumber:
+ type: string
+ unit:
+ type: string
+ updatedAt:
type: string
type: object
request.AddDict:
@@ -136,6 +161,9 @@
finishDate:
description: 钀戒笣鏃堕棿
type: string
+ id:
+ description: id 娣诲姞鏃朵紶0
+ type: integer
market:
description: 搴勫彛
type: string
@@ -151,8 +179,10 @@
startCircle:
description: 寮�濮嬪洖鏁�
type: integer
- sum:
- $ref: '#/definitions/request.FinenessItem'
+ sumFineness:
+ type: number
+ sumQuantity:
+ type: number
workshopGroup:
description: 杞︾粍
type: string
@@ -205,8 +235,7 @@
type: integer
pageSize:
type: integer
- total:
- type: integer
+ total: {}
type: object
info:
contact: {}
@@ -273,6 +302,28 @@
schema:
$ref: '#/definitions/util.Response'
summary: 绾ゅ害鐧昏鍒犻櫎
+ tags:
+ - 绾ゅ害鐧昏
+ get:
+ parameters:
+ - description: 瀛楀吀淇℃伅
+ in: path
+ name: id
+ required: true
+ type: string
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: 鎴愬姛
+ schema:
+ allOf:
+ - $ref: '#/definitions/util.ResponseList'
+ - properties:
+ data:
+ $ref: '#/definitions/models.FinenessRegister'
+ type: object
+ summary: 绾ゅ害鐧昏璇︽儏
tags:
- 绾ゅ害鐧昏
/api-jl/v1/system/dict:
@@ -376,4 +427,42 @@
summary: 鍒犻櫎瀛楀吀
tags:
- 绯荤粺璁剧疆/瀛楀吀
+ /api-jl/v1/system/getPriceStandardList:
+ get:
+ parameters:
+ - description: 鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/models.RawSilkPriceStandard'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: 鎴愬姛
+ schema:
+ $ref: '#/definitions/util.Response'
+ summary: 鑾峰彇鐢熶笣瀹氫环鏍囧噯
+ tags:
+ - 绯荤粺璁剧疆/鐢熶笣瀹氫环鏍囧噯
+ /api-jl/v1/system/savePriceStandard:
+ post:
+ parameters:
+ - description: 鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/models.RawSilkPriceStandard'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: 鎴愬姛
+ schema:
+ $ref: '#/definitions/util.Response'
+ summary: 淇濆瓨鐢熶笣瀹氫环鏍囧噯
+ tags:
+ - 绯荤粺璁剧疆/鐢熶笣瀹氫环鏍囧噯
swagger: "2.0"
diff --git a/models/fineness.go b/models/fineness.go
index 9486840..e8e7238 100644
--- a/models/fineness.go
+++ b/models/fineness.go
@@ -2,6 +2,7 @@
import (
"fmt"
+ "github.com/shopspring/decimal"
"gorm.io/gorm"
"silkserver/pkg/mysqlx"
)
@@ -10,15 +11,17 @@
// FinenessRegister 绾ゅ害鐧昏
FinenessRegister struct {
gorm.Model
- Number string `gorm:"type:varchar(255);not null;comment:缂栧彿" json:"number"` //缂栧彿
- FinishDate string `gorm:"type:varchar(255);not null;comment:钀戒笣鏃堕棿" json:"finishDate"` //钀戒笣鏃堕棿
- Workshop string `gorm:"type:varchar(255);not null;comment:杞﹂棿" json:"name"` //杞﹂棿
- WorkshopGroup string `gorm:"type:varchar(255);not null;comment:杞︾粍" json:"workshopGroup"` //杞︾粍
- Market string `gorm:"type:varchar(255);not null;comment:搴勫彛" json:"market"` //搴勫彛
- Spec string `gorm:"type:varchar(255);not null;comment:瑙勬牸" json:"spec"` //瑙勬牸
- StartCircle uint8 `gorm:"type:varchar(255);not null;comment:寮�濮嬪洖鏁�" json:"startCircle"` //寮�濮嬪洖鏁�
- EndCircle uint8 `gorm:"type:varchar(255);not null;comment:缁撴潫鍥炴暟" json:"endCircle"` //缁撴潫鍥炴暟
- FinenessList []FinenessItem `gorm:"foreignkey:FinenessRegisterID" json:"finenessList"`
+ Number string `gorm:"type:varchar(255);not null;comment:缂栧彿" json:"number"` //缂栧彿
+ FinishDate string `gorm:"type:varchar(255);not null;comment:钀戒笣鏃堕棿" json:"finishDate"` //钀戒笣鏃堕棿
+ Workshop string `gorm:"type:varchar(255);not null;comment:杞﹂棿" json:"name"` //杞﹂棿
+ WorkshopGroup string `gorm:"type:varchar(255);not null;comment:杞︾粍" json:"workshopGroup"` //杞︾粍
+ Market string `gorm:"type:varchar(255);not null;comment:搴勫彛" json:"market"` //搴勫彛
+ Spec string `gorm:"type:varchar(255);not null;comment:瑙勬牸" json:"spec"` //瑙勬牸
+ StartCircle uint8 `gorm:"type:varchar(255);not null;comment:寮�濮嬪洖鏁�" json:"startCircle"` //寮�濮嬪洖鏁�
+ EndCircle uint8 `gorm:"type:varchar(255);not null;comment:缁撴潫鍥炴暟" json:"endCircle"` //缁撴潫鍥炴暟
+ FinenessList []FinenessItem `gorm:"foreignkey:FinenessRegisterID;references:ID" json:"finenessList"`
+ SumFineness decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:鍚堣绾ゅ害" json:"sumFineness"`
+ SumQuantity decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:鍚堣鏁伴噺" json:"sumQuantity"`
}
FinenessRegisterSearch struct {
FinenessRegister
@@ -26,6 +29,7 @@
PageNum int
PageSize int
Orm *gorm.DB
+ Preload bool
}
)
@@ -52,6 +56,11 @@
return slf
}
+func (slf *FinenessRegisterSearch) SetPreload() *FinenessRegisterSearch {
+ slf.Preload = true
+ return slf
+}
+
func (slf *FinenessRegisterSearch) SetID(id uint) *FinenessRegisterSearch {
slf.ID = id
return slf
@@ -77,6 +86,10 @@
db = db.Where("number = ?", slf.Number)
}
+ if slf.Preload {
+ db = db.Model(&FinenessRegister{}).Preload("FinenessList")
+ }
+
return db
}
diff --git a/models/fineness_item.go b/models/fineness_item.go
index 13995ee..2db1931 100644
--- a/models/fineness_item.go
+++ b/models/fineness_item.go
@@ -55,6 +55,11 @@
return slf
}
+func (slf *FinenessItemSearch) SetFinenessRegisterID(id uint) *FinenessItemSearch {
+ slf.FinenessRegisterID = id
+ return slf
+}
+
func (slf *FinenessItemSearch) build() *gorm.DB {
var db = slf.Orm.Table(slf.TableName())
@@ -66,6 +71,10 @@
db = db.Order(slf.Order)
}
+ if slf.FinenessRegisterID != 0 {
+ db = db.Where("fineness_register_id = ?", slf.FinenessRegisterID)
+ }
+
return db
}
diff --git a/router/router.go b/router/router.go
index 022f96e..f2ae3a2 100644
--- a/router/router.go
+++ b/router/router.go
@@ -40,6 +40,7 @@
finenessApi.GET("register", FinenessController.List) // 鑾峰彇绾ゅ害鐧昏鍒楄〃
finenessApi.DELETE("register/:id", FinenessController.Delete) // 鍒犻櫎绾ゅ害鐧昏
finenessApi.POST("register", FinenessController.Add) // 鏂板绾ゅ害鐧昏
+ finenessApi.GET("register/:id", FinenessController.Info) // 鑾峰彇绾ゅ害鐧昏璇︽儏
}
// 鐢熶笣绠$悊
--
Gitblit v1.8.0