From 2b6e19d0864e922f67c672775a501d953dd01d8d Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期四, 23 十一月 2023 14:44:14 +0800
Subject: [PATCH] 附件上传与预览

---
 proto/purchase_wms/server.go |   48 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/proto/purchase_wms/server.go b/proto/purchase_wms/server.go
index 579d914..235def6 100644
--- a/proto/purchase_wms/server.go
+++ b/proto/purchase_wms/server.go
@@ -29,8 +29,8 @@
 	if req.ProductId == "" {
 		return nil, errors.New("浜у搧缂栧彿涓嶈兘涓虹┖")
 	}
-	var products []test.Product
-	err := global.GVA_DB.Model(&test.Product{}).Where("number = ?", req.ProductId).Preload("Supplier").Find(&products).Error
+	var products []test.SupplierMaterial
+	err := global.GVA_DB.Model(&test.SupplierMaterial{}).Where("number = ?", req.ProductId).Preload("Supplier").Find(&products).Error
 	if err != nil {
 		return nil, err
 	}
@@ -59,8 +59,8 @@
 	if err != nil {
 		return nil, err
 	}
-	var product test.Product
-	err = global.GVA_DB.Model(&test.Product{}).Where("number = ? and supplier_id = ?", req.ProductId, req.SupplierId).First(&product).Error
+	var product test.SupplierMaterial
+	err = global.GVA_DB.Model(&test.SupplierMaterial{}).Where("number = ? and supplier_id = ?", req.ProductId, req.SupplierId).First(&product).Error
 	if err != nil {
 		return nil, err
 	}
@@ -69,8 +69,14 @@
 	var purchaseRecord purchase.Purchase
 	purchaseRecord.PurchaseTypeId = int(pt.ID)
 	purchaseRecord.SupplierId = int(req.SupplierId)
-	purchaseRecord.OrderSource = "WMS鎺ㄩ��"
-	purchaseRecord.Name = "WMS琛ヨ揣"
+	if req.Source == "WMS" {
+		purchaseRecord.OrderSource = "WMS鎺ㄩ��"
+		purchaseRecord.Name = "WMS琛ヨ揣"
+	} else if req.Source == "APS" {
+		purchaseRecord.OrderSource = "APS鎺ㄩ��"
+		purchaseRecord.Name = "APS閲囪喘"
+	}
+
 	purchaseRecord.ID = 0
 	purchaseRecord.Status = purchase.OrderStatusConfirmed
 	purchaseRecord.HandledBy = "admin"
@@ -89,7 +95,11 @@
 	pp.Amount = purchaseRecord.Quantity
 	pp.Price = decimal.NewFromFloat(product.PurchasePrice)
 	pp.Total = purchaseRecord.TotalPrice
-	pp.Remark = "WMS琛ヨ揣"
+	if req.Source == "WMS" {
+		pp.Remark = "WMS琛ヨ揣"
+	} else if req.Source == "APS" {
+		pp.Remark = "APS閲囪喘"
+	}
 
 	err = global.GVA_DB.Transaction(func(tx *gorm.DB) error {
 		err = tx.Create(&purchaseRecord).Error
@@ -106,3 +116,27 @@
 	resp.PurchaseNumber = purchaseRecord.Number
 	return resp, nil
 }
+
+func (s *Server) GetPurchaseInfo(ctx context.Context, req *GetPurchaseInfoRequest) (*GetPurchaseInfoResponse, error) {
+	if len(req.PurchaseNumbers) == 0 {
+		return nil, errors.New("閲囪喘鍗曠紪鐮佷笉鑳戒负绌�")
+	}
+	var ps []purchase.Purchase
+	err := global.GVA_DB.Model(&purchase.Purchase{}).Where("number in (?)", req.PurchaseNumbers).Preload("Supplier").Find(&ps).Error
+	if err != nil {
+		return nil, err
+	}
+	infos := make([]*PurchaseInfo, 0)
+	for _, p := range ps {
+		var info PurchaseInfo
+		info.PurchaseNumber = p.Number
+		info.PurchaseName = p.Name
+		info.SupplierName = p.Supplier.Name
+		info.Amount = p.Quantity.IntPart()
+		info.Status = int64(p.Status)
+		infos = append(infos, &info)
+	}
+	resp := new(GetPurchaseInfoResponse)
+	resp.Infos = infos
+	return resp, nil
+}

--
Gitblit v1.8.0