1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package dao
- import (
- "server/global"
- )
- type StorageArea struct {
- global.GVA_MODEL
- Name string `json:"name" form:"name" gorm:"comment:库区名称"`
- Genre int `json:"genre" form:"genre" gorm:"comment:库区类型"`
- StorageAreaGenre StorageAreaGenre `json:"storageAreaGenre" form:"storageAreaGenre" gorm:"foreignKey:Genre;references:id;"`
- WarehouseId int `json:"warehouseId" form:"warehouseId" gorm:"comment:仓库"`
- Warehouse Warehouse `json:"warehouse" form:"warehouse" gorm:"foreignKey:WarehouseId;references:id;"`
- IsEffective bool `json:"isEffective" form:"isEffective" gorm:"comment:是否有效;default:0"`
- }
- func (StorageArea) TableName() string {
- return "storage_area"
- }
- func QueryAllStorageArea() (storageAreas []StorageArea, err error) {
- err = global.GVA_DB.Where("is_effective = true").Preload("StorageAreaGenre").Find(&storageAreas).Error
- return storageAreas, err
- }
- func QueryStorageAreaList(limit, offset, genre, warehouseId int, name string) (storageAreas []StorageArea, total int64, err error) {
- // 创建db
- db := global.GVA_DB.Model(&StorageArea{})
- // 如果有条件搜索 下方会自动创建搜索语句
- if genre != 0 {
- db = db.Where("genre = ?", genre)
- }
- if warehouseId != 0 {
- db = db.Where("warehouse_id = ?", warehouseId)
- }
- if name != "" {
- db = db.Where("name LIKE?", "%"+name+"%")
- }
- err = db.Count(&total).Error
- if err != nil {
- return
- }
- err = db.Order("id desc").Limit(limit).Offset(offset).Preload("Warehouse").Preload("StorageAreaGenre").Find(&storageAreas).Error
- return storageAreas, total, err
- }
- func (sa StorageArea) CreateStorageArea() error {
- return global.GVA_DB.Create(&sa).Error
- }
- func (sa StorageArea) UpdateStorageArea() error {
- return global.GVA_DB.Where("id = ?", sa.ID).Updates(&sa).Error
- }
- func (sa StorageArea) SwitchStorageArea() error {
- return global.GVA_DB.Select("is_effective").Where("id = ?", sa.ID).Updates(&sa).Error
- }
- func (sa StorageArea) DeleteStorageArea() error {
- return global.GVA_DB.Unscoped().Delete(&sa).Error
- }
|