From aeed976c2999e2cea097cdee38d8baeefe323f3d Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期六, 30 三月 2024 16:15:59 +0800 Subject: [PATCH] 修改 --- service/operation.go | 68 +++++++++++++++++++++------------- 1 files changed, 42 insertions(+), 26 deletions(-) diff --git a/service/operation.go b/service/operation.go index e0456d4..95cb627 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,35 +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: 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, + 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