From fe9a8f47ea30dbd9637c803563abd74bda46900a Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 06 五月 2024 17:24:11 +0800
Subject: [PATCH] 每月1号执行
---
models/warehouse.go | 64 ++++++++++++++++++++++++-------
1 files changed, 49 insertions(+), 15 deletions(-)
diff --git a/models/warehouse.go b/models/warehouse.go
index 42f6408..df467d2 100644
--- a/models/warehouse.go
+++ b/models/warehouse.go
@@ -8,17 +8,26 @@
)
type (
- // Warehouse 閮ㄩ棬淇℃伅
+ // Warehouse 浠撳簱
Warehouse struct {
WmsModel
- Name string `json:"name" gorm:"index;type:varchar(255);not null;comment:浠撳簱鍚嶇О"` //浠撳簱鍚嶇О
- Active bool `json:"active" gorm:"type:tinyint(1);not null;comment:鏄惁婵�娲�"` //鏄惁鍚敤锛屼紶true灏辫
- Code string `json:"code" binding:"required,min=1,max=5" gorm:"index;type:varchar(255);not null;comment:浠撳簱缂栫爜"` //浠撳簱缂栫爜
- PartnerID int `json:"partnerId" gorm:"type:int;not null;comment:鍚堜綔浼欎即id"` //鍚堜綔浼欎即id
- BuyToResupply bool `json:"buyToResupply" gorm:"type:tinyint(1);not null;comment:鏄惁璐拱琛ョ粰"` //鏄惁璐拱琛ョ粰锛屽凡璐拱浜у搧鑳藉鍙戦�佸埌姝や粨搴�
- ResupplyWhIdsStr string `json:"-" gorm:"column:resupply_wh_ids;type:varchar(255);not null;comment:琛ョ粰鏉ユ簮浠撳簱ID"` //琛ョ粰鏉ユ簮浠撳簱ID
- ResupplyWhIds []string `json:"resupplyWhIds" gorm:"-"` //琛ョ粰鏉ユ簮浠撳簱ID
- ResupplyWh []*Warehouse `json:"resupplyWh" gorm:"-"` //琛ョ粰鏉ユ簮浠撳簱
+ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+ Name string `json:"name" gorm:"index;type:varchar(255);not null;comment:浠撳簱鍚嶇О"` //浠撳簱鍚嶇О
+ Active bool `json:"active" gorm:"type:tinyint(1);not null;comment:鏄惁婵�娲�"` //鏄惁鍚敤锛屼紶true灏辫
+ Code string `json:"code" gorm:"index;type:varchar(255);not null;comment:浠撳簱缂栫爜"` //浠撳簱缂栫爜
+ PartnerID int `json:"partnerId" gorm:"type:int;not null;comment:鍚堜綔浼欎即id"` //鍚堜綔浼欎即id
+ BuyToResupply bool `json:"buyToResupply" gorm:"type:tinyint(1);not null;comment:鏄惁璐拱琛ョ粰"` //鏄惁璐拱琛ョ粰锛屽凡璐拱浜у搧鑳藉鍙戦�佸埌姝や粨搴�
+ ResupplyWhIdsStr string `json:"-" gorm:"column:resupply_wh_ids;type:varchar(255);not null;comment:琛ョ粰鏉ユ簮浠撳簱ID"` //琛ョ粰鏉ユ簮浠撳簱ID
+ ResupplyWhIds []string `json:"resupplyWhIds" gorm:"-"` //琛ョ粰鏉ユ簮浠撳簱ID
+ ResupplyWh []*Warehouse `json:"resupplyWh" gorm:"-"` //琛ョ粰鏉ユ簮浠撳簱
+ CompanyId int `json:"companyId" gorm:"type:int;not null;comment:鍏徃id"`
+ Company Company `json:"company" gorm:"foreignKey:CompanyId"`
+ Address string `json:"address" gorm:"type:varchar(512);comment:鍦板潃"` //鍦板潃
+ InboundTransportation int `json:"inboundTransportation" gorm:"type:int;comment:鍏ュ悜杩愯緭"` //鍏ュ悜杩愯緭
+ OutboundTransportation int `json:"outboundTransportation" gorm:"type:int;comment:鍑哄簱杩愯緭"` //鍑哄簱杩愯緭
+ LocationId int `json:"locationId" gorm:"type:int;comment:浣嶇疆id"` //榛樿浣嶇疆id
+ WarehouseLocation string `json:"warehouseLocation" gorm:"-"` //搴撳瓨浣嶇疆
+ Contacts string `json:"contacts" gorm:"type:varchar(255);comment:鑱旂郴浜�"` //鑱旂郴浜�
}
WarehouseSearch struct {
@@ -28,11 +37,13 @@
PageSize int
Keyword string
Orm *gorm.DB
+ Preload bool
+ Codes []string
}
)
func (slf *Warehouse) TableName() string {
- return "warehouse"
+ return "wms_warehouse"
}
func (slf *Warehouse) BeforeCreate(tx *gorm.DB) (err error) {
@@ -59,13 +70,18 @@
return slf
}
-func (slf *WarehouseSearch) SetID(id uint) *WarehouseSearch {
- slf.ID = id
+func (slf *WarehouseSearch) SetID(id int) *WarehouseSearch {
+ slf.Id = id
return slf
}
func (slf *WarehouseSearch) SetCode(code string) *WarehouseSearch {
slf.Code = code
+ return slf
+}
+
+func (slf *WarehouseSearch) SetCodes(codes []string) *WarehouseSearch {
+ slf.Codes = codes
return slf
}
@@ -79,11 +95,16 @@
return slf
}
+func (slf *WarehouseSearch) SetPreload(preload bool) *WarehouseSearch {
+ slf.Preload = preload
+ return slf
+}
+
func (slf *WarehouseSearch) build() *gorm.DB {
var db = slf.Orm.Table(slf.TableName())
- if slf.ID != 0 {
- db = db.Where("id = ?", slf.ID)
+ if slf.Id != 0 {
+ db = db.Where("id = ?", slf.Id)
}
if slf.Order != "" {
@@ -93,8 +114,21 @@
if slf.Keyword != "" {
db = db.Where("name like ?", fmt.Sprintf("%%%v%%", slf.Keyword))
}
+
if slf.Name != "" {
db = db.Where("name = ?", slf.Name)
+ }
+
+ if slf.Preload {
+ db = db.Preload("Company")
+ }
+
+ if slf.Code != "" {
+ db = db.Where("code = ?", slf.Code)
+ }
+
+ if len(slf.Codes) > 0 {
+ db = db.Where("code in ?", slf.Codes)
}
return db
@@ -158,7 +192,7 @@
func (slf *WarehouseSearch) Delete() error {
var db = slf.build()
- return db.Delete(&Warehouse{}).Error
+ return db.Unscoped().Delete(&Warehouse{}).Error
}
func (slf *WarehouseSearch) First() (*Warehouse, error) {
--
Gitblit v1.8.0