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 |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/models/location.go b/models/location.go
index be55274..fde650b 100644
--- a/models/location.go
+++ b/models/location.go
@@ -27,6 +27,8 @@
 		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 {
@@ -120,6 +122,11 @@
 	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())
 
@@ -154,6 +161,7 @@
 		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 {
@@ -164,6 +172,14 @@
 		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
 }
 

--
Gitblit v1.8.0