From c7e82fd1d76b9fb25497d5aba4372bbfe13a8468 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 28 三月 2024 20:00:21 +0800
Subject: [PATCH] 采购入库增加来源

---
 model/purchase/purchase.go |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/model/purchase/purchase.go b/model/purchase/purchase.go
index c690479..634202a 100644
--- a/model/purchase/purchase.go
+++ b/model/purchase/purchase.go
@@ -7,11 +7,11 @@
 )
 
 type Purchase struct {
-	global.GVA_MODEL
-	PurchaseTypeId      int                 `json:"purchaseTypeId" form:"purchaseType" gorm:"type:int(11);not null;default 0;comment:閲囪喘绫诲瀷id"` // 閲囪喘绫诲瀷id
+	global.GVA_MODEL_INT
+	PurchaseTypeId      int                 `json:"purchaseTypeId,string" form:"purchaseType" gorm:"type:int(11);not null;default 0;comment:閲囪喘绫诲瀷id"` // 閲囪喘绫诲瀷id
 	PurchaseType        PurchaseType        `json:"purchaseType" gorm:"foreignKey:PurchaseTypeId"`
-	OrderSource         string              `json:"orderSource" gorm:"type:varchar(255);not null;default '';comment:鍗曟嵁鏉ユ簮"`             // 鍗曟嵁鏉ユ簮
-	SupplierId          int                 `json:"supplierId" form:"supplierId" gorm:"type:int(11);not null;default 0;comment:渚涘簲鍟唅d"` // 渚涘簲鍟唅d
+	OrderSource         string              `json:"orderSource" gorm:"type:varchar(255);not null;default '';comment:鍗曟嵁鏉ユ簮"`                    // 鍗曟嵁鏉ユ簮
+	SupplierId          int                 `json:"supplierId,string" 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:閲囪喘鍚嶇О"`                             // 閲囪喘鍚嶇О
@@ -23,9 +23,11 @@
 	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:鍒跺崟浜�"`                        //鍒跺崟浜�
-	Principal           string              `json:"principal" form:"principal" gorm:"type:varchar(255);not null;default '';comment:閲囪喘璐熻矗浜�"`                  //閲囪喘璐熻矗浜�
 	OrderType           string              `json:"orderType" form:"orderType" gorm:"type:varchar(255);not null;default '';comment:鍗曟嵁绫诲瀷"`                   //鍗曟嵁绫诲瀷
 	Warehouse           string              `json:"warehouse" form:"warehouse" gorm:"type:varchar(255);not null;default '';comment:鏀惰揣浠撳簱"`                   //鏀惰揣浠撳簱
+	WarehouseAddress    string              `json:"warehouseAddress" form:"warehouseAddress" gorm:"type:varchar(512);default '';comment:鏀惰揣浠撳簱鍦板潃"`            //鏀惰揣浠撳簱鍦板潃
+	Principal           string              `json:"principal" form:"principal" gorm:"type:varchar(255);not null;default '';comment:浠撳簱璐熻矗浜�"`                  //浠撳簱璐熻矗浜�
+	SourceOrder         string              `json:"sourceOrder" gorm:"type:varchar(255);comment:鏉ユ簮鍗曟嵁"`                                                      //鏉ユ簮鍗曟嵁
 	Quantity            decimal.Decimal     `json:"quantity" form:"quantity" gorm:"type:decimal(12,4);not null;comment:閲囪喘鏁伴噺"`                               // 閲囪喘鏁伴噺
 	TotalPrice          decimal.Decimal     `json:"totalPrice" form:"totalPrice" gorm:"type:decimal(12,2);not null;default '';comment:浠风◣鍚堣"`                //浠风◣鍚堣
 	WholeDiscountType   WholeDiscountType   `json:"wholeDiscountType" form:"wholeDiscountType" gorm:"type:tinyint(1);not null;default '';comment:鏁村崟鎶樻墸"`     //鏁村崟鎶樻墸绫诲瀷
@@ -39,13 +41,21 @@
 	PaidAmount          decimal.Decimal     `json:"paidAmount" form:"paidAmount" gorm:"type:decimal(12,2);not null;default '';comment:宸蹭粯閲戦"`                //宸蹭粯閲戦
 }
 
+func (Purchase) TableName() string {
+	return "srm_purchase"
+}
+
 type OrderStatus int
 
 const (
-	OrderStatusConfirmed OrderStatus = 1 //宸蹭笅鍗�
-	OrderStatusReceived  OrderStatus = 2 //宸插埌璐�
-	OrderStatusStored    OrderStatus = 3 //宸插叆搴�
-	OrderStatusCompleted OrderStatus = 4 //宸插畬鎴�
+	OrderStatusConfirmed   OrderStatus = 1 //寰呯‘璁�
+	OrderStatusReceived    OrderStatus = 2 //寰呭叆搴�
+	OrderStatusStored      OrderStatus = 3 //宸插叆搴�
+	OrderStatusCompleted   OrderStatus = 4 //宸插畬鎴�
+	OrderStatusCanceled    OrderStatus = 5 //宸插彇娑�
+	OrderStatusWaitReceive OrderStatus = 6 //寰呮敹璐�
+	OrderStatusPartReceive OrderStatus = 7 //閮ㄥ垎鏀惰揣
+	OrderStatusWaitQuality OrderStatus = 8 //寰呰川妫�
 )
 
 type WholeDiscountType int
@@ -94,7 +104,7 @@
 func (slf Purchase) CalcRealTotalPrice() decimal.Decimal {
 	totalPrice := slf.TotalPrice
 	if slf.WholeDiscountType == WholeDiscountTypePercent {
-		totalPrice = totalPrice.Mul(slf.WholeDiscount).Div(decimal.NewFromInt(100))
+		totalPrice = totalPrice.Mul(decimal.NewFromInt(1).Sub(slf.WholeDiscount.Div(decimal.NewFromInt(100))))
 	} else if slf.WholeDiscountType == WholeDiscountTypeDiscount {
 		totalPrice = totalPrice.Sub(slf.WholeDiscount)
 	}

--
Gitblit v1.8.0