wms-be/modules/zona/query/zona_query.go

33 lines
798 B
Go

package query
import "gorm.io/gorm"
type ZonaFilter struct {
Name string `form:"name"`
Code string `form:"code"`
Type string `form:"type"`
WarehouseID string `form:"warehouse_id"`
ClientID string `form:"client_id"`
PerPage int `form:"per_page"`
Page int `form:"page"`
}
func ApplyZonaFilters(db *gorm.DB, filter ZonaFilter) *gorm.DB {
if filter.Name != "" {
db = db.Where("name ILIKE ?", "%"+filter.Name+"%")
}
if filter.Code != "" {
db = db.Where("code ILIKE ?", "%"+filter.Code+"%")
}
if filter.Type != "" {
db = db.Where("type = ?", filter.Type)
}
if filter.WarehouseID != "" {
db = db.Where("warehouse_id = ?", filter.WarehouseID)
}
if filter.ClientID != "" {
db = db.Where("client_id = ?", filter.ClientID)
}
return db
}