From e5df488268e29b272932e6cc1d2b1e7034590ba0 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 12 六月 2024 11:40:45 +0800 Subject: [PATCH] weedfs包放到项目里 --- service/operation.go | 71 ++++++++++++++++++++++------------- 1 files changed, 45 insertions(+), 26 deletions(-) diff --git a/service/operation.go b/service/operation.go index 03ac1e6..e3a187a 100644 --- a/service/operation.go +++ b/service/operation.go @@ -8,11 +8,12 @@ ) 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 { @@ -30,12 +31,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,32 +54,40 @@ ProductId: product.ProductID, Amount: product.Amount, FromLocationID: output.LocationID, + ToLocationID: location.Id, }) } + if opTypeMap[output.WarehouseID] == nil { + continue + } operation := &models.Operation{ - Id: 0, - Number: "", - 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) + maxAutoIncr++ } return models.NewOperationSearch().CreateBatch(operations) -- Gitblit v1.8.0