zhangqian
2023-12-08 84fb8e390b83dc9482524c12d7af6c93405c3fc1
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,12 +206,20 @@
// 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)
}
// GetTaskStatusSync 获取待同步任务信息
func (slf TaskService) GetTaskStatusSync(limit int) ([]*model.TaskStatusSync, error) {
   return model.NewTaskStatusSyncSearch(nil).SetOrder("id asc").SetPage(1, limit).FindNotTotal()
   return model.NewTaskStatusSyncSearch(nil).SetOrder("id asc").SetSyncWait().SetPage(1, limit).FindNotTotal()
}
// RemoveTaskStatusSync 删除同步完的记录
@@ -207,6 +227,11 @@
   return model.NewTaskStatusSyncSearch(nil).SetIDs(ids).Delete()
}
// FinishTaskStatusSync 设置已同步完成
func (slf TaskService) FinishTaskStatusSync(ids []uint) (err error) {
   return model.NewTaskStatusSyncSearch(nil).SetIDs(ids).UpdateByMap(map[string]interface{}{"sync_status": constvar.SyncStatusOk})
}
// GetTask2 获取任务列表2
func (slf TaskService) GetTask2(deviceID string, offset, limit int, channels []int32, queryType request.QueryType) (taskResp *response.TaskResponse, err error) {
   var taskList []*response.TaskData