From 73b6baf6af3d88cdcb0e2df7932a9bd96b0b85c5 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 01 七月 2024 22:32:34 +0800
Subject: [PATCH] 月度统计出入库按类型汇总报表定时任务和手动跑任务接口

---
 proto/inventory_order/server.go |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/proto/inventory_order/server.go b/proto/inventory_order/server.go
index 9f33163..d5fed6b 100644
--- a/proto/inventory_order/server.go
+++ b/proto/inventory_order/server.go
@@ -2,6 +2,7 @@
 
 import (
 	"context"
+	"errors"
 	"github.com/shopspring/decimal"
 	"strconv"
 	"time"
@@ -62,6 +63,7 @@
 		operation.OperationTypeId = operationType.Id
 		operation.BaseOperationType = constvar.BaseOperationTypeOutgoing
 		operation.Source = req.Source
+		operation.OperationSource = constvar.OperationSource(req.OperationSource)
 		operation.LocationID = fromLocation.Id
 		if req.OperationType == 1 {
 			operation.LocationID = toLocation.Id
@@ -105,3 +107,29 @@
 	resp.List = list
 	return resp, nil
 }
+
+func (s *Server) GetOperationInfo(ctx context.Context, req *GetOperationInfoRequest) (*GetOperationInfoResponse, error) {
+	if len(req.SourceNumber) == 0 && len(req.SalesDetailsNumber) == 0 {
+		return nil, errors.New("鏉ユ簮缂栫爜鍜岄攢鍞槑缁嗙紪鐮佷笉鑳藉悓鏃朵负绌�")
+	}
+	operations, err := models.NewOperationSearch().SetSourceNumbers(req.SourceNumber).SetSalesDetailsNumbers(req.SalesDetailsNumber).
+		SetStatus(constvar.OperationStatus(req.Status)).SetPreload(true).FindNotTotal()
+	if err != nil {
+		return nil, err
+	}
+	resp := new(GetOperationInfoResponse)
+	list := make([]*OperationInfo, 0)
+	for _, operation := range operations {
+		var ol OperationInfo
+		ol.SourceNumber = operation.SourceNumber
+		ol.SalesDetailsNumber = operation.SalesDetailsNumber
+		for _, detail := range operation.Details {
+			o := ol
+			o.ProductId = detail.ProductId
+			o.Amount = detail.Amount.IntPart()
+			list = append(list, &o)
+		}
+	}
+	resp.List = list
+	return resp, nil
+}

--
Gitblit v1.8.0