liujiandao
2024-03-26 d3cf73c4718bc1972565277f038434a34f03907c
service/operation.go
@@ -30,12 +30,22 @@
   if err != nil {
      return err
   }
   autoCode, codeStandard, maxAutoIncr, err := GetAutoCode(constvar.CodeStandardType_Outgoing)
   if err != nil {
      return err
   }
   opTypeMap := make(map[int]*models.OperationType, len(opTypes))
   for _, opType := range opTypes {
      opTypeMap[opType.WarehouseId] = opType
   }
   operations := make([]*models.Operation, 0, len(outputList))
   for _, output := range outputList {
      location, err := models.NewLocationSearch().SetType(int(constvar.LocationTypeCustomer)).First()
      if err != nil {
         return err
      }
      details := make([]*models.OperationDetails, 0, len(output.Products))
      for _, product := range output.Products {
         details = append(details, &models.OperationDetails{
@@ -43,6 +53,7 @@
            ProductId:      product.ProductID,
            Amount:         product.Amount,
            FromLocationID: output.LocationID,
            ToLocationID:   location.Id,
         })
      }
      if opTypeMap[output.WarehouseID] == nil {
@@ -50,7 +61,7 @@
      }
      operation := &models.Operation{
         Id:                0,
         Number:            "",
         Number:            autoCode,
         SourceNumber:      output.SourceNumber,
         OperationTypeId:   opTypeMap[output.WarehouseID].Id,
         OperationTypeName: opTypeMap[output.WarehouseID].Name,
@@ -72,6 +83,8 @@
         LocationID:        output.LocationID,
      }
      operations = append(operations, operation)
      autoCode = models.GetAutoCode(maxAutoIncr, codeStandard)
      maxAutoIncr++
   }
   return models.NewOperationSearch().CreateBatch(operations)