From f45e4cb8045fe60f96f467dc4ea1e2ae57445712 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 03 七月 2024 23:13:40 +0800 Subject: [PATCH] 默认位置parent_id为视图位置id --- models/location.go | 40 ++++++++++++++++++++++++++++++++++++++-- 1 files changed, 38 insertions(+), 2 deletions(-) diff --git a/models/location.go b/models/location.go index 15830ea..fde650b 100644 --- a/models/location.go +++ b/models/location.go @@ -26,6 +26,9 @@ RecentlyCount string `json:"recentlyCount" gorm:"type:varchar(255);comment:鏈�杩戠洏鐐�"` //鏈�杩戠洏鐐� NextCount string `json:"nextCount" gorm:"type:varchar(255);comment:涓嬫鐩樼偣"` //涓嬫鐩樼偣 JointName string `json:"jointName" gorm:"type:varchar(255);comment:鎷兼帴鍚嶇О"` //鎷兼帴鍚嶇О + Children []*Location `json:"children" gorm:"-"` + WarehouseId int `json:"warehouseId" gorm:"type:int;not null;default:0;comment:浠撳簱ID"` //浠撳簱ID + Warehouse Warehouse `json:"warehouse" gorm:"foreignKey:WarehouseId"` //浠撳簱 } LocationSearch struct { @@ -37,6 +40,7 @@ Orm *gorm.DB Preload bool JointNames []string + Ids []int } ) @@ -65,6 +69,11 @@ func (slf *LocationSearch) SetID(ID int) *LocationSearch { slf.Id = ID + return slf +} + +func (slf *LocationSearch) SetIds(ids []int) *LocationSearch { + slf.Ids = ids return slf } @@ -108,11 +117,25 @@ return slf } +func (slf *LocationSearch) SetIsScrapLocation(isScrapLocation bool) *LocationSearch { + slf.IsScrapLocation = isScrapLocation + return slf +} + +func (slf *LocationSearch) SetWarehouseId(warehouseId int) *LocationSearch { + slf.WarehouseId = warehouseId + return slf +} + func (slf *LocationSearch) build() *gorm.DB { var db = slf.Orm.Table(slf.TableName()) if slf.Id != 0 { db = db.Where("id = ?", slf.Id) + } + + if len(slf.Ids) > 0 { + db = db.Where("id in (?)", slf.Ids) } if slf.Order != "" { @@ -138,10 +161,23 @@ db = db.Where("company_id=?", slf.CompanyId) } if slf.JointName != "" { + slf.JointName += "/" db = db.Where("joint_name like ?", slf.JointName+"%") } if len(slf.JointNames) != 0 { db = db.Where("joint_name in (?)", slf.JointNames) + } + + if slf.IsScrapLocation { + db = db.Where("is_scrap_location = ?", slf.IsScrapLocation) + } + + if slf.Preload { + db = db.Preload("Warehouse") + } + + if slf.WarehouseId != 0 { + db = db.Where("warehouse_id = ?", slf.WarehouseId) } return db @@ -310,7 +346,7 @@ records = make([]*Location, 0) db = slf.build() ) - err := db.Find(&records) + err := db.Find(&records).Error if err != nil { fmt.Println(err) return records, fmt.Errorf("func FindAll err: %v", err) @@ -337,7 +373,7 @@ locations = append(locations, &Location{Name: "搴撳瓨鎹熷け", Type: 5, JointName: "搴撳瓨鎹熷け"}) locations = append(locations, &Location{Name: "鐢熶骇", Type: 6, JointName: "鐢熶骇"}) locations = append(locations, &Location{Name: "涓浆浣嶇疆", Type: 7, JointName: "涓浆浣嶇疆"}) - locations = append(locations, &Location{Name: "鎶ュ簾浣嶇疆", Type: 8, JointName: "鎶ュ簾浣嶇疆"}) + locations = append(locations, &Location{Name: "鎶ュ簾浣嶇疆", Type: 8, JointName: "鎶ュ簾浣嶇疆", IsScrapLocation: true}) locations = append(locations, &Location{Name: "搴撳瓨鐩樼偣", Type: 9, JointName: "搴撳瓨鐩樼偣"}) return slf.CreateBatch(locations) } -- Gitblit v1.8.0