liujiandao
2024-03-11 318c49da20ec30c4f85ef35e479499e82a841b25
proto/inventory_order/server.go
@@ -44,18 +44,26 @@
   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.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.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 +71,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 +80,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
}