From 1c31947fd6902b570e3b9ac9eaab8ad9de58ee19 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期六, 02 九月 2023 15:23:41 +0800 Subject: [PATCH] 获取任务逻辑调整,只获取本设备的工序,由工序反推订单 --- model/procedures.go | 65 ++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 20 deletions(-) diff --git a/model/procedures.go b/model/procedures.go index 245f2e4..b15cc0c 100644 --- a/model/procedures.go +++ b/model/procedures.go @@ -1,7 +1,7 @@ package model import ( - "apsClient/model/request" + "apsClient/model/common" "apsClient/pkg/logx" "apsClient/pkg/sqlitex" "encoding/json" @@ -12,11 +12,15 @@ type ( Procedures struct { gorm.Model `json:"-"` - ID int `gorm:"primarykey"` - OrderID string `gorm:"index;type:varchar(191);not null;comment:璁㈠崟ID" json:"-"` - Status ProcedureStatus `json:"-"` - ProcedureData string `json:"-"` //request.ProductProcedure json涓� - ProceduresInfo request.ProductProcedure `json:"procedure" gorm:"-"` //request.ProductProcedure 瀵硅薄 + ID int `gorm:"primarykey"` + WorkOrderID string `gorm:"index;type:varchar(191);not null;comment:宸ュ崟ID" json:"-"` + OrderID string `gorm:"index;type:varchar(191);not null;comment:璁㈠崟ID" json:"-"` + DeviceID string `gorm:"index;type:varchar(191);comment:璁惧ID" json:"deviceId"` + StartTime int64 `gorm:"comment:璁″垝寮�濮嬫椂闂�" json:"startTime"` + EndTime int64 `gorm:"comment:璁″垝缁撴潫鏃堕棿" json:"endTime"` + Status ProcedureStatus + ProcedureData string `json:"-"` //common.ProductProcedure json涓� + ProceduresInfo common.ProductProcedure `json:"procedure" gorm:"-"` //common.ProductProcedure 瀵硅薄 } ProceduresSearch struct { @@ -26,28 +30,31 @@ PageSize int Orm *gorm.DB Preload bool - StartTimeMin int64 + StartTimeMax int64 + StatusNot ProcedureStatus } ) type ProcedureStatus int const ( - ProcedureStatusUnFinished ProcedureStatus = 1 - ProcedureStatusFinished ProcedureStatus = 2 + ProcedureStatusWaitProcess ProcedureStatus = 1 + ProcedureStatusProcessing ProcedureStatus = 2 + ProcedureStatusFinished ProcedureStatus = 3 ) func (slf *Procedures) TableName() string { return "procedures" } -func (slf *Procedures) AfterFind() { - var proceduresInfo request.ProductProcedure +func (slf *Procedures) AfterFind(db *gorm.DB) error { + var proceduresInfo common.ProductProcedure err := json.Unmarshal([]byte(slf.ProcedureData), &proceduresInfo) if err != nil { logx.Errorf("AfterFind Unmarshal err: %v", err.Error()) - return + return err } slf.ProceduresInfo = proceduresInfo + return nil } func NewProceduresSearch(db *gorm.DB) *ProceduresSearch { @@ -72,12 +79,12 @@ return slf } -func (slf *ProceduresSearch) SetOrderId(orderId string) *ProceduresSearch { - slf.OrderID = orderId +func (slf *ProceduresSearch) SetWorkOrderId(orderId string) *ProceduresSearch { + slf.WorkOrderID = orderId return slf } -func (slf *ProceduresSearch) SetStartTimeMin(ts int64) *ProceduresSearch { - slf.StartTimeMin = ts +func (slf *ProceduresSearch) SetStartTimeMax(ts int64) *ProceduresSearch { + slf.StartTimeMax = ts return slf } @@ -86,8 +93,18 @@ return slf } +func (slf *ProceduresSearch) SetDeviceId(id string) *ProceduresSearch { + slf.DeviceID = id + return slf +} + func (slf *ProceduresSearch) SetStatus(status ProcedureStatus) *ProceduresSearch { slf.Status = status + return slf +} + +func (slf *ProceduresSearch) SetStatusNot(status ProcedureStatus) *ProceduresSearch { + slf.StatusNot = status return slf } @@ -103,22 +120,30 @@ db = db.Order(slf.Order) } - if slf.OrderID != "" { - db = db.Where("order_id = ?", slf.OrderID) + if slf.ID != 0 { + db = db.Where("id = ?", slf.ID) + } + + if slf.WorkOrderID != "" { + db = db.Where("work_order_id = ?", slf.WorkOrderID) } if slf.Preload { db = db.Preload("InputMaterials").Preload("OutputMaterials") } - if slf.StartTimeMin != 0 { - db = db.Where("start_time >= ?", slf.StartTimeMin) + if slf.StartTimeMax != 0 { + db = db.Where("start_time <= ?", slf.StartTimeMax) } if slf.Status != 0 { db = db.Where("status = ?", slf.Status) } + if slf.StatusNot != 0 { + db = db.Where("status != ?", slf.StatusNot) + } + return db } -- Gitblit v1.8.0