| | |
| | | operation.Number = strconv.FormatInt(time.Now().Unix(), 10) |
| | | operation.Status = constvar.OperationStatus_Ready |
| | | operation.CompanyName = req.SupplierName |
| | | operation.Source = req.Source |
| | | warehouse, err := models.NewWarehouseSearch().First() |
| | | if err != nil { |
| | | return nil, err |
| | |
| | | if err != nil { |
| | | return nil, err |
| | | } |
| | | operation.ToLocationID = location.Id |
| | | first, err := models.NewLocationSearch().SetType(int(constvar.LocationTypeVendor)).First() |
| | | if err != nil { |
| | | return nil, err |
| | | } |
| | | operation.FromLocationID = first.Id |
| | | operation.LocationID = location.Id |
| | | operation.BaseOperationType = constvar.BaseOperationTypeIncoming |
| | | for _, product := range req.Product { |
| | | var detail models.OperationDetails |
| | | detail.ProductId = product.Id |
| | | detail.Amount = decimal.NewFromInt(product.Amount) |
| | | detail.FromLocationID = first.Id |
| | | detail.ToLocationID = location.Id |
| | | details = append(details, &detail) |
| | | } |
| | | err = models.WithTransaction(func(db *gorm.DB) error { |