From 4a554a55e9b16b5723d54452d996984990e05efc Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 30 十一月 2023 21:22:22 +0800 Subject: [PATCH] 重构生产进度存储和同步 --- service/task.go | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) diff --git a/service/task.go b/service/task.go index 323add1..66bf691 100644 --- a/service/task.go +++ b/service/task.go @@ -132,6 +132,18 @@ return procedure, ecode.OK } +func (slf TaskService) GetProcedureAndWorkOrder(procedureId uint) (procedure *model.Procedures, workOrder *model.Order, err error) { + procedure, err = model.NewProceduresSearch(nil).SetId(procedureId).First() + if err != nil { + return nil, nil, err + } + workOrder, err = model.NewOrderSearch(nil).SetWorkOrderId(procedure.WorkOrderID).First() + if err != nil { + return nil, nil, err + } + return procedure, workOrder, nil +} + func (slf TaskService) UpdateProcedureStatusAndChannel(db *gorm.DB, id uint, status model.ProcedureStatus, channel int32, processModelNumber string) error { if status == model.ProcedureStatusFinished || status == model.ProcedureStatusWaitProcess { ProgressCacheUnset(conf.Conf.CurrentDeviceID, channel) @@ -194,6 +206,14 @@ // SaveTaskStatusSync 淇濆瓨浠诲姟鍚屾淇℃伅 func (slf TaskService) SaveTaskStatusSync(db *gorm.DB, record *model.TaskStatusSync) (err error) { + if record.IsProcessing { + record.StartTs = time.Now().Unix() + } + if record.IsFinish { + record.FinishTs = time.Now().Unix() + startedRecord, _ := model.NewTaskStatusSyncSearch(db).SetProductProcedureId(record.ProductProcedureID).SetWorkOrderId(record.WorkOrderId).First() + record.StartTs = startedRecord.StartTs + } return model.NewTaskStatusSyncSearch(db).Create(record) } -- Gitblit v1.8.0