From 0f7dbc99a9e0c0678d458e2f8f60df52f7fdb3d1 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 29 二月 2024 20:14:00 +0800
Subject: [PATCH] 添加纤度登记接口支持修改纤度登记
---
controllers/fineness.go | 20 ++
models/fineness.go | 21 +-
controllers/request/fineness.go | 26 ++-
docs/swagger.yaml | 75 ++++++++++
docs/docs.go | 113 +++++++++++++++
docs/swagger.json | 113 +++++++++++++++
models/fineness_item.go | 9 +
7 files changed, 339 insertions(+), 38 deletions(-)
diff --git a/controllers/fineness.go b/controllers/fineness.go
index f3ad5f9..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) {
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 3c028fe..b085057 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -313,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": {
@@ -464,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"
}
}
@@ -515,6 +613,10 @@
"description": "钀戒笣鏃堕棿",
"type": "string"
},
+ "id": {
+ "description": "id 娣诲姞鏃朵紶0",
+ "type": "integer"
+ },
"market": {
"description": "搴勫彛",
"type": "string"
@@ -535,8 +637,11 @@
"description": "寮�濮嬪洖鏁�",
"type": "integer"
},
- "sum": {
- "$ref": "#/definitions/request.FinenessItem"
+ "sumFineness": {
+ "type": "number"
+ },
+ "sumQuantity": {
+ "type": "number"
},
"workshopGroup": {
"description": "杞︾粍",
@@ -617,9 +722,7 @@
"pageSize": {
"type": "integer"
},
- "total": {
- "type": "integer"
- }
+ "total": {}
}
}
}
diff --git a/docs/swagger.json b/docs/swagger.json
index 5c8d3f8..f41e17b 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -301,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": {
@@ -452,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"
}
}
@@ -503,6 +601,10 @@
"description": "钀戒笣鏃堕棿",
"type": "string"
},
+ "id": {
+ "description": "id 娣诲姞鏃朵紶0",
+ "type": "integer"
+ },
"market": {
"description": "搴勫彛",
"type": "string"
@@ -523,8 +625,11 @@
"description": "寮�濮嬪洖鏁�",
"type": "integer"
},
- "sum": {
- "$ref": "#/definitions/request.FinenessItem"
+ "sumFineness": {
+ "type": "number"
+ },
+ "sumQuantity": {
+ "type": "number"
},
"workshopGroup": {
"description": "杞︾粍",
@@ -605,9 +710,7 @@
"pageSize": {
"type": "integer"
},
- "total": {
- "type": "integer"
- }
+ "total": {}
}
}
}
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index d4f5dd8..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: {}
@@ -398,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 44b018d..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;references:ID" 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
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
}
--
Gitblit v1.8.0