From c6e4c58288053493fe62c9a390dfdf8cf1bedf98 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期三, 17 四月 2024 13:57:50 +0800
Subject: [PATCH] 产品添加字段2
---
proto/inventory_order/server.go | 35 ++++++++++++++++++++++++++++++++++-
1 files changed, 34 insertions(+), 1 deletions(-)
diff --git a/proto/inventory_order/server.go b/proto/inventory_order/server.go
index c38a32e..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"
@@ -16,7 +17,11 @@
func (s *Server) CreateOperationList(ctx context.Context, req *CreateOperationListRequest) (*CreateOperationListResponse, error) {
var operations []*models.Operation
- warehouse, err := models.NewWarehouseSearch().First()
+ id := 0
+ if req.WarehouseId != "" {
+ id, _ = strconv.Atoi(req.WarehouseId)
+ }
+ warehouse, err := models.NewWarehouseSearch().SetID(id).First()
if err != nil {
return nil, err
}
@@ -50,6 +55,7 @@
var details []*models.OperationDetails
var or OperationResponse
operation.SourceNumber = list.SourceNumber
+ operation.SalesDetailsNumber = list.SalesDetailsNumber
operation.OperationDate = timex.TimeToString2(time.Now())
operation.Number = strconv.FormatInt(time.Now().Unix(), 10)
operation.Status = constvar.OperationStatus_Ready
@@ -57,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
@@ -100,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