From aeed976c2999e2cea097cdee38d8baeefe323f3d Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期六, 30 三月 2024 16:15:59 +0800
Subject: [PATCH] 修改

---
 proto/inventory_order/server.go |   40 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/proto/inventory_order/server.go b/proto/inventory_order/server.go
index 884c8d9..52cb2f3 100644
--- a/proto/inventory_order/server.go
+++ b/proto/inventory_order/server.go
@@ -16,7 +16,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
 	}
@@ -44,18 +48,28 @@
 	if err != nil {
 		return nil, err
 	}
+	operationResp := make([]*OperationResponse, 0)
 	for _, list := range req.List {
 		var operation models.Operation
 		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
 		operation.OperationTypeName = operationType.Name
 		operation.OperationTypeId = operationType.Id
-		operation.FromLocationID = fromLocation.Id
-		operation.ToLocationID = toLocation.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
+		}
+		or.WorkOrderId = operation.SourceNumber
+		or.Number = operation.Number
+		operationResp = append(operationResp, &or)
 		if req.OperationType == 1 {
 			operation.BaseOperationType = constvar.BaseOperationTypeIncoming
 		}
@@ -63,6 +77,8 @@
 			var detail models.OperationDetails
 			detail.ProductId = product.ProductNumber
 			detail.Amount = decimal.NewFromInt(product.Amount)
+			detail.FromLocationID = fromLocation.Id
+			detail.ToLocationID = toLocation.Id
 			details = append(details, &detail)
 		}
 		operation.Details = details
@@ -70,5 +86,23 @@
 	}
 	err = models.NewOperationSearch().CreateBatch(operations)
 	resp := new(CreateOperationListResponse)
+	resp.List = operationResp
 	return resp, err
 }
+
+func (s *Server) GetWarehouseInfo(ctx context.Context, req *GetWarehouseInfoRequest) (*GetWarehouseInfoResponse, error) {
+	warehouses, err := models.NewWarehouseSearch().FindNotTotal()
+	if err != nil {
+		return nil, err
+	}
+	list := make([]*WarehouseInfo, 0)
+	for _, warehouse := range warehouses {
+		var wi WarehouseInfo
+		wi.Id = strconv.Itoa(warehouse.Id)
+		wi.Name = warehouse.Name
+		list = append(list, &wi)
+	}
+	resp := new(GetWarehouseInfoResponse)
+	resp.List = list
+	return resp, nil
+}

--
Gitblit v1.8.0