| | |
| | | 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"` |
| | | ProcedureID string `gorm:"index;type:varchar(191);comment:工序ID" json:"procedureId"` |
| | | StartTime int64 `gorm:"comment:计划开始时间" json:"startTime"` |
| | | EndTime int64 `gorm:"comment:计划结束时间" json:"endTime"` |
| | | Status ProcedureStatus |
| | |
| | | Orm *gorm.DB |
| | | Preload bool |
| | | StartTimeMax int64 |
| | | StatusNot ProcedureStatus |
| | | ProcedureIds []string |
| | | } |
| | | ) |
| | | |
| | | type ProcedureStatus int |
| | | |
| | | const ( |
| | | ProcedureStatusUnFinished ProcedureStatus = 1 |
| | | ProcedureStatusFinished ProcedureStatus = 2 |
| | | ProcedureStatusWaitProcess ProcedureStatus = 1 |
| | | ProcedureStatusProcessing ProcedureStatus = 2 |
| | | ProcedureStatusFinished ProcedureStatus = 3 |
| | | ) |
| | | |
| | | func (slf *Procedures) TableName() string { |
| | |
| | | slf.WorkOrderID = orderId |
| | | return slf |
| | | } |
| | | |
| | | func (slf *ProceduresSearch) SetProcedureId(id string) *ProceduresSearch { |
| | | slf.ProcedureID = id |
| | | return slf |
| | | } |
| | | |
| | | func (slf *ProceduresSearch) SetStartTimeMax(ts int64) *ProceduresSearch { |
| | | slf.StartTimeMax = ts |
| | | return slf |
| | |
| | | return slf |
| | | } |
| | | |
| | | func (slf *ProceduresSearch) SetProcedureIds(procedureIds []string) *ProceduresSearch { |
| | | slf.ProcedureIds = procedureIds |
| | | 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 |
| | | } |
| | | |
| | |
| | | db = db.Where("work_order_id = ?", slf.WorkOrderID) |
| | | } |
| | | |
| | | if slf.DeviceID != "" { |
| | | db = db.Where("device_id = ?", slf.DeviceID) |
| | | } |
| | | |
| | | if slf.Preload { |
| | | db = db.Preload("InputMaterials").Preload("OutputMaterials") |
| | | } |
| | |
| | | |
| | | if slf.Status != 0 { |
| | | db = db.Where("status = ?", slf.Status) |
| | | } |
| | | |
| | | if slf.StatusNot != 0 { |
| | | db = db.Where("status <> ?", slf.StatusNot) |
| | | } |
| | | |
| | | if len(slf.ProcedureIds) > 0 { |
| | | db = db.Where("procedure_id in ?", slf.ProcedureIds) |
| | | } |
| | | |
| | | if slf.ProcedureID != "" { |
| | | db = db.Where("procedure_id = ?", slf.ProcedureID) |
| | | } |
| | | |
| | | return db |
| | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *ProceduresSearch) Save(record *Procedures) error { |
| | | func (slf *ProceduresSearch) Updates(record *Procedures) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Save(record).Error; err != nil { |
| | | if err := db.Updates(record).Error; err != nil { |
| | | return fmt.Errorf("save err: %v, record: %+v", err, record) |
| | | } |
| | | |