From b7ffe7edd3ace3ae7f62cadfcf7ba7ccb762364f Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 05 七月 2024 15:44:03 +0800 Subject: [PATCH] fix --- service/operation.go | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/service/operation.go b/service/operation.go index 0775865..c5af300 100644 --- a/service/operation.go +++ b/service/operation.go @@ -91,6 +91,7 @@ LocationID: output.LocationID, OperationSource: constvar.OperationSourceSaleDelivery, SalesDetailsNumber: output.SaleDetailsNumber, + WarehouseId: output.WarehouseID, } operations = append(operations, operation) autoCode = models.GetAutoCode(maxAutoIncr, codeStandard) @@ -219,6 +220,7 @@ BaseOperationType: constvar.BaseOperationTypeInternal, Details: details, CheckedBy: userInfo.Username, + WarehouseId: operation.WarehouseId, }).Error; err != nil { return err } @@ -332,14 +334,14 @@ var inputDetails []*models.OperationDetails var outputDetails []*models.OperationDetails for _, v := range listDetails { - if locAmount, aok := mapLocAmount[strconv.Itoa(v.ToLocationID)+v.ProductId]; aok { - if locAmount.Amount.Equal(v.Amount) { + if _, aok := mapLocAmount[strconv.Itoa(v.FromLocationID)+v.ProductId]; aok { + if v.StockAmount.Equal(v.Amount) { //鐩樼偣鏁伴噺鍜屽墿浣欐暟閲忎竴鑷� continue } - if v.Amount.GreaterThan(locAmount.Amount) { + if v.Amount.GreaterThan(v.StockAmount) { inputDetails = append(inputDetails, &models.OperationDetails{ ProductId: v.ProductId, - Amount: v.Amount.Sub(locAmount.Amount), + Amount: v.Amount.Sub(v.StockAmount), FromLocationID: v.FromLocationID, ToLocationID: v.ToLocationID, TotalGrossWeight: v.TotalGrossWeight, @@ -353,7 +355,7 @@ } else { outputDetails = append(outputDetails, &models.OperationDetails{ ProductId: v.ProductId, - Amount: locAmount.Amount.Sub(v.Amount), + Amount: v.StockAmount.Sub(v.Amount), FromLocationID: v.ToLocationID, ToLocationID: v.FromLocationID, TotalGrossWeight: v.TotalGrossWeight, @@ -390,6 +392,7 @@ Details: inputDetails, LocationID: inputDetails[0].FromLocationID, OperationTypeName: "搴撳瓨璋冩暣鍏ュ簱", + WarehouseId: originOperation.WarehouseId, } if err := models.NewOperationSearch().SetOrm(tx).Create(operation); err != nil { return err @@ -410,6 +413,7 @@ Details: outputDetails, LocationID: outputDetails[0].FromLocationID, OperationTypeName: "搴撳瓨璋冩暣鍑哄簱", + WarehouseId: originOperation.WarehouseId, } if err := models.NewOperationSearch().SetOrm(tx).Create(operation); err != nil { return err @@ -420,11 +424,7 @@ } func GetTargetOperationTypeIdByOperation(operation *models.Operation, baseOT constvar.BaseOperationType) (operationTypeId int, err error) { - oT, err := models.NewOperationTypeSearch().SetID(uint(operation.OperationTypeId)).First() - if err != nil { - return 0, err - } - targetOT, err := models.NewOperationTypeSearch().SetBaseOperationType(baseOT).SetWarehouseId(oT.WarehouseId).First() + targetOT, err := models.NewOperationTypeSearch().SetBaseOperationType(baseOT).SetWarehouseId(operation.WarehouseId).First() if err != nil { return 0, err } -- Gitblit v1.8.0