From 799a22cda35de94ad5658aa6283f1d80db132ba4 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期二, 05 九月 2023 17:09:51 +0800 Subject: [PATCH] fix todo --- model/work_order.go | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/model/work_order.go b/model/work_order.go index ed4ca40..c6567b3 100644 --- a/model/work_order.go +++ b/model/work_order.go @@ -33,18 +33,21 @@ 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 { - return "Order" + return "work_order" } func NewOrderSearch(db *gorm.DB) *OrderSearch { @@ -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