From f80c6068d5e2ae5b9101125497b4de88726e1d9e Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期日, 07 四月 2024 21:44:58 +0800
Subject: [PATCH] 发货接口增加仓库ID
---
proto/crm_aps/server.go | 100 ++++++++++++++++++++++++++++++++------------------
1 files changed, 64 insertions(+), 36 deletions(-)
diff --git a/proto/crm_aps/server.go b/proto/crm_aps/server.go
index 1a45676..4105d00 100644
--- a/proto/crm_aps/server.go
+++ b/proto/crm_aps/server.go
@@ -5,7 +5,6 @@
"aps_crm/model"
"aps_crm/model/grpc_init"
"aps_crm/pkg/ecode"
- "aps_crm/proto/product_inventory"
"aps_crm/service"
"context"
"errors"
@@ -77,38 +76,38 @@
}
//鎺ㄩ�佸埌wms
- clientName := ""
- if detail.ClientId > 0 {
- first, err := model.NewClientSearch(nil).SetId(detail.ClientId).First()
- if err == nil {
- clientName = first.Name
- }
- }
- wmsProducts := make([]*product_inventory.InventoryProduct, 0)
- for _, product := range detail.Products {
- var p product_inventory.InventoryProduct
- p.Id = product.Number
- p.Amount = product.Amount.String()
- wmsProducts = append(wmsProducts, &p)
- }
- clientWms := product_inventory.NewProductInventoryServiceClient(grpc_init.ProductInventoryServiceConn)
- _, err = clientWms.CreateOperation(ctx, &product_inventory.CreateOperationRequest{
- Number: detail.Number,
- Addressee: detail.Addressee,
- Address: detail.Address,
- Phone: detail.Phone,
- DeliverType: int32(detail.DeliverType),
- Source: "CRM",
- ClientId: int64(detail.ClientId),
- ClientName: clientName,
- ProductList: wmsProducts,
- })
- if err != nil {
- //鐘舵�佽繕鍘�
- m["status"] = constvar.WaitConfirmed
- _ = model.NewSalesDetailsSearch().SetNumber(detail.Number).UpdateByMap(m)
- return nil, err
- }
+ //clientName := ""
+ //if detail.ClientId > 0 {
+ // first, err := model.NewClientSearch(nil).SetId(detail.ClientId).First()
+ // if err == nil {
+ // clientName = first.Name
+ // }
+ //}
+ //wmsProducts := make([]*product_inventory.InventoryProduct, 0)
+ //for _, product := range detail.Products {
+ // var p product_inventory.InventoryProduct
+ // p.Id = product.Number
+ // p.Amount = product.Amount.String()
+ // wmsProducts = append(wmsProducts, &p)
+ //}
+ //clientWms := product_inventory.NewProductInventoryServiceClient(grpc_init.ProductInventoryServiceConn)
+ //_, err = clientWms.CreateOperation(ctx, &product_inventory.CreateOperationRequest{
+ // Number: detail.Number,
+ // Addressee: detail.Addressee,
+ // Address: detail.Address,
+ // Phone: detail.Phone,
+ // DeliverType: int32(detail.DeliverType),
+ // Source: "CRM",
+ // ClientId: int64(detail.ClientId),
+ // ClientName: clientName,
+ // ProductList: wmsProducts,
+ //})
+ //if err != nil {
+ // //鐘舵�佽繕鍘�
+ // m["status"] = constvar.WaitConfirmed
+ // _ = model.NewSalesDetailsSearch().SetNumber(detail.Number).UpdateByMap(m)
+ // return nil, err
+ //}
//鎺ㄩ�佸埌aps
products := make([]*SalesDetailsProduct, 0)
@@ -132,6 +131,7 @@
ProductTotal: total.IntPart(),
ProjectId: req.ProjectId,
Products: products,
+ DeliverType: int64(detail.DeliverType),
})
if err != nil {
//鐘舵�佽繕鍘�
@@ -186,7 +186,7 @@
}
salesDetail.Status = status
- err = model.NewSalesDetailsSearch().Update(salesDetail)
+ err = model.NewSalesDetailsSearch().SetId(salesDetail.Id).Update(salesDetail)
if err != nil {
return nil, errors.New("鏇存敼CRM閿�鍞槑缁嗗け璐�")
}
@@ -194,7 +194,7 @@
return &UpdateSalesDetailResponse{}, nil
}
-func (s *Server) RemoveSalesDetail(ctx context.Context, req *RemoveSalesDetailRequest) (*RemoveSalesDetailRequest, error) {
+func (s *Server) RemoveSalesDetail(ctx context.Context, req *RemoveSalesDetailRequest) (*RemoveSalesDetailResponse, error) {
if req.Number == "" {
return nil, errors.New("閿�鍞槑缁嗙紪鍙蜂负绌�")
}
@@ -209,5 +209,33 @@
return nil, errors.New("閿�鍞槑缁嗗垹闄ゅけ璐�")
}
- return &RemoveSalesDetailRequest{}, nil
+ return &RemoveSalesDetailResponse{}, nil
+}
+
+func (s *Server) GetCrmSalesDetailsProductInfo(ctx context.Context, req *GetCrmSalesDetailsProductInfoRequest) (*GetCrmSalesDetailsProductInfoResponse, error) {
+ if req.SalesDetailsNumber == "" {
+ return nil, errors.New("閿�鍞槑缁嗙紪鍙蜂负绌�")
+ }
+ first, err := model.NewSalesDetailsSearch().SetPreload(true).SetNumber(req.SalesDetailsNumber).First()
+ if err != nil {
+ return nil, err
+ }
+ list := make([]*CrmSalesDetailsProductInfo, 0)
+ for _, product := range first.Products {
+ var csp CrmSalesDetailsProductInfo
+ csp.ProductId = product.Number
+ csp.ProductName = product.Name
+ csp.Specs = product.Specs
+ csp.Unit = product.Unit
+ csp.Amount = product.Amount.IntPart()
+ csp.Cost = product.Cost
+ csp.Price = product.Price.IntPart()
+ csp.Total = product.Total.IntPart()
+ csp.Profit = product.Profit
+ csp.Margin = product.Margin
+ list = append(list, &csp)
+ }
+ resp := new(GetCrmSalesDetailsProductInfoResponse)
+ resp.List = list
+ return resp, nil
}
--
Gitblit v1.8.0