From 318c49da20ec30c4f85ef35e479499e82a841b25 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期一, 11 三月 2024 14:18:13 +0800 Subject: [PATCH] swag提交 --- models/location.go | 163 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 139 insertions(+), 24 deletions(-) diff --git a/models/location.go b/models/location.go index 0146ca0..be55274 100644 --- a/models/location.go +++ b/models/location.go @@ -11,31 +11,39 @@ // Location 浣嶇疆 Location struct { WmsModel - Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` - Name string `json:"name" gorm:"index;type:varchar(255);not null;comment:浣嶇疆鍚嶇О"` //浣嶇疆鍚嶇О - ParentId int `json:"parentId" gorm:"type:int;not null"` //涓婄骇id - CompanyId int `json:"companyId" gorm:"type:int;not null"` //鍏徃id - Company Company `json:"company" gorm:"foreignKey:CompanyId"` //鍏徃 - Type constvar.LocationType `json:"type" gorm:"type:tinyint;not null;comment:浣嶇疆绫诲瀷"` //浣嶇疆绫诲瀷 - CountFrequency int `json:"countFrequency" gorm:"type:tinyint;not null;comment:鐩樼偣棰戠巼锛堝ぉ锛�"` //鐩樼偣棰戠巼锛堝ぉ锛� - IsScrapLocation bool `json:"isScrapLocation" gorm:"type:tinyint;not null;comment:鏄惁鎶ュ簾浣嶇疆"` //鏄惁鎶ュ簾浣嶇疆 - IsReturnLocation bool `json:"isReturnLocation" gorm:"type:tinyint;not null;comment:鏄惁閫�璐т綅缃�"` //鏄惁閫�璐т綅缃� - ReplenishLocation bool `json:"replenishLocation" gorm:"type:tinyint;not null;comment:鏄惁琛ュ厖浣嶇疆"` //鏄惁琛ュ厖浣嶇疆 + Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` + Name string `json:"name" gorm:"index;type:varchar(255);not null;comment:浣嶇疆鍚嶇О"` //浣嶇疆鍚嶇О + ParentId int `json:"parentId" gorm:"type:int;comment:涓婄骇id"` //涓婄骇id + CompanyId int `json:"companyId" gorm:"type:int"` //鍏徃id + //Company Company `json:"company" gorm:"foreignKey:CompanyId"` //鍏徃 + Type constvar.LocationType `json:"type" gorm:"type:int(11);comment:浣嶇疆绫诲瀷"` //浣嶇疆绫诲瀷 + CountFrequency int `json:"countFrequency" gorm:"type:tinyint;comment:鐩樼偣棰戠巼锛堝ぉ锛�"` //鐩樼偣棰戠巼锛堝ぉ锛� + IsScrapLocation bool `json:"isScrapLocation" gorm:"type:tinyint;comment:鏄惁鎶ュ簾浣嶇疆"` //鏄惁鎶ュ簾浣嶇疆 + IsReturnLocation bool `json:"isReturnLocation" gorm:"type:tinyint;comment:鏄惁閫�璐т綅缃�"` //鏄惁閫�璐т綅缃� + ReplenishLocation bool `json:"replenishLocation" gorm:"type:tinyint;comment:鏄惁琛ュ厖浣嶇疆"` //鏄惁琛ュ厖浣嶇疆 + ForceRemovalStrategy constvar.ForceRemovalStrategy `json:"forceRemovalStrategy" gorm:"type:tinyint;comment:涓嬫灦绛栫暐"` //涓嬫灦绛栫暐 + Notes string `json:"notes" gorm:"type:varchar(255);comment:澶栭儴澶囨敞"` //澶栭儴澶囨敞 + 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 + Order string + PageNum int + PageSize int + Keyword string + Orm *gorm.DB + Preload bool + JointNames []string + Ids []int } ) func (slf *Location) TableName() string { - return "location" + return "wms_location" } func NewLocationSearch() *LocationSearch { @@ -57,8 +65,23 @@ return slf } -func (slf *LocationSearch) SetID(id uint) *LocationSearch { - slf.ID = id +func (slf *LocationSearch) SetID(ID int) *LocationSearch { + slf.Id = ID + return slf +} + +func (slf *LocationSearch) SetIds(ids []int) *LocationSearch { + slf.Ids = ids + return slf +} + +func (slf *LocationSearch) SetJointName(code string) *LocationSearch { + slf.JointName = code + return slf +} + +func (slf *LocationSearch) SetJointNames(codes []string) *LocationSearch { + slf.JointNames = codes return slf } @@ -77,11 +100,35 @@ return slf } -func (slf *LocationSearch) build() *gorm.DB { - var db = slf.Orm.Model(&Location{}) +func (slf *LocationSearch) SetType(_type int) *LocationSearch { + slf.Type = constvar.LocationType(_type) + return slf +} - if slf.ID != 0 { - db = db.Where("id = ?", slf.ID) +func (slf *LocationSearch) SetParentId(parentId int) *LocationSearch { + slf.ParentId = parentId + return slf +} + +func (slf *LocationSearch) SetCompanyId(companyId int) *LocationSearch { + slf.CompanyId = companyId + return slf +} + +func (slf *LocationSearch) SetIsScrapLocation(isScrapLocation bool) *LocationSearch { + slf.IsScrapLocation = isScrapLocation + 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 != "" { @@ -96,6 +143,27 @@ db = db.Where("name = ?", slf.Name) } + if slf.Type != 0 { + db = db.Where("type=?", slf.Type) + } + + if slf.ParentId > 0 { + db = db.Where("parent_id=?", slf.ParentId) + } + if slf.CompanyId != 0 { + db = db.Where("company_id=?", slf.CompanyId) + } + if 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) + } + return db } @@ -108,6 +176,16 @@ } return nil +} + +func (slf *LocationSearch) CreateReturnId(record *Location) (int, error) { + var db = slf.build() + + if err := db.Create(record).Error; err != nil { + return 0, err + } + + return record.Id, nil } // CreateBatch 鎵归噺鎻掑叆 @@ -157,7 +235,7 @@ func (slf *LocationSearch) Delete() error { var db = slf.build() - return db.Delete(&Location{}).Error + return db.Unscoped().Delete(&Location{}).Error } func (slf *LocationSearch) First() (*Location, error) { @@ -246,3 +324,40 @@ return records, nil } + +func (slf *LocationSearch) FindAll() ([]*Location, error) { + var ( + records = make([]*Location, 0) + db = slf.build() + ) + 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: "鎶ュ簾浣嶇疆", IsScrapLocation: true}) + locations = append(locations, &Location{Name: "搴撳瓨鐩樼偣", Type: 9, JointName: "搴撳瓨鐩樼偣"}) + return slf.CreateBatch(locations) +} -- Gitblit v1.8.0