From 422f93b6f1004c8d7abb9e41b44c5a723bc8b279 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期三, 27 九月 2023 20:13:38 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/WMS --- controllers/product_controller.go | 5 controllers/operation.go | 10 models/operation.go | 2 request/location_product_amount.go | 10 request/product_request.go | 3 docs/swagger.yaml | 90 ++++----- request/operation.go | 1 docs/docs.go | 140 ++++++--------- docs/swagger.json | 138 ++++++--------- controllers/location_product_amount.go | 100 ++-------- router/router.go | 5 11 files changed, 186 insertions(+), 318 deletions(-) diff --git a/controllers/location_product_amount.go b/controllers/location_product_amount.go index 36b4e0c..1df4755 100644 --- a/controllers/location_product_amount.go +++ b/controllers/location_product_amount.go @@ -206,79 +206,27 @@ // @Param object body request.UpdateLocationProductAmount true "鍏ュ簱/鍑哄簱淇℃伅" // @Success 200 {object} util.Response "鎴愬姛" // @Router /api-wms/v1/locationProductAmount/update [post] -//func (slf LocationProductAmountController) Update(c *gin.Context) { -// var reqParams request.UpdateLocationProductAmount -// if err := c.BindJSON(&reqParams); err != nil { -// util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") -// return -// } -// -// var existCount int64 -// if err := models.NewOperationSearch().Orm.Table("wms_operation").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").Where("wms_operation.from_location_id=? and wms_operation_details.product_id=? and wms_operation.base_operation_type=? and wms_operation.status=?", reqParams.LocationId, reqParams.ProductId, constvar.BaseOperationTypeAdjust, constvar.OperationStatus_Ready).Count(&existCount).Error; err != nil { -// util.ResponseFormat(c, code.RequestParamError, err.Error()) -// return -// } -// if existCount > 0 { -// util.ResponseFormat(c, code.RequestError, "璇ュ晢鍝佸湪宸查�変腑鐨勪綅缃瓨鍦ㄦ湭楠岃瘉鐨勫簱瀛樼洏鐐逛俊鎭紝鏃犳硶缁х画娣诲姞鐩稿叧淇℃伅") -// return -// } -// -// locProduct, err := models.NewLocationProductSearch().SetLocationId(reqParams.LocationId).SetProductId(reqParams.ProductId).First() -// if err != nil { -// util.ResponseFormat(c, code.RequestParamError, "鍙傛暟寮傚父锛屾湭鎵惧埌璇ヤ笂鏋惰鍒�") -// return -// } -// if locProduct.Id == 0 { -// util.ResponseFormat(c, code.RequestError, "涓嶅瓨鍦ㄨ涓婃灦瑙勫垯锛屾棤娉曡繘琛屽簱瀛樼洏鐐�") -// return -// } -// location, err := models.NewLocationSearch().SetType(int(constvar.LocationTypeAdjust)).First() -// if err != nil { -// util.ResponseFormat(c, code.RequestParamError, err.Error()) -// return -// } -// //reqParams.AdjustAmount = reqParams.Amount.Sub(reqParams.DifferenceAmount) -// reqParams.AdjustAmount = reqParams.DifferenceAmount.Sub(reqParams.Amount) -// locAmount := models.LocationProductAmount{ -// LocationProductId: locProduct.Id, -// Amount: decimal.NewFromInt(0), -// CreateDate: time.Now().Format("2006-01-02 15:04:05"), -// } -// detail := &models.OperationDetails{ -// ProductId: reqParams.ProductId, -// Amount: reqParams.AdjustAmount, -// } -// operation := models.Operation{ -// Number: strconv.FormatInt(time.Now().Unix(), 10), -// Status: constvar.OperationStatus_Ready, -// OperationDate: time.Now().Format("2006-01-02 15:04:05"), -// Comment: "搴撳瓨鐩樼偣", -// BaseOperationType: constvar.BaseOperationTypeAdjust, -// Details: []*models.OperationDetails{detail}, -// FromLocationID: location.Id, -// ToLocationID: reqParams.LocationId, -// } -// -// //if reqParams.AdjustAmount.GreaterThanOrEqual(decimal.NewFromInt(0)) { -// // operation.FromLocationID = Location.Id -// // operation.ToLocationID = reqParams.LocationId -// //} else { -// // operation.FromLocationID = reqParams.LocationId -// // operation.ToLocationID = Location.Id -// //} -// -// if err := models.WithTransaction(func(tx *gorm.DB) error { -// if err := models.NewOperationSearch().SetOrm(tx).Create(&operation); err != nil { -// return err -// } -// if err := models.NewLocationProductAmountSearch().SetOrm(tx).Create(&locAmount); err != nil { -// return err -// } -// return nil -// }); err != nil { -// util.ResponseFormat(c, code.RequestError, err.Error()) -// return -// } -// -// util.ResponseFormat(c, code.Success, "娣诲姞鎴愬姛") -//} +func (slf LocationProductAmountController) Update(c *gin.Context) { + var reqParams request.UpdateLocationProductAmount + if err := c.BindJSON(&reqParams); err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + return + } + reqParams.AdjustAmount = reqParams.DifferenceAmount.Sub(reqParams.Amount) + operation, err := models.NewOperationSearch().SetID(reqParams.OperationId).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏈壘鍒扮浉鍏虫暟鎹�") + return + } + if operation.Status != constvar.OperationStatus_Ready { + util.ResponseFormat(c, code.RequestParamError, "璇ヨ褰曞凡楠岃瘉閫氳繃锛屾棤娉曡繘琛屼慨鏀�") + return + } + + if err := models.NewOperationDetailsSearch().SetOperationId(reqParams.OperationId).SetProductId(reqParams.ProductId).Update(&models.OperationDetails{Amount: reqParams.AdjustAmount}); err != nil { + util.ResponseFormat(c, code.RequestError, "淇敼澶辫触锛�"+err.Error()) + return + } + + util.ResponseFormat(c, code.Success, "淇敼鎴愬姛") +} diff --git a/controllers/operation.go b/controllers/operation.go index fa8137d..3e1e36f 100644 --- a/controllers/operation.go +++ b/controllers/operation.go @@ -176,10 +176,7 @@ search := models.NewOperationSearch() search.SetPage(params.Page, params.PageSize) if params.Number != "" { - search.SetNumber(params.Number) - } - if params.SourceNumber != "" { - search.SetSourceNumber(params.SourceNumber) + search.SetKeyword(params.Number) } list, total, err := search.SetOperationTypeId(params.OperationTypeId).SetPreload(true).SetOrder("created_at desc").Find() if err != nil { @@ -412,10 +409,7 @@ search.SetPage(params.Page, params.PageSize) search.SetPage(params.Page, params.PageSize) if params.Number != "" { - search.SetNumber(params.Number) - } - if params.SourceNumber != "" { - search.SetSourceNumber(params.SourceNumber) + search.SetKeyword(params.Number) } list, total, err := search.SetPreload(true).SetOrder("created_at desc").Find() if err != nil { diff --git a/controllers/product_controller.go b/controllers/product_controller.go index 333d2b0..2750ff6 100644 --- a/controllers/product_controller.go +++ b/controllers/product_controller.go @@ -403,11 +403,8 @@ 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)) - } if params.Number != "" { - db = db.Where("wms_operation.number like ?", fmt.Sprintf("%%%v%%", params.Number)) + db = db.Where("wms_operation.number like ? or wms_operation.source_number like ?", fmt.Sprintf("%%%v%%", params.Number), fmt.Sprintf("%%%v%%", params.Number)) } db = db.Where("wms_operation.operation_type_id=?", 0) var ( diff --git a/docs/docs.go b/docs/docs.go index 3c6f0ad..4f78bf4 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -750,51 +750,6 @@ } } }, - "/api-wms/v1/locationProductAmount/getRuleList": { - "post": { - "produces": [ - "application/json" - ], - "tags": [ - "搴撳瓨鐩樼偣" - ], - "summary": "鑾峰彇涓婃灦瑙勫垯", - "parameters": [ - { - "description": "鏌ヨ淇℃伅", - "name": "object", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.GetRuleList" - } - } - ], - "responses": { - "200": { - "description": "鎴愬姛", - "schema": { - "allOf": [ - { - "$ref": "#/definitions/util.ResponseList" - }, - { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/definitions/response.RuleList" - } - } - } - } - ] - } - } - } - } - }, "/api-wms/v1/locationProductAmount/list": { "post": { "produces": [ @@ -812,6 +767,36 @@ "required": true, "schema": { "$ref": "#/definitions/request.PageInfo" + } + } + ], + "responses": { + "200": { + "description": "鎴愬姛", + "schema": { + "$ref": "#/definitions/util.Response" + } + } + } + } + }, + "/api-wms/v1/locationProductAmount/update": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "搴撳瓨鐩樼偣" + ], + "summary": "淇敼搴撳瓨鐩樼偣淇℃伅", + "parameters": [ + { + "description": "鍏ュ簱/鍑哄簱淇℃伅", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UpdateLocationProductAmount" } } ], @@ -3039,19 +3024,6 @@ } } }, - "request.GetRuleList": { - "type": "object", - "properties": { - "locationId": { - "description": "浣嶇疆id", - "type": "integer" - }, - "productId": { - "description": "浜у搧id", - "type": "string" - } - } - }, "request.OperationAllList": { "type": "object", "properties": { @@ -3104,9 +3076,6 @@ "pageSize": { "description": "姣忛〉澶у皬", "type": "integer" - }, - "sourceNumber": { - "type": "string" } } }, @@ -3136,9 +3105,6 @@ "pageSize": { "description": "姣忛〉澶у皬", "type": "integer" - }, - "sourceNumber": { - "type": "string" } } }, @@ -3264,6 +3230,31 @@ }, "productCategoryId": { "description": "浜у搧绉嶇被id", + "type": "integer" + }, + "productId": { + "description": "浜у搧id", + "type": "string" + } + } + }, + "request.UpdateLocationProductAmount": { + "type": "object", + "properties": { + "Amount": { + "description": "搴撳瓨鏁伴噺", + "type": "number" + }, + "adjustAmount": { + "description": "LocationProductAmountId int ` + "`" + `json:\"locationProductAmountId\"` + "`" + ` //搴撳瓨鐩樼偣id", + "type": "number" + }, + "differenceAmount": { + "description": "璁℃暟鏁伴噺", + "type": "number" + }, + "operationId": { + "description": "鍑哄叆搴搃d", "type": "integer" }, "productId": { @@ -3541,25 +3532,6 @@ } } }, - "response.RuleList": { - "type": "object", - "properties": { - "locationList": { - "description": "浣嶇疆鍒楄〃", - "type": "array", - "items": { - "$ref": "#/definitions/models.Location" - } - }, - "productList": { - "description": "浜у搧鍒楄〃", - "type": "array", - "items": { - "$ref": "#/definitions/models.Material" - } - } - } - }, "util.Response": { "type": "object", "properties": { @@ -3606,8 +3578,6 @@ Description: "", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, - LeftDelim: "{{", - RightDelim: "}}", } func init() { diff --git a/docs/swagger.json b/docs/swagger.json index 7a78b11..67b761c 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -738,51 +738,6 @@ } } }, - "/api-wms/v1/locationProductAmount/getRuleList": { - "post": { - "produces": [ - "application/json" - ], - "tags": [ - "搴撳瓨鐩樼偣" - ], - "summary": "鑾峰彇涓婃灦瑙勫垯", - "parameters": [ - { - "description": "鏌ヨ淇℃伅", - "name": "object", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.GetRuleList" - } - } - ], - "responses": { - "200": { - "description": "鎴愬姛", - "schema": { - "allOf": [ - { - "$ref": "#/definitions/util.ResponseList" - }, - { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/definitions/response.RuleList" - } - } - } - } - ] - } - } - } - } - }, "/api-wms/v1/locationProductAmount/list": { "post": { "produces": [ @@ -800,6 +755,36 @@ "required": true, "schema": { "$ref": "#/definitions/request.PageInfo" + } + } + ], + "responses": { + "200": { + "description": "鎴愬姛", + "schema": { + "$ref": "#/definitions/util.Response" + } + } + } + } + }, + "/api-wms/v1/locationProductAmount/update": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "搴撳瓨鐩樼偣" + ], + "summary": "淇敼搴撳瓨鐩樼偣淇℃伅", + "parameters": [ + { + "description": "鍏ュ簱/鍑哄簱淇℃伅", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UpdateLocationProductAmount" } } ], @@ -3027,19 +3012,6 @@ } } }, - "request.GetRuleList": { - "type": "object", - "properties": { - "locationId": { - "description": "浣嶇疆id", - "type": "integer" - }, - "productId": { - "description": "浜у搧id", - "type": "string" - } - } - }, "request.OperationAllList": { "type": "object", "properties": { @@ -3092,9 +3064,6 @@ "pageSize": { "description": "姣忛〉澶у皬", "type": "integer" - }, - "sourceNumber": { - "type": "string" } } }, @@ -3124,9 +3093,6 @@ "pageSize": { "description": "姣忛〉澶у皬", "type": "integer" - }, - "sourceNumber": { - "type": "string" } } }, @@ -3252,6 +3218,31 @@ }, "productCategoryId": { "description": "浜у搧绉嶇被id", + "type": "integer" + }, + "productId": { + "description": "浜у搧id", + "type": "string" + } + } + }, + "request.UpdateLocationProductAmount": { + "type": "object", + "properties": { + "Amount": { + "description": "搴撳瓨鏁伴噺", + "type": "number" + }, + "adjustAmount": { + "description": "LocationProductAmountId int `json:\"locationProductAmountId\"` //搴撳瓨鐩樼偣id", + "type": "number" + }, + "differenceAmount": { + "description": "璁℃暟鏁伴噺", + "type": "number" + }, + "operationId": { + "description": "鍑哄叆搴搃d", "type": "integer" }, "productId": { @@ -3526,25 +3517,6 @@ "value": { "description": "鎬讳环鍊�", "type": "number" - } - } - }, - "response.RuleList": { - "type": "object", - "properties": { - "locationList": { - "description": "浣嶇疆鍒楄〃", - "type": "array", - "items": { - "$ref": "#/definitions/models.Location" - } - }, - "productList": { - "description": "浜у搧鍒楄〃", - "type": "array", - "items": { - "$ref": "#/definitions/models.Material" - } } } }, diff --git a/docs/swagger.yaml b/docs/swagger.yaml index c1a5e1f..eecd6f1 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -847,15 +847,6 @@ description: 姣忛〉澶у皬 type: integer type: object - request.GetRuleList: - properties: - locationId: - description: 浣嶇疆id - type: integer - productId: - description: 浜у搧id - type: string - type: object request.OperationAllList: properties: number: @@ -894,8 +885,6 @@ pageSize: description: 姣忛〉澶у皬 type: integer - sourceNumber: - type: string type: object request.PageInfo: properties: @@ -916,8 +905,6 @@ pageSize: description: 姣忛〉澶у皬 type: integer - sourceNumber: - type: string type: object request.QueryOperationHistory: properties: @@ -1003,6 +990,25 @@ type: integer productCategoryId: description: 浜у搧绉嶇被id + type: integer + productId: + description: 浜у搧id + type: string + type: object + request.UpdateLocationProductAmount: + properties: + Amount: + description: 搴撳瓨鏁伴噺 + type: number + adjustAmount: + description: LocationProductAmountId int `json:"locationProductAmountId"` + //搴撳瓨鐩樼偣id + type: number + differenceAmount: + description: 璁℃暟鏁伴噺 + type: number + operationId: + description: 鍑哄叆搴搃d type: integer productId: description: 浜у搧id @@ -1192,19 +1198,6 @@ value: description: 鎬讳环鍊� type: number - type: object - response.RuleList: - properties: - locationList: - description: 浣嶇疆鍒楄〃 - items: - $ref: '#/definitions/models.Location' - type: array - productList: - description: 浜у搧鍒楄〃 - items: - $ref: '#/definitions/models.Material' - type: array type: object util.Response: properties: @@ -1681,32 +1674,6 @@ summary: 娣诲姞搴撳瓨鐩樼偣淇℃伅 tags: - 搴撳瓨鐩樼偣 - /api-wms/v1/locationProductAmount/getRuleList: - post: - parameters: - - description: 鏌ヨ淇℃伅 - in: body - name: object - required: true - schema: - $ref: '#/definitions/request.GetRuleList' - produces: - - application/json - responses: - "200": - description: 鎴愬姛 - schema: - allOf: - - $ref: '#/definitions/util.ResponseList' - - properties: - data: - items: - $ref: '#/definitions/response.RuleList' - type: array - type: object - summary: 鑾峰彇涓婃灦瑙勫垯 - tags: - - 搴撳瓨鐩樼偣 /api-wms/v1/locationProductAmount/list: post: parameters: @@ -1726,6 +1693,25 @@ summary: 搴撳瓨鐩樼偣鍒楄〃 tags: - 搴撳瓨鐩樼偣 + /api-wms/v1/locationProductAmount/update: + post: + parameters: + - description: 鍏ュ簱/鍑哄簱淇℃伅 + in: body + name: object + required: true + schema: + $ref: '#/definitions/request.UpdateLocationProductAmount' + produces: + - application/json + responses: + "200": + description: 鎴愬姛 + schema: + $ref: '#/definitions/util.Response' + summary: 淇敼搴撳瓨鐩樼偣淇℃伅 + tags: + - 搴撳瓨鐩樼偣 /api-wms/v1/operation/finish/{id}: put: parameters: diff --git a/models/operation.go b/models/operation.go index 1fd2daf..5a126b3 100644 --- a/models/operation.go +++ b/models/operation.go @@ -123,7 +123,7 @@ } if slf.Keyword != "" { - db = db.Where("product_name like ?", fmt.Sprintf("%%%v%%", slf.Keyword)) + db = db.Where("number like ? or source_number like ?", fmt.Sprintf("%%%v%%", slf.Keyword), fmt.Sprintf("%%%v%%", slf.Keyword)) } if slf.SourceNumber != "" { diff --git a/request/location_product_amount.go b/request/location_product_amount.go index 266be4b..bb2d314 100644 --- a/request/location_product_amount.go +++ b/request/location_product_amount.go @@ -11,10 +11,12 @@ } type UpdateLocationProductAmount struct { - LocationProductAmountId int `json:"locationProductAmountId"` //搴撳瓨鐩樼偣id - AdjustAmount decimal.Decimal `json:"adjustAmount" ` //宸�� - DifferenceAmount decimal.Decimal `json:"differenceAmount"` //璁℃暟鏁伴噺 - OperationId int `json:"operationId"` //鍑哄叆搴搃d + //LocationProductAmountId int `json:"locationProductAmountId"` //搴撳瓨鐩樼偣id + AdjustAmount decimal.Decimal `json:"adjustAmount" ` //宸�� + DifferenceAmount decimal.Decimal `json:"differenceAmount"` //璁℃暟鏁伴噺 + OperationId int `json:"operationId"` //鍑哄叆搴搃d + Amount decimal.Decimal `json:"Amount"` //搴撳瓨鏁伴噺 + ProductId string `json:"productId"` //浜у搧id } type GetRuleList struct { diff --git a/request/operation.go b/request/operation.go index cf73ffa..a507a13 100644 --- a/request/operation.go +++ b/request/operation.go @@ -42,7 +42,6 @@ PageInfo OperationTypeId int `json:"operationTypeId" form:"operationTypeId"` Number string `json:"number"` - SourceNumber string `json:"sourceNumber"` } type UpdateOperation struct { diff --git a/request/product_request.go b/request/product_request.go index 6cdafe1..c48f3c0 100644 --- a/request/product_request.go +++ b/request/product_request.go @@ -28,8 +28,7 @@ type QueryDisuseList struct { PageInfo - Number string `json:"number"` - SourceNumber string `json:"sourceNumber"` + Number string `json:"number"` } type UpdateDisuse struct { diff --git a/router/router.go b/router/router.go index 628d1bd..61b0405 100644 --- a/router/router.go +++ b/router/router.go @@ -125,8 +125,9 @@ locationProductAmountController := new(controllers.LocationProductAmountController) locationProductAmountAPI := r.Group(urlPrefix + "/locationProductAmount") { - locationProductAmountAPI.POST("add", locationProductAmountController.Add) //娣诲姞搴撳瓨鐩樼偣淇℃伅 - locationProductAmountAPI.POST("list", locationProductAmountController.List) //鏌ョ湅搴撳瓨鐩樼偣鍒楄〃 + locationProductAmountAPI.POST("add", locationProductAmountController.Add) //娣诲姞搴撳瓨鐩樼偣淇℃伅 + locationProductAmountAPI.POST("list", locationProductAmountController.List) //鏌ョ湅搴撳瓨鐩樼偣鍒楄〃 + locationProductAmountAPI.POST("update", locationProductAmountController.Update) //淇敼搴撳瓨鐩樼偣淇℃伅 locationProductAmountAPI.POST("getRuleList", locationProductAmountController.GetRuleList) //鑾峰彇涓婃灦瑙勫垯 } -- Gitblit v1.8.0