From 8dfb8feb32bb5e4e460e23dcde42612a26fa2bcb Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期日, 27 八月 2023 01:11:28 +0800 Subject: [PATCH] fix --- model/work_order.go | 33 +++++++++++++++++++++++++++++++-- 1 files changed, 31 insertions(+), 2 deletions(-) diff --git a/model/work_order.go b/model/work_order.go index ed4ca40..b453d81 100644 --- a/model/work_order.go +++ b/model/work_order.go @@ -33,14 +33,17 @@ Orm *gorm.DB Preload bool StartTimeMax int64 + StartTimeMin int64 + StatusList []OrderStatus } ) type OrderStatus int const ( - OrderStatusUnFinished OrderStatus = 1 - OrderStatusFinished OrderStatus = 2 + OrderStatusWaitProcess OrderStatus = 1 + OrderStatusProcessing OrderStatus = 2 + OrderStatusFinished OrderStatus = 3 ) func (slf *Order) TableName() string { @@ -73,9 +76,18 @@ slf.StartTimeMax = ts return slf } +func (slf *OrderSearch) SetStartTimeMin(ts int64) *OrderSearch { + slf.StartTimeMin = ts + return slf +} func (slf *OrderSearch) SetStatus(status OrderStatus) *OrderSearch { slf.Status = status + return slf +} + +func (slf *OrderSearch) SetStatusList(statusList []OrderStatus) *OrderSearch { + slf.StatusList = statusList return slf } @@ -89,11 +101,20 @@ return slf } +func (slf *OrderSearch) SetId(id uint) *OrderSearch { + slf.ID = id + return slf +} + func (slf *OrderSearch) build() *gorm.DB { var db = slf.Orm.Model(&Order{}) if slf.OrderBy != "" { db = db.Order(slf.OrderBy) + } + + if slf.ID != 0 { + db = db.Where("id = ?", slf.ID) } if slf.WorkOrderID != "" { @@ -104,10 +125,18 @@ db = db.Where("status = ?", slf.Status) } + if len(slf.StatusList) != 0 { + db = db.Where("status in ?", slf.StatusList) + } + if slf.StartTimeMax != 0 { db = db.Where("start_time <= ?", slf.StartTimeMax) } + if slf.StartTimeMin != 0 { + db = db.Where("start_time >= ?", slf.StartTimeMin) + } + if slf.Preload { db = db.Preload("InputMaterials").Preload("OutputMaterials") } -- Gitblit v1.8.0