From 6dec2342316aecf4084c8f4efb43f33fbb72892f Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 09 四月 2024 14:07:43 +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