From dd97f2626579ca8be69b9b6d68ce9d592b62eb6a Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期五, 22 十二月 2023 15:03:26 +0800
Subject: [PATCH] 使用系统设置修改

---
 api/v1/product.go |   72 +++++++++++++++++++++---------------
 1 files changed, 42 insertions(+), 30 deletions(-)

diff --git a/api/v1/product.go b/api/v1/product.go
index e4fdc19..ee678df 100644
--- a/api/v1/product.go
+++ b/api/v1/product.go
@@ -9,7 +9,6 @@
 	"aps_crm/pkg/ecode"
 	"aps_crm/pkg/logx"
 	"aps_crm/proto/product"
-	"aps_crm/utils"
 	"github.com/gin-gonic/gin"
 	"github.com/shopspring/decimal"
 	"github.com/spf13/cast"
@@ -56,6 +55,19 @@
 		return
 	}
 
+	if params.QuotationNumber != "" {
+		find, err := model.NewQuotationSearch(nil).SetNumber(params.QuotationNumber).Find()
+		if err != nil {
+			ctx.FailWithMsg(ecode.UnknownErr, "鎶ヤ环鍗曚俊鎭煡璇㈠け璐�")
+			return
+		}
+		products := find.Products
+		ctx.OkWithDetailed(response.ListResponse{
+			Data:  products,
+			Count: int64(len(products)),
+		})
+		return
+	}
 	cli := product.NewProductServiceClient(grpc_init.CrmApsGrpcServiceConn)
 	getProductListResponse, err := cli.GetProductList(ctx.GetCtx(), &product.GetProductListRequest{
 		Page:          cast.ToInt32(params.Page),
@@ -63,6 +75,16 @@
 		ProductNumber: params.ProductNumber,
 		ProductName:   params.ProductName,
 	})
+	if err != nil {
+		logx.Errorf("grpc GetProductList err: %v", err.Error())
+		ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒")
+		return
+	}
+	if getProductListResponse.Code != 0 {
+		logx.Errorf("grpc GetProductList err: %v", err.Error())
+		ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒")
+		return
+	}
 	rawProductList := getProductListResponse.List
 	productList := make([]model.Product, len(rawProductList))
 
@@ -75,16 +97,6 @@
 		productList[k].Unit = v.Unit
 	}
 
-	if err != nil {
-		logx.Errorf("GetProductList err: %v", err.Error())
-		ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒")
-		return
-	}
-	if getProductListResponse.Code != 0 {
-		logx.Errorf("GetProductList err: %v", err.Error())
-		ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒")
-		return
-	}
 	ctx.OkWithDetailed(response.ListResponse{
 		Data:  productList,
 		Count: getProductListResponse.Total,
@@ -110,12 +122,12 @@
 
 	getProductInfoResponse, err := cli.GetProductInfo(ctx.GetCtx(), &product.GetProductInfoRequest{ProductId: productId})
 	if err != nil {
-		logx.Errorf("GetProductInfo err: %v", err.Error())
+		logx.Errorf(" grpc GetProductInfo err: %v", err.Error())
 		ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒")
 		return
 	}
 	if getProductInfoResponse.Code != 0 {
-		logx.Errorf("GetProductInfo err: %v", err.Error())
+		logx.Errorf("grpc GetProductInfo err: %v", err.Error())
 		ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒")
 		return
 	}
@@ -128,7 +140,7 @@
 // @Summary	鑾峰彇浜у搧璁㈠崟淇℃伅
 // @Produce	application/json
 // @Param		number	path		string	true	"鏄庣粏缂栫爜"
-// @Success	200	{object}	contextx.Response{data=[]product.WorkOrderInfo}	"鎴愬姛"
+// @Success	200	{object}	contextx.Response{data=response.Info}	"鎴愬姛"
 //
 //	@Router		/api/product/getProductOrderInfo/{number} [get]
 func (ci *ProductApi) GetProductOrderInfo(c *gin.Context) {
@@ -141,26 +153,14 @@
 		ctx.Ok()
 		return
 	}
-	first, err := model.NewSalesDetailsSearch().SetNumber(number).SetPreload(true).First()
-	if err != nil {
-		ctx.FailWithMsg(ecode.UnknownErr, "鏄庣粏璇︽儏鏌ユ壘澶辫触")
-		return
-	}
-	params := make([]*product.Info, 0)
-	for _, p := range first.Products {
-		var pa product.Info
-		pa.ProductId = p.Number
-		pa.StartTime = utils.TimeToString(first.UpdatedAt)
-		pa.EndTime = first.DeliveryDate
-		params = append(params, &pa)
-	}
 	client := product.NewProductServiceClient(grpc_init.CrmApsGrpcServiceConn)
-	info, err := client.GetProductOrder(ctx.GetCtx(), &product.GetProductOrderRequest{Params: params})
+	info, err := client.GetProductOrder(ctx.GetCtx(), &product.GetProductOrderRequest{SalesDetailsNumber: number})
 	if err != nil {
-		logx.Errorf("GetProductOrder err: %v", err.Error())
+		logx.Errorf("grpc GetProductOrder err: %v", err.Error())
 		ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒")
 		return
 	}
+	var result response.Info
 	var list []response.WorkOrderInfo
 	for _, orderInfo := range info.List {
 		var wo response.WorkOrderInfo
@@ -173,5 +173,17 @@
 		wo.EndTime = orderInfo.EndTime
 		list = append(list, wo)
 	}
-	ctx.OkWithDetailed(list)
+	result.MakeInfo = list
+	var purchaseInfo []response.Purchase
+	for _, pl := range info.PurchaseList {
+		var p response.Purchase
+		p.Amount = pl.Amount
+		p.Status = pl.Status
+		p.PurchaseName = pl.PurchaseName
+		p.PurchaseNumber = pl.PurchaseNumber
+		p.SupplierName = pl.SupplierName
+		purchaseInfo = append(purchaseInfo, p)
+	}
+	result.PurchaseInfo = purchaseInfo
+	ctx.OkWithDetailed(result)
 }

--
Gitblit v1.8.0