| | |
| | | ) |
| | | |
| | | type OutputInfo struct { |
| | | LocationID int |
| | | WarehouseID int |
| | | Products []*ProductInfo |
| | | OperationID int |
| | | SourceNumber string |
| | | LocationID int |
| | | WarehouseID int |
| | | Products []*ProductInfo |
| | | OperationID int |
| | | SourceNumber string |
| | | SaleDetailsNumber string |
| | | } |
| | | |
| | | type ProductInfo struct { |
| | |
| | | } |
| | | 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{ |
| | |
| | | ProductId: product.ProductID, |
| | | Amount: product.Amount, |
| | | FromLocationID: output.LocationID, |
| | | ToLocationID: location.Id, |
| | | }) |
| | | } |
| | | if opTypeMap[output.WarehouseID] == nil { |
| | | continue |
| | | } |
| | | operation := &models.Operation{ |
| | | Id: 0, |
| | | Number: autoCode, |
| | | SourceNumber: output.SourceNumber, |
| | | OperationTypeId: opTypeMap[output.WarehouseID].Id, |
| | | OperationTypeName: opTypeMap[output.WarehouseID].Name, |
| | | Status: constvar.OperationStatus_Ready, |
| | | OperationDate: time.Now().Format("2006-01-02 15:04:05"), |
| | | ContacterID: 0, |
| | | ContacterName: "", |
| | | CompanyID: 0, |
| | | CompanyName: "", |
| | | Comment: "crm发货申请", |
| | | LogisticCompanyId: "", |
| | | LogisticCompany: models.LogisticCompany{}, |
| | | WaybillNumber: "", |
| | | Weight: decimal.Decimal{}, |
| | | LogisticWeight: decimal.Decimal{}, |
| | | Source: "crm", |
| | | Details: details, |
| | | BaseOperationType: constvar.BaseOperationTypeOutgoing, |
| | | LocationID: output.LocationID, |
| | | Id: 0, |
| | | Number: autoCode, |
| | | SourceNumber: output.SourceNumber, |
| | | OperationTypeId: opTypeMap[output.WarehouseID].Id, |
| | | OperationTypeName: opTypeMap[output.WarehouseID].Name, |
| | | Status: constvar.OperationStatus_Ready, |
| | | OperationDate: time.Now().Format("2006-01-02 15:04:05"), |
| | | ContacterID: 0, |
| | | ContacterName: "", |
| | | CompanyID: "", |
| | | CompanyName: "", |
| | | Comment: "crm发货申请", |
| | | LogisticCompanyId: "", |
| | | LogisticCompany: models.LogisticCompany{}, |
| | | WaybillNumber: "", |
| | | Weight: decimal.Decimal{}, |
| | | LogisticWeight: decimal.Decimal{}, |
| | | Source: "crm", |
| | | Details: details, |
| | | BaseOperationType: constvar.BaseOperationTypeOutgoing, |
| | | LocationID: output.LocationID, |
| | | OperationSource: constvar.OperationSourceSaleDelivery, |
| | | SalesDetailsNumber: output.SaleDetailsNumber, |
| | | } |
| | | operations = append(operations, operation) |
| | | autoCode = models.GetAutoCode(maxAutoIncr, codeStandard) |