From bb455e9304722ad83fd65203c3cd370f5f3844c3 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 23 七月 2024 10:43:39 +0800
Subject: [PATCH] 物料导入分批插入数据库解决数据量大无法导入的问题
---
request/operation.go | 154 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 97 insertions(+), 57 deletions(-)
diff --git a/request/operation.go b/request/operation.go
index 138d2d9..f01efd0 100644
--- a/request/operation.go
+++ b/request/operation.go
@@ -6,79 +6,119 @@
)
type AddOperation struct {
- ID int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
- Number string `json:"number" gorm:"column:number;type:varchar(255)"` //鍗曞彿
- SourceNumber string `json:"sourceNumber" gorm:"type:varchar(255)"` //婧愬崟鍙�
- OperationTypeId int `json:"operationTypeId" gorm:"type:int;not null;comment:浣滀笟绫诲瀷id"` //浣滀笟绫诲瀷id
- OperationTypeName string `json:"operationTypeName" gorm:"type:varchar(127);comment:浣滀笟绫诲瀷鍚嶇О"` //浣滀笟绫诲瀷鍚嶇О
- Status constvar.OperationStatus `json:"status" gorm:"type:int(11);not null;comment:鐘舵��"` //鐘舵��
- FromLocationId int `json:"fromLocationId" gorm:"type:int;not null;comment:婧愪綅缃甶d"` //婧愪綅缃甶d
- ToLocationId int `json:"toLocationId" gorm:"type:int;not null;comment:鐩爣浣嶇疆id"` //鐩爣浣嶇疆id
- OperationDate string `json:"operationDate" gorm:"type:varchar(31);comment:瀹夋帓鏃ユ湡"` //瀹夋帓鏃ユ湡
- Details []*OperationDetails `json:"details"`
- ContacterID int `json:"contacterID" gorm:"type:int;comment:鑱旂郴浜篒D"` //鑱旂郴浜篒D-闈炲繀濉�
- ContacterName string `json:"contacterName" gorm:"type:varchar(63);comment:鑱旂郴浜哄鍚�"` //鑱旂郴浜哄鍚�-闈炲繀濉�
- CompanyID int `json:"companyID" gorm:"type:int;comment:鍏徃ID"` //鍏徃ID-瀹㈡埛
- CompanyName string `json:"companyName" gorm:"type:varchar(127);comment:鍏徃鍚嶇О"` //鍏徃鍚嶇О-瀹㈡埛鍚嶇О
- Comment string `json:"comment" gorm:"type:text;comment:澶囨敞"` //澶囨敞
- LogisticCompanyId string `json:"logisticCompanyId" gorm:"type:varchar(191);comment:鐗╂祦鍏徃id"`
- WaybillNumber string `json:"waybillNumber" gorm:"type:varchar(255);comment:杩愬崟鍙�"` //杩愬崟鍙�
- Weight decimal.Decimal `gorm:"type:decimal(20,2);comment:閲嶉噺" json:"weight"` //閲嶉噺
- LogisticWeight decimal.Decimal `gorm:"type:decimal(20,2);comment:鐗╂祦閲嶉噺" json:"logisticWeight"` //鐗╂祦閲嶉噺
- ReceiverName string `json:"receiverName" gorm:"type:varchar(31);comment:鏀惰揣浜哄鍚�"`
- ReceiverPhone string `json:"receiverPhone" gorm:"type:varchar(31);comment:鑱旂郴鐢佃瘽"`
- ReceiverAddr string `json:"receiverAddr" gorm:"type:varchar(255);comment:鏀惰揣鍦板潃"`
+ ID int `json:"id" `
+ Number string `json:"number" ` //鍗曞彿
+ SourceNumber string `json:"sourceNumber" ` //婧愬崟鍙�
+ OperationTypeId int `json:"operationTypeId" ` //浣滀笟绫诲瀷id
+ OperationTypeName string `json:"operationTypeName" ` //浣滀笟绫诲瀷鍚嶇О
+ Status constvar.OperationStatus `json:"status" ` //鐘舵��
+ //FromLocationId int `json:"fromLocationId" ` //婧愪綅缃甶d
+ //ToLocationId int `json:"toLocationId" ` //鐩爣浣嶇疆id
+ OperationDate string `json:"operationDate" ` //瀹夋帓鏃ユ湡
+ Details []*OperationDetails `json:"details"` // 璇︽儏
+ ContacterID int `json:"contacterID" ` //鑱旂郴浜篒D-闈炲繀濉�
+ ContacterName string `json:"contacterName" ` //鑱旂郴浜哄鍚�-闈炲繀濉�
+ CompanyID string `json:"companyID"` //鍏徃ID-瀹㈡埛
+ CompanyName string `json:"companyName" ` //鍏徃鍚嶇О-瀹㈡埛鍚嶇О
+ Comment string `json:"comment" ` //澶囨敞
+ LogisticCompanyId string `json:"logisticCompanyId" ` // 鐗╂祦鍏徃id
+ WaybillNumber string `json:"waybillNumber" ` //杩愬崟鍙�
+ Weight decimal.Decimal `json:"weight"` //閲嶉噺
+ LogisticWeight decimal.Decimal `json:"logisticWeight"` //鐗╂祦閲嶉噺
+ ReceiverName string `json:"receiverName" ` // 鏀惰揣浜哄鍚�
+ ReceiverPhone string `json:"receiverPhone" ` // 鑱旂郴鐢佃瘽
+ ReceiverAddr string `json:"receiverAddr" ` // 鏀惰揣鍦板潃
+ LocationId int `json:"locationId" ` //婧愪綅缃甶d
+ ToLocationId int `json:"toLocationId" ` //鐩爣浣嶇疆id
+ ManagerId string `json:"managerId" ` // 涓荤id
+ Manager string `json:"manager" ` // 涓荤鍚嶇О
+ AccountantId string `json:"accountantId" ` // 浼氳id
+ Accountant string `json:"accountant" ` // 浼氳鍚嶇О
+ CustodianId string `json:"custodianId" ` // 淇濈鍛榠d
+ Custodian string `json:"custodian" ` // 淇濈鍛樺悕绉�
+ BaseOperationType constvar.BaseOperationType `json:"baseOperationType" ` //鍩虹浣滀笟绫诲瀷 1 鍏ュ簱 2 鍑哄簱 3 鍐呴儴璋冩嫧 4 鎶ュ簾 5 搴撳瓨鐩樼偣
+ WarehouseId int `json:"warehouseId" ` //浠撳簱id
+ DealerType string `json:"dealerType" ` // 璋冩嫧鍑哄叆搴撶被鍨�
+ SilkMarket string `json:"silkMarket"` // 搴勫彛
}
type OperationDetails struct {
- OperationId int `json:"OperationId" gorm:"type:int;not null;comment:鎿嶄綔璁板綍id"` //鎿嶄綔id
- ProductId string `json:"productId" gorm:"type:varchar(191);not null;comment:浜у搧id"` //浜у搧id
- //ProductName string `json:"productName" gorm:"type:varchar(255);not null;comment:浜у搧鍚嶇О"` //浜у搧鍚嶇О
- Amount decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:鏁伴噺"` //鏁伴噺
- //Unit string `json:"unit" gorm:"type:varchar(31);comment:鍗曚綅"` //鍗曚綅
- //Product models.Material `json:"product" gorm:"foreignKey:ProductId;references:ID"`
+ OperationId int `json:"OperationId" ` //鎿嶄綔id
+ ProductId string `json:"productId" ` //浜у搧id
+ //ProductName string `json:"productName" ` //浜у搧鍚嶇О
+ Amount decimal.Decimal `json:"amount" ` //鏁伴噺
+ StockAmount decimal.Decimal `json:"stockAmount"` //搴撳瓨鏁伴噺锛岀洏鐐规椂鐢�
+ //Unit string `json:"unit"` //鍗曚綅
+ //Product models.Material `json:"product" ` // 浜у搧
+ FromLocationId int `json:"fromLocationId"` //婧愪綅缃甶d
+ ToLocationId int `json:"toLocationId"` //鐩爣浣嶇疆id
+ TotalGrossWeight decimal.Decimal `json:"totalGrossWeight"` //鎬绘瘺閲�
+ TotalNetWeight decimal.Decimal `json:"totalNetWeight"` //鎬诲噣閲�
+ AuxiliaryAmount decimal.Decimal `json:"auxiliaryAmount"` //杈呭姪鏁伴噺
+ AuxiliaryUnit string `json:"auxiliaryUnit"` //杈呭姪鍗曚綅
+ Remark string `json:"remark"` // 澶囨敞
+
+ Cost decimal.Decimal `json:"cost"` //鎴愭湰鍗曚环
+ SalePrice decimal.Decimal `json:"salePrice"` //閿�鍞崟浠�
+ SilkMarket string `json:"silkMarket"` // 搴勫彛
+ SilkMarketClose string `json:"silkMarketClose"` // 搴勫彛鍏抽棴
}
type OperationList struct {
PageInfo
- OperationTypeId int `json:"operationTypeId" form:"operationTypeId"`
- Number string `json:"number"`
- Status constvar.OperationStatus `json:"status"`
+ OperationTypeId int `json:"operationTypeId" form:"operationTypeId"` // 浣滀笟绫诲瀷id
+ BaseOperationType constvar.BaseOperationType `json:"baseOperationType"` //鍩虹浣滀笟绫诲瀷 1 鍏ュ簱 2 鍑哄簱 3 鍐呴儴璋冩嫧 4 鎶ュ簾 5 搴撳瓨鐩樼偣
+ Number string `json:"number"` // 鍗曞彿
+ Status constvar.OperationStatus `json:"status"` // 鐘舵��
}
type UpdateOperation struct {
- ID int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
- Number string `json:"number" gorm:"column:number;type:varchar(255)"` //鍗曞彿
- SourceNumber string `json:"sourceNumber" gorm:"type:varchar(255)"` //婧愬崟鍙�
- OperationTypeId int `json:"operationTypeId" gorm:"type:int;not null;comment:浣滀笟绫诲瀷id"` //浣滀笟绫诲瀷id
- OperationTypeName string `json:"operationTypeName" gorm:"type:varchar(127);comment:浣滀笟绫诲瀷鍚嶇О"` //浣滀笟绫诲瀷鍚嶇О
- Status constvar.OperationStatus `json:"status" gorm:"type:int(11);not null;comment:鐘舵��"` //鐘舵��
- FromLocationId int `json:"fromLocationId" gorm:"type:int;not null;comment:婧愪綅缃甶d"` //婧愪綅缃甶d
- ToLocationId int `json:"toLocationId" gorm:"type:int;not null;comment:鐩爣浣嶇疆id"` //鐩爣浣嶇疆id
- OperationDate string `json:"operationDate" gorm:"type:varchar(31);comment:瀹夋帓鏃ユ湡"` //瀹夋帓鏃ユ湡
- Details []*OperationDetails `json:"details"`
- ContacterID int `json:"contacterID" gorm:"type:int;comment:鑱旂郴浜篒D"` //鑱旂郴浜篒D-闈炲繀濉�
- ContacterName string `json:"contacterName" gorm:"type:varchar(63);comment:鑱旂郴浜哄鍚�"` //鑱旂郴浜哄鍚�-闈炲繀濉�
- CompanyID int `json:"companyID" gorm:"type:int;comment:鍏徃ID"` //鍏徃ID-瀹㈡埛
- CompanyName string `json:"companyName" gorm:"type:varchar(127);comment:鍏徃鍚嶇О"` //鍏徃鍚嶇О-瀹㈡埛鍚嶇О
- Comment string `json:"comment" gorm:"type:text;comment:澶囨敞"` //澶囨敞
- BaseOperationType constvar.BaseOperationType `json:"baseOperationType"` //鍩虹浣滀笟绫诲瀷
- LogisticCompanyId string `json:"logisticCompanyId" gorm:"type:varchar(191);comment:鐗╂祦鍏徃id"`
- WaybillNumber string `json:"waybillNumber" gorm:"type:varchar(255);comment:杩愬崟鍙�"` //杩愬崟鍙�
- Weight decimal.Decimal `gorm:"type:decimal(20,2);comment:閲嶉噺" json:"weight"` //閲嶉噺
- LogisticWeight decimal.Decimal `gorm:"type:decimal(20,2);comment:鐗╂祦閲嶉噺" json:"logisticWeight"` //鐗╂祦閲嶉噺
- ReceiverName string `json:"receiverName" gorm:"type:varchar(31);comment:鏀惰揣浜哄鍚�"`
- ReceiverPhone string `json:"receiverPhone" gorm:"type:varchar(31);comment:鑱旂郴鐢佃瘽"`
- ReceiverAddr string `json:"receiverAddr" gorm:"type:varchar(255);comment:鏀惰揣鍦板潃"`
+ ID int `json:"id"`
+ Number string `json:"number" ` //鍗曞彿
+ SourceNumber string `json:"sourceNumber" ` //婧愬崟鍙�
+ OperationTypeId int `json:"operationTypeId" ` //浣滀笟绫诲瀷id
+ OperationTypeName string `json:"operationTypeName" ` //浣滀笟绫诲瀷鍚嶇О
+ Status constvar.OperationStatus `json:"status" ` //鐘舵��
+ //FromLocationId int `json:"fromLocationId" ` //婧愪綅缃甶d
+ //ToLocationId int `json:"toLocationId" ` //鐩爣浣嶇疆id
+ OperationDate string `json:"operationDate" ` //瀹夋帓鏃ユ湡
+ Details []*OperationDetails `json:"details"` // 璇︽儏
+ ContacterID int `json:"contacterID" ` //鑱旂郴浜篒D-闈炲繀濉�
+ ContacterName string `json:"contacterName"` //鑱旂郴浜哄鍚�-闈炲繀濉�
+ CompanyID string `json:"companyID"` //鍏徃ID-瀹㈡埛
+ CompanyName string `json:"companyName" ` //鍏徃鍚嶇О-瀹㈡埛鍚嶇О
+ Comment string `json:"comment"` //澶囨敞
+ BaseOperationType constvar.BaseOperationType `json:"baseOperationType"` //鍩虹浣滀笟绫诲瀷
+ LogisticCompanyId string `json:"logisticCompanyId" `
+ WaybillNumber string `json:"waybillNumber" ` //杩愬崟鍙�
+ Weight decimal.Decimal `json:"weight"` //閲嶉噺
+ LogisticWeight decimal.Decimal `json:"logisticWeight"` //鐗╂祦閲嶉噺
+ ReceiverName string `json:"receiverName" ` // 鏀惰揣浜哄鍚�
+ ReceiverPhone string `json:"receiverPhone" ` // 鑱旂郴鐢佃瘽
+ ReceiverAddr string `json:"receiverAddr" ` // 鏀惰揣鍦板潃
+ LocationId int `json:"locationId" ` //婧愪綅缃甶d
+ ToLocationId int `json:"toLocationId" ` //鐩爣浣嶇疆id
+ ManagerId string `json:"managerId" ` // 涓荤id
+ Manager string `json:"manager" ` // 涓荤鍚嶇О
+ AccountantId string `json:"accountantId" ` // 浼氳id
+ Accountant string `json:"accountant" ` // 浼氳鍚嶇О
+ CustodianId string `json:"custodianId" ` // 淇濈鍛榠d
+ Custodian string `json:"custodian" ` // 淇濈鍛樺悕绉�
+ WarehouseId int `json:"warehouseId" ` //浠撳簱id
+ InventoryDealerType int `json:"inventoryDealerType" ` // 璋冩嫧鍑哄叆搴撳垎绫�(瀵瑰簲dict瀛楀吀琛ㄧ殑ID)
+ SilkMarket string `json:"silkMarket"` // 搴勫彛
}
type OperationAllList struct {
PageInfo
- Number string `json:"number"`
- SourceNumber string `json:"sourceNumber"`
+ Number string `json:"number"` // 鍗曞彿
+ SourceNumber string `json:"sourceNumber"` // 婧愬崟鍙�
}
type OperationCondition struct {
PageInfo
- Condition string `json:"condition"`
+ Condition string `json:"condition"` // 妯$硦鏌ヨ鏉′欢
+ Keyword string `json:"keyword" form:"keyword"` //鍏抽敭瀛楁悳绱�
+ WarehouseId int `json:"warehouseId" form:"warehouseId"` //浠撳簱ID
+ LocationId int `json:"locationId" form:"locationId"` //浣嶇疆ID
}
--
Gitblit v1.8.0