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