From 22a93375823a1fe58e5ca2dcd0545ddf1dfc883c Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期二, 14 十一月 2023 11:47:56 +0800 Subject: [PATCH] 产品列表增加预测和出入库数量 --- models/location.go | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 46 insertions(+), 12 deletions(-) diff --git a/models/location.go b/models/location.go index db96855..028e875 100644 --- a/models/location.go +++ b/models/location.go @@ -26,17 +26,18 @@ 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:"-"` } LocationSearch struct { Location - Order string - PageNum int - PageSize int - Keyword string - Orm *gorm.DB - Preload bool - Codes []string + Order string + PageNum int + PageSize int + Keyword string + Orm *gorm.DB + Preload bool + JointNames []string } ) @@ -67,8 +68,14 @@ slf.Id = ID return slf } -func (slf *LocationSearch) SetCodes(ids []string) *LocationSearch { - slf.Codes = ids + +func (slf *LocationSearch) SetJointName(code string) *LocationSearch { + slf.JointName = code + return slf +} + +func (slf *LocationSearch) SetJointNames(codes []string) *LocationSearch { + slf.JointNames = codes return slf } @@ -131,8 +138,11 @@ if slf.CompanyId != 0 { db = db.Where("company_id=?", slf.CompanyId) } - if len(slf.Codes) != 0 { - db = db.Where("warehouse_code in (?)", slf.Codes) + if slf.JointName != "" { + db = db.Where("joint_name like ?", slf.JointName+"%") + } + if len(slf.JointNames) != 0 { + db = db.Where("joint_name in (?)", slf.JointNames) } return db @@ -301,10 +311,34 @@ 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) } return records, nil } + +// InitDefaultData 鍒濆鍖栨暟鎹� +func (slf *LocationSearch) InitDefaultData() error { + var ( + db = slf.Orm.Table(slf.TableName()) + total int64 = 0 + ) + if err := db.Count(&total).Error; err != nil { + return err + } + if total != 0 { + return nil + } + locations := make([]*Location, 0) + locations = append(locations, &Location{Name: "渚涘簲鍟嗕綅缃�", Type: 1, JointName: "渚涘簲鍟嗕綅缃�"}) + locations = append(locations, &Location{Name: "瑙嗗浘", Type: 2, JointName: "瑙嗗浘"}) + locations = append(locations, &Location{Name: "瀹㈡埛浣嶇疆", Type: 4, JointName: "瀹㈡埛浣嶇疆"}) + 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: 9, JointName: "搴撳瓨鐩樼偣"}) + return slf.CreateBatch(locations) +} -- Gitblit v1.8.0