From b06dff2254f73c8f7aeb0bc58c04025561b84dcc Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 01 八月 2024 16:11:32 +0800
Subject: [PATCH] 出入库明细单据多单位数据使用保存的多单位数据,拼接多个
---
proto/product_inventory/server.go | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/proto/product_inventory/server.go b/proto/product_inventory/server.go
index faafff7..41e54d1 100644
--- a/proto/product_inventory/server.go
+++ b/proto/product_inventory/server.go
@@ -176,7 +176,7 @@
operation.ReceiverAddr = req.Address
operation.Source = req.Source
operation.OperationSource = constvar.OperationSource(req.OperationSource)
- operation.CompanyID = int(req.ClientId)
+ operation.CompanyID = strconv.FormatInt(req.ClientId, 10)
operation.CompanyName = req.ClientName
if req.DeliverType == 1 {
for _, product := range req.ProductList {
@@ -351,6 +351,9 @@
inputLocationAmountMap := make(map[int64]map[string]decimal.Decimal)
outputLocationAmountMap := make(map[int64]map[string]decimal.Decimal)
for _, v := range outputList {
+ if req.WarehouseId != 0 && v.WareHouseID != req.WarehouseId {
+ continue
+ }
if outputProductMap[v.Number] == nil {
simpleInfo := &OutputSimpleInfo{
Number: v.Number,
@@ -364,6 +367,9 @@
}
}
for _, v := range inputList {
+ if req.WarehouseId != 0 && v.WareHouseID != req.WarehouseId {
+ continue
+ }
if inputProductMap[v.Number] == nil {
storeInfo := &StoreInfo{
Number: v.Number,
@@ -402,6 +408,9 @@
LocationIDWarehouseIDMap := make(map[int64]int64)
for _, output := range outputList {
+ if req.WarehouseId != 0 && output.WareHouseID != req.WarehouseId {
+ continue
+ }
if outputLocationAmountMap[output.LocationID] == nil {
outputLocationAmountMap[output.LocationID] = make(map[string]decimal.Decimal)
}
@@ -409,6 +418,9 @@
outputLocationAmountMap[output.LocationID][output.Number] = outputAmount
}
for _, input := range inputList {
+ if req.WarehouseId != 0 && input.WareHouseID != req.WarehouseId {
+ continue
+ }
LocationIDWarehouseIDMap[input.LocationID] = input.WareHouseID
if inputLocationAmountMap[input.LocationID] == nil {
@@ -473,7 +485,7 @@
return nil, errors.New("鍙傛暟涓嶈兘涓虹┖")
}
result := new(GetOutputOperationInfoResponse)
- first, err := models.NewOperationSearch().SetSourceNumber(req.Number).SetStatus(constvar.OperationStatus_Finish).First()
+ first, err := models.NewOperationSearch().SetSourceNumber(req.Number).SetBaseOperationType(constvar.BaseOperationTypeOutgoing).SetStatus(constvar.OperationStatus_Finish).First()
if err != nil {
if err == gorm.ErrRecordNotFound {
return result, nil
--
Gitblit v1.8.0