From d3a78e4c791821b298075b700e9fc14030d12ec2 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期二, 29 八月 2023 15:28:43 +0800 Subject: [PATCH] 采购数量,经办人,制单人 --- api/v1/purchase/purchase.go | 4 ++++ model/purchase/purchase.go | 28 ++++++++++++++++------------ service/purchase/purchase.go | 11 +++++++++++ 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/api/v1/purchase/purchase.go b/api/v1/purchase/purchase.go index 68f16d9..c82be66 100644 --- a/api/v1/purchase/purchase.go +++ b/api/v1/purchase/purchase.go @@ -48,6 +48,8 @@ purchaseRecord.ID = 0 purchaseRecord.Status = purchase.OrderStatusConfirmed + purchaseRecord.HandledBy = "admin" + purchaseRecord.Creator = "admin" err = service.NewPurchaseService().CreatePurchase(&purchaseRecord, params.ProductList) if err != nil { @@ -109,6 +111,8 @@ return } + purchaseRecord.HandledBy = "admin" + purchaseRecord.Creator = "admin" err = service.NewPurchaseService().UpdatePurchase(&purchaseRecord, params.ProductList) if err != nil { global.GVA_LOG.Error("鏇存柊澶辫触!", zap.Error(err)) diff --git a/model/purchase/purchase.go b/model/purchase/purchase.go index 0163640..4627f87 100644 --- a/model/purchase/purchase.go +++ b/model/purchase/purchase.go @@ -1,24 +1,28 @@ package purchase import ( + "github.com/shopspring/decimal" "srm/global" "srm/model/test" ) type Purchase struct { global.GVA_MODEL - PurchaseTypeId int `json:"purchaseTypeId" form:"purchaseType" gorm:"type:int(11);not null;default 0;comment:閲囪喘绫诲瀷id"` // 閲囪喘绫诲瀷id - PurchaseType PurchaseType `json:"purchaseType" gorm:"foreignKey:PurchaseTypeId"` - SupplierId int `json:"supplierId" form:"supplierId" gorm:"type:int(11);not null;default 0;comment:渚涘簲鍟唅d"` // 渚涘簲鍟唅d - Supplier test.Supplier `json:"supplier" gorm:"foreignKey:SupplierId"` - Number string `json:"number" form:"number" gorm:"unique;type:varchar(255);not null;default '';comment:閲囪喘缂栧彿"` // 閲囪喘缂栧彿 - Name string `json:"name" form:"name" gorm:"type:varchar(255);not null;default '';comment:閲囪喘鍚嶇О"` // 閲囪喘鍚嶇О - Contact string `json:"contact" form:"contact" gorm:"type:varchar(255);not null;default '';comment:鑱旂郴浜�"` // 鑱旂郴浜� - Phone string `json:"phone" form:"phone" gorm:"type:varchar(255);not null;default '';comment:鑱旂郴浜虹數璇�"` // 鑱旂郴浜虹數璇� - SigningDate string `json:"signingDate" form:"signingDate" gorm:"type:varchar(255);not null;default '';comment:绛剧害鏃ユ湡"` // 绛剧害鏃ユ湡 - DeliveryDate string `json:"deliveryDate" form:"deliveryDate" gorm:"type:varchar(255);not null;default '';comment:浜や粯鏃ユ湡"` //浜や粯鏃ユ湡 - Remark string `json:"remark" form:"remark" gorm:"type:varchar(1000);not null;default '';comment:澶囨敞"` //澶囨敞 - Status OrderStatus `json:"status" form:"status" gorm:"type:tinyint(1);not null;default 0;comment:鐘舵��"` //鐘舵�� + PurchaseTypeId int `json:"purchaseTypeId" form:"purchaseType" gorm:"type:int(11);not null;default 0;comment:閲囪喘绫诲瀷id"` // 閲囪喘绫诲瀷id + PurchaseType PurchaseType `json:"purchaseType" gorm:"foreignKey:PurchaseTypeId"` + SupplierId int `json:"supplierId" form:"supplierId" gorm:"type:int(11);not null;default 0;comment:渚涘簲鍟唅d"` // 渚涘簲鍟唅d + Supplier test.Supplier `json:"supplier" gorm:"foreignKey:SupplierId"` + Number string `json:"number" form:"number" gorm:"unique;type:varchar(255);not null;default '';comment:閲囪喘缂栧彿"` // 閲囪喘缂栧彿 + Name string `json:"name" form:"name" gorm:"type:varchar(255);not null;default '';comment:閲囪喘鍚嶇О"` // 閲囪喘鍚嶇О + Quantity decimal.Decimal `json:"quantity" form:"quantity" gorm:"type:decimal(12,4);not null;comment:閲囪喘鏁伴噺"` // 閲囪喘鏁伴噺 + Contact string `json:"contact" form:"contact" gorm:"type:varchar(255);not null;default '';comment:鑱旂郴浜�"` // 鑱旂郴浜� + Phone string `json:"phone" form:"phone" gorm:"type:varchar(255);not null;default '';comment:鑱旂郴浜虹數璇�"` // 鑱旂郴浜虹數璇� + SigningDate string `json:"signingDate" form:"signingDate" gorm:"type:varchar(255);not null;default '';comment:绛剧害鏃ユ湡"` // 绛剧害鏃ユ湡 + DeliveryDate string `json:"deliveryDate" form:"deliveryDate" gorm:"type:varchar(255);not null;default '';comment:浜や粯鏃ユ湡"` //浜や粯鏃ユ湡 + Remark string `json:"remark" form:"remark" gorm:"type:varchar(1000);not null;default '';comment:澶囨敞"` //澶囨敞 + Status OrderStatus `json:"status" form:"status" gorm:"type:tinyint(1);not null;default 0;comment:鐘舵��"` //鐘舵�� + HandledBy string `json:"handledBy" form:"handledBy" gorm:"type:varchar(255);not null;default '';comment:缁忓姙浜�"` //缁忓姙浜� + Creator string `json:"creator" form:"creator" gorm:"type:varchar(255);not null;default '';comment:鍒跺崟浜�"` //鍒跺崟浜� } type OrderStatus int diff --git a/service/purchase/purchase.go b/service/purchase/purchase.go index 0df0c5c..bbef0f1 100644 --- a/service/purchase/purchase.go +++ b/service/purchase/purchase.go @@ -2,6 +2,7 @@ import ( "context" + "github.com/shopspring/decimal" "github.com/spf13/cast" "gorm.io/gorm" "srm/global" @@ -24,6 +25,11 @@ func (slf *PurchaseService) CreatePurchase(params *purchase.Purchase, productList []*purchase.PurchaseProducts) (err error) { err = global.GVA_DB.Transaction(func(tx *gorm.DB) error { + var quantity decimal.Decimal + for _, product := range productList { + quantity = quantity.Add(product.Amount) + } + params.Quantity = quantity err = tx.Create(¶ms).Error if err != nil { return err @@ -60,6 +66,11 @@ func (slf *PurchaseService) UpdatePurchase(params *purchase.Purchase, productList []*purchase.PurchaseProducts) (err error) { err = global.GVA_DB.Transaction(func(tx *gorm.DB) error { + var quantity decimal.Decimal + for _, product := range productList { + quantity = quantity.Add(product.Amount) + } + params.Quantity = quantity err = tx.Where("id = ?", params.ID).Updates(params).Error if err != nil { return err -- Gitblit v1.8.0