From b28a7f52e8df5889572f86a9422c62c10334f70c Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期一, 25 九月 2023 10:17:49 +0800
Subject: [PATCH] 1.修改出入库模块的新增、修改、列表,operation_details不再保存产品名称和单位,改为读取material 2.修改报废模块的新增,修改、列表,不再使用productName和unit字段
---
controllers/product_controller.go | 20 ++--
controllers/operation.go | 6
models/operation.go | 2
request/product_request.go | 28 +++---
docs/swagger.yaml | 31 ++-----
request/operation.go | 11 +-
docs/docs.go | 41 +++-------
models/operation_details.go | 13 +-
docs/swagger.json | 41 +++-------
9 files changed, 79 insertions(+), 114 deletions(-)
diff --git a/controllers/operation.go b/controllers/operation.go
index 9d6fa9b..872fb4c 100644
--- a/controllers/operation.go
+++ b/controllers/operation.go
@@ -115,9 +115,9 @@
if v.ProductId == "" {
return errors.New("productID涓虹┖")
}
- if v.ProductName == "" {
- return errors.New("浜у搧鍚嶇О寮傚父")
- }
+ //if v.ProductName == "" {
+ // return errors.New("浜у搧鍚嶇О寮傚父")
+ //}
if v.Amount.IsNegative() {
return errors.New("浜у搧鏁伴噺鍑洪敊")
}
diff --git a/controllers/product_controller.go b/controllers/product_controller.go
index ca6f24e..ab762ae 100644
--- a/controllers/product_controller.go
+++ b/controllers/product_controller.go
@@ -343,10 +343,10 @@
return
}
detail := &models.OperationDetails{
- ProductId: params.ProductId,
- ProductName: params.ProductName,
- Amount: params.Amount,
- Unit: params.Unit,
+ ProductId: params.ProductId,
+ //ProductName: params.ProductName,
+ Amount: params.Amount,
+ //Unit: params.Unit,
}
operation := models.Operation{
Number: strconv.FormatInt(time.Now().Unix(), 10),
@@ -384,7 +384,9 @@
return
}
- db := models.NewOperationSearch().Orm.Table("wms_operation").Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation.from_location_id,wms_operation.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,wms_operation_details.product_name,wms_operation_details.unit,wms_operation_details.amount").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id")
+ //db := models.NewOperationSearch().Orm.Table("wms_operation").Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation.from_location_id,wms_operation.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,wms_operation_details.product_name,wms_operation_details.unit,wms_operation_details.amount").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id")
+
+ db := models.NewOperationSearch().Orm.Table("wms_operation").Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation.from_location_id,wms_operation.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,material.name as product_name,material.unit,wms_operation_details.amount").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").InnerJoins("inner join material on material.id=wms_operation_details.product_id")
if params.SourceNumber != "" {
db = db.Where("wms_operation.source_number like ?", fmt.Sprintf("%%%v%%", params.SourceNumber))
@@ -515,10 +517,10 @@
return
}
detail := &models.OperationDetails{
- ProductId: params.ProductId,
- ProductName: params.ProductName,
- Amount: params.Amount,
- Unit: params.Unit,
+ ProductId: params.ProductId,
+ //ProductName: params.ProductName,
+ Amount: params.Amount,
+ //Unit: params.Unit,
}
operation := models.Operation{
Id: params.Id,
diff --git a/docs/docs.go b/docs/docs.go
index 3d921fd..20489c0 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -2118,7 +2118,7 @@
"type": "object",
"properties": {
"amount": {
- "description": "鏁伴噺",
+ "description": "ProductName string ` + "`" + `json:\"productName\" gorm:\"type:varchar(255);not null;comment:浜у搧鍚嶇О\"` + "`" + ` //浜у搧鍚嶇О",
"type": "number"
},
"createTime": {
@@ -2131,15 +2131,16 @@
"description": "鎿嶄綔id",
"type": "integer"
},
+ "product": {
+ "description": "Unit string ` + "`" + `json:\"unit\" gorm:\"type:varchar(31);comment:鍗曚綅\"` + "`" + ` //鍗曚綅",
+ "allOf": [
+ {
+ "$ref": "#/definitions/models.Material"
+ }
+ ]
+ },
"productId": {
"description": "浜у搧id",
- "type": "string"
- },
- "productName": {
- "description": "浜у搧鍚嶇О",
- "type": "string"
- },
- "unit": {
"type": "string"
},
"updateTime": {
@@ -2430,6 +2431,7 @@
"type": "object",
"properties": {
"amount": {
+ "description": "ProductName string ` + "`" + `json:\"productName\"` + "`" + `",
"type": "number"
},
"fromLocationId": {
@@ -2438,17 +2440,11 @@
"productId": {
"type": "string"
},
- "productName": {
- "type": "string"
- },
"sourceNumber": {
"type": "string"
},
"toLocationId": {
"type": "integer"
- },
- "unit": {
- "type": "string"
}
}
},
@@ -2690,18 +2686,11 @@
"type": "integer"
},
"amount": {
- "description": "鏁伴噺",
+ "description": "ProductName string ` + "`" + `json:\"productName\" gorm:\"type:varchar(255);not null;comment:浜у搧鍚嶇О\"` + "`" + ` //浜у搧鍚嶇О",
"type": "number"
},
"productId": {
"description": "浜у搧id",
- "type": "string"
- },
- "productName": {
- "description": "浜у搧鍚嶇О",
- "type": "string"
- },
- "unit": {
"type": "string"
}
}
@@ -2803,6 +2792,7 @@
"type": "object",
"properties": {
"amount": {
+ "description": "ProductName string ` + "`" + `json:\"productName\"` + "`" + `",
"type": "number"
},
"fromLocationId": {
@@ -2812,15 +2802,13 @@
"type": "integer"
},
"number": {
+ "description": "Unit string ` + "`" + `json:\"unit\"` + "`" + `",
"type": "string"
},
"operationDate": {
"type": "string"
},
"productId": {
- "type": "string"
- },
- "productName": {
"type": "string"
},
"sourceNumber": {
@@ -2831,9 +2819,6 @@
},
"toLocationId": {
"type": "integer"
- },
- "unit": {
- "type": "string"
}
}
},
diff --git a/docs/swagger.json b/docs/swagger.json
index a8ff32a..9c6e3e4 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -2106,7 +2106,7 @@
"type": "object",
"properties": {
"amount": {
- "description": "鏁伴噺",
+ "description": "ProductName string `json:\"productName\" gorm:\"type:varchar(255);not null;comment:浜у搧鍚嶇О\"` //浜у搧鍚嶇О",
"type": "number"
},
"createTime": {
@@ -2119,15 +2119,16 @@
"description": "鎿嶄綔id",
"type": "integer"
},
+ "product": {
+ "description": "Unit string `json:\"unit\" gorm:\"type:varchar(31);comment:鍗曚綅\"` //鍗曚綅",
+ "allOf": [
+ {
+ "$ref": "#/definitions/models.Material"
+ }
+ ]
+ },
"productId": {
"description": "浜у搧id",
- "type": "string"
- },
- "productName": {
- "description": "浜у搧鍚嶇О",
- "type": "string"
- },
- "unit": {
"type": "string"
},
"updateTime": {
@@ -2418,6 +2419,7 @@
"type": "object",
"properties": {
"amount": {
+ "description": "ProductName string `json:\"productName\"`",
"type": "number"
},
"fromLocationId": {
@@ -2426,17 +2428,11 @@
"productId": {
"type": "string"
},
- "productName": {
- "type": "string"
- },
"sourceNumber": {
"type": "string"
},
"toLocationId": {
"type": "integer"
- },
- "unit": {
- "type": "string"
}
}
},
@@ -2678,18 +2674,11 @@
"type": "integer"
},
"amount": {
- "description": "鏁伴噺",
+ "description": "ProductName string `json:\"productName\" gorm:\"type:varchar(255);not null;comment:浜у搧鍚嶇О\"` //浜у搧鍚嶇О",
"type": "number"
},
"productId": {
"description": "浜у搧id",
- "type": "string"
- },
- "productName": {
- "description": "浜у搧鍚嶇О",
- "type": "string"
- },
- "unit": {
"type": "string"
}
}
@@ -2791,6 +2780,7 @@
"type": "object",
"properties": {
"amount": {
+ "description": "ProductName string `json:\"productName\"`",
"type": "number"
},
"fromLocationId": {
@@ -2800,15 +2790,13 @@
"type": "integer"
},
"number": {
+ "description": "Unit string `json:\"unit\"`",
"type": "string"
},
"operationDate": {
"type": "string"
},
"productId": {
- "type": "string"
- },
- "productName": {
"type": "string"
},
"sourceNumber": {
@@ -2819,9 +2807,6 @@
},
"toLocationId": {
"type": "integer"
- },
- "unit": {
- "type": "string"
}
}
},
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index f0f0d6e..0e09a58 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -478,7 +478,8 @@
models.OperationDetails:
properties:
amount:
- description: 鏁伴噺
+ description: ProductName string `json:"productName" gorm:"type:varchar(255);not
+ null;comment:浜у搧鍚嶇О"` //浜у搧鍚嶇О
type: number
createTime:
type: string
@@ -487,13 +488,12 @@
operationId:
description: 鎿嶄綔id
type: integer
+ product:
+ allOf:
+ - $ref: '#/definitions/models.Material'
+ description: Unit string `json:"unit" gorm:"type:varchar(31);comment:鍗曚綅"` //鍗曚綅
productId:
description: 浜у搧id
- type: string
- productName:
- description: 浜у搧鍚嶇О
- type: string
- unit:
type: string
updateTime:
type: string
@@ -684,19 +684,16 @@
request.AddDisuse:
properties:
amount:
+ description: ProductName string `json:"productName"`
type: number
fromLocationId:
type: integer
productId:
type: string
- productName:
- type: string
sourceNumber:
type: string
toLocationId:
type: integer
- unit:
- type: string
type: object
request.AddOperation:
properties:
@@ -863,15 +860,11 @@
description: 鎿嶄綔id
type: integer
amount:
- description: 鏁伴噺
+ description: ProductName string `json:"productName" gorm:"type:varchar(255);not
+ null;comment:浜у搧鍚嶇О"` //浜у搧鍚嶇О
type: number
productId:
description: 浜у搧id
- type: string
- productName:
- description: 浜у搧鍚嶇О
- type: string
- unit:
type: string
type: object
request.OperationList:
@@ -941,18 +934,18 @@
request.UpdateDisuse:
properties:
amount:
+ description: ProductName string `json:"productName"`
type: number
fromLocationId:
type: integer
id:
type: integer
number:
+ description: Unit string `json:"unit"`
type: string
operationDate:
type: string
productId:
- type: string
- productName:
type: string
sourceNumber:
type: string
@@ -960,8 +953,6 @@
$ref: '#/definitions/constvar.OperationStatus'
toLocationId:
type: integer
- unit:
- type: string
type: object
request.UpdateOperation:
properties:
diff --git a/models/operation.go b/models/operation.go
index b0d64d4..7f17d4a 100644
--- a/models/operation.go
+++ b/models/operation.go
@@ -134,7 +134,7 @@
}
if slf.Preload {
- db = db.Model(&Operation{}).Preload("Details").Preload("FromLocation").Preload("ToLocation")
+ db = db.Model(&Operation{}).Preload("Details").Preload("Details.Product").Preload("FromLocation").Preload("ToLocation")
}
if slf.Disuse {
diff --git a/models/operation_details.go b/models/operation_details.go
index 18e8cfd..32e8f9a 100644
--- a/models/operation_details.go
+++ b/models/operation_details.go
@@ -11,12 +11,13 @@
// OperationDetails 鎿嶄綔鏄庣粏琛�
OperationDetails struct {
WmsModel
- Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
- OperationID int `json:"operationId" gorm:"type:int;not null;comment:鎿嶄綔璁板綍id"` //鎿嶄綔id
- ProductId string `json:"productId" gorm:"type:varchar(191);not null;comment:浜у搧id"` //浜у搧id
- ProductName string `json:"productName" gorm:"type:varchar(255);not null;comment:浜у搧鍚嶇О"` //浜у搧鍚嶇О
- Amount decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:鏁伴噺"` //鏁伴噺
- Unit string `json:"unit" gorm:"type:varchar(31);comment:鍗曚綅"`
+ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+ OperationID int `json:"operationId" gorm:"type:int;not null;comment:鎿嶄綔璁板綍id"` //鎿嶄綔id
+ ProductId string `json:"productId" gorm:"type:varchar(191);not null;comment:浜у搧id"` //浜у搧id
+ //ProductName string `json:"productName" gorm:"type:varchar(255);not null;comment:浜у搧鍚嶇О"` //浜у搧鍚嶇О
+ Amount decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:鏁伴噺"` //鏁伴噺
+ //Unit string `json:"unit" gorm:"type:varchar(31);comment:鍗曚綅"` //鍗曚綅
+ Product Material `json:"product" gorm:"foreignKey:ProductId;references:ID"`
}
OperationDetailsSearch struct {
diff --git a/request/operation.go b/request/operation.go
index 9e730f2..5f17078 100644
--- a/request/operation.go
+++ b/request/operation.go
@@ -30,11 +30,12 @@
}
type OperationDetails struct {
- OperationId int `json:"OperationId" gorm:"type:int;not null;comment:鎿嶄綔璁板綍id"` //鎿嶄綔id
- ProductId string `json:"productId" gorm:"type:varchar(191);not null;comment:浜у搧id"` //浜у搧id
- ProductName string `json:"productName" gorm:"type:varchar(255);not null;comment:浜у搧鍚嶇О"` //浜у搧鍚嶇О
- Amount decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:鏁伴噺"` //鏁伴噺
- Unit string `json:"unit" gorm:"type:varchar(31);comment:鍗曚綅"`
+ OperationId int `json:"OperationId" gorm:"type:int;not null;comment:鎿嶄綔璁板綍id"` //鎿嶄綔id
+ ProductId string `json:"productId" gorm:"type:varchar(191);not null;comment:浜у搧id"` //浜у搧id
+ //ProductName string `json:"productName" gorm:"type:varchar(255);not null;comment:浜у搧鍚嶇О"` //浜у搧鍚嶇О
+ Amount decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:鏁伴噺"` //鏁伴噺
+ //Unit string `json:"unit" gorm:"type:varchar(31);comment:鍗曚綅"` //鍗曚綅
+ //Product models.Material `json:"product" gorm:"foreignKey:ProductId;references:ID"`
}
type OperationList struct {
diff --git a/request/product_request.go b/request/product_request.go
index 0f16f7b..2101529 100644
--- a/request/product_request.go
+++ b/request/product_request.go
@@ -16,13 +16,13 @@
}
type AddDisuse struct {
- ProductId string `json:"productId"`
- ProductName string `json:"productName"`
+ ProductId string `json:"productId"`
+ //ProductName string `json:"productName"`
Amount decimal.Decimal `json:"amount"`
FromLocationId int `json:"fromLocationId"`
ToLocationId int `json:"toLocationId"`
SourceNumber string `json:"sourceNumber"`
- Unit string `json:"unit"`
+ //Unit string `json:"unit"`
}
type QueryDisuseList struct {
@@ -32,15 +32,15 @@
}
type UpdateDisuse struct {
- Id int `json:"id"`
- ProductId string `json:"productId"`
- ProductName string `json:"productName"`
- Amount decimal.Decimal `json:"amount"`
- FromLocationId int `json:"fromLocationId"`
- ToLocationId int `json:"toLocationId"`
- SourceNumber string `json:"sourceNumber"`
- Unit string `json:"unit"`
- Number string `json:"number"`
- Status constvar.OperationStatus `json:"status"`
- OperationDate string `json:"operationDate"`
+ Id int `json:"id"`
+ ProductId string `json:"productId"`
+ //ProductName string `json:"productName"`
+ Amount decimal.Decimal `json:"amount"`
+ FromLocationId int `json:"fromLocationId"`
+ ToLocationId int `json:"toLocationId"`
+ SourceNumber string `json:"sourceNumber"`
+ //Unit string `json:"unit"`
+ Number string `json:"number"`
+ Status constvar.OperationStatus `json:"status"`
+ OperationDate string `json:"operationDate"`
}
--
Gitblit v1.8.0