From 942642be1995671d65b013e559376ac0bde4e8b9 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 16 四月 2024 16:26:55 +0800
Subject: [PATCH] 产品添加字段

---
 proto/product_inventory/server.go |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/proto/product_inventory/server.go b/proto/product_inventory/server.go
index 8bd4069..1113c11 100644
--- a/proto/product_inventory/server.go
+++ b/proto/product_inventory/server.go
@@ -5,6 +5,7 @@
 	"errors"
 	"fmt"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
@@ -233,7 +234,7 @@
 			"wms_operation.number,wms_operation.waybill_number, logistic_company.name, wms_operation.base_operation_type, wms_operation.status, wms_operation.created_at").
 		Joins("left join wms_operation on wms_operation.id = wms_operation_details.operation_id").
 		Joins("left join logistic_company on logistic_company.id = wms_operation.logistic_company_id").
-		Where("wms_operation.source_number = ?", req.Number).
+		Where("wms_operation.sales_details_number = ?", req.Number).
 		Where("wms_operation.base_operation_type in ?", []constvar.BaseOperationType{
 			constvar.BaseOperationTypeIncoming, constvar.BaseOperationTypeOutgoing}).
 		Where("wms_operation.status in ?", []constvar.OperationStatus{constvar.OperationStatus_Ready, constvar.OperationStatus_Finish})
@@ -466,3 +467,31 @@
 	resp.Msg = "success"
 	return resp, nil
 }
+
+func (s *Server) GetOutputOperationInfo(ctx context.Context, req *GetOutputOperationInfoRequest) (*GetOutputOperationInfoResponse, error) {
+	if req.Number == "" {
+		return nil, errors.New("鍙傛暟涓嶈兘涓虹┖")
+	}
+	result := new(GetOutputOperationInfoResponse)
+	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
+		}
+		return nil, err
+	}
+	details, err := models.NewOperationDetailsSearch().SetOperationId(first.Id).FindNotTotal()
+	if err != nil {
+		return nil, err
+	}
+	list := make([]*OutputProduct, 0)
+	for _, detail := range details {
+		var op OutputProduct
+		op.Number = detail.ProductId
+		op.Amount = detail.Amount.String()
+		list = append(list, &op)
+	}
+	result.Products = list
+
+	return result, nil
+}

--
Gitblit v1.8.0