From e5a48de88081f1fe0e5250a6e147c392d22acd4b Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期二, 19 三月 2024 13:09:38 +0800 Subject: [PATCH] 发货信息字段完善 --- conf/aps-crm.json | 2 +- service/salesDetails.go | 17 +++++++++++++++++ model/salesDetailsProduct.go | 8 ++++++++ api/v1/salesDetails.go | 20 +++++++++++++++++--- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/api/v1/salesDetails.go b/api/v1/salesDetails.go index f6c2931..9e1abda 100644 --- a/api/v1/salesDetails.go +++ b/api/v1/salesDetails.go @@ -254,7 +254,7 @@ } number := c.Param("number") client := product_inventory.NewProductInventoryServiceClient(grpc_init.ProductInventoryServiceConn) - info, err := client.GetInventoryProductInfo(ctx.GetCtx(), &product_inventory.GetInventoryProductInfoRequest{Number: number}) + info, err := client.GetOrderInputAndOutputInfo(ctx.GetCtx(), &product_inventory.GetOrderInputAndOutputInfoRequest{Number: number}) if err != nil { if strings.Contains(err.Error(), "record not found") { ctx.Ok() @@ -265,11 +265,25 @@ return } var list []response.ProductInfo - err = structx.AssignTo(info.ProductList, &list) + err = structx.AssignTo(info.OutputList, &list) if err != nil { ctx.FailWithMsg(ecode.UnknownErr, "杞崲閿欒") return } + + products, err := salesDetailsService.GetProducts(number) + m := make(map[string]*model.Product) + + for _, product := range products { + m[product.Number] = product + } + for _, v := range list { + if m[v.Number] == nil { + continue + } + v.OrderAmount = m[v.Number].Amount.String() + } + ctx.OkWithDetailed(list) } @@ -419,7 +433,7 @@ if err != nil { logx.Errorf("product_inventory.OrderProductOutput err:%v, params:%v", err, params) - ctx.FailWithMsg(ecode.UnknownErr, "鍙戣揣澶辫触") + ctx.FailWithMsg(ecode.UnknownErr, "鍙戣揣澶辫触"+err.Error()) return } diff --git a/conf/aps-crm.json b/conf/aps-crm.json index e9fc5a4..55d67be 100644 --- a/conf/aps-crm.json +++ b/conf/aps-crm.json @@ -51,7 +51,7 @@ "GrpcServiceAddr": { "Aps": "192.168.20.119:9091", "Admin": "192.168.20.119:50051", - "WMS": "192.168.20.119:8006", + "WMS": "192.168.20.120:8006", "SRM": "192.168.20.119:9093" } } diff --git a/model/salesDetailsProduct.go b/model/salesDetailsProduct.go index abaed56..0884db9 100644 --- a/model/salesDetailsProduct.go +++ b/model/salesDetailsProduct.go @@ -42,6 +42,9 @@ if len(slf.ProductIds) > 0 { db = db.Where("product_id in (?)", slf.ProductIds) } + if slf.SalesDetailsId != 0 { + db = db.Where("sales_details_id = ?", slf.SalesDetailsId) + } return db } @@ -51,6 +54,11 @@ return slf } +func (slf *SalesDetailsProductSearch) SetSalesDetailsId(id int) *SalesDetailsProductSearch { + slf.SalesDetailsId = id + return slf +} + func (slf *SalesDetailsProductSearch) Create(record *SalesDetailsProduct) error { var db = slf.build() return db.Create(record).Error diff --git a/service/salesDetails.go b/service/salesDetails.go index d49170c..4e10826 100644 --- a/service/salesDetails.go +++ b/service/salesDetails.go @@ -146,3 +146,20 @@ orders, err := model.NewDeliveryOrderSearch().SetSalesDetailsID(saleDetailID).FindAll() return orders, err } + +func (slf SalesDetailsService) GetProducts(saleDetailNumber string) (products []*model.Product, err error) { + salesDetails, err := slf.GetSalesDetailsByNumber(saleDetailNumber) + if err != nil { + return nil, err + } + // get contact list + salesDetailsProducts, err := model.NewSalesDetailsProductSearch().SetSalesDetailsId(salesDetails.Id).FindAll() + if err != nil { + return + } + productIDs := make([]uint, 0) + for _, v := range salesDetailsProducts { + productIDs = append(productIDs, v.ProductId) + } + return model.NewProductSearch(nil).SetIds(productIDs).FindAll() +} -- Gitblit v1.8.0