zhangqian
2023-09-05 799a22cda35de94ad5658aa6283f1d80db132ba4
api/v1/task.go
@@ -1,9 +1,12 @@
package v1
import (
   "apsClient/conf"
   "apsClient/constvar"
   "apsClient/model"
   "apsClient/model/common"
   "apsClient/model/response"
   "apsClient/nsq"
   "apsClient/pkg/contextx"
   "apsClient/pkg/convertx"
   "apsClient/pkg/ecode"
@@ -32,7 +35,7 @@
      return
   }
   var resp response.TaskCountdown
   workOrder, err := service.NewTaskService().GetCurrentTask()
   workOrder, err := service.NewTaskService().GetNextTask()
   if err == nil {
      seconds := workOrder.StartTime - time.Now().Unix()
      resp.CountDownHour = seconds / 3600
@@ -130,7 +133,7 @@
      return
   }
   id := convertx.Atoi(idx)
   _, code := service.NewTaskService().GetProcedureById(id)
   procedure, code := service.NewTaskService().GetProcedureById(id)
   if code != ecode.OK {
      ctx.Fail(code)
      return
@@ -141,6 +144,21 @@
      ctx.Fail(ecode.UnknownErr)
      return
   }
   msg := &common.MsgTaskStatusUpdate{
      WorkOrderId:  procedure.WorkOrderID,
      ProcedureID:  procedure.ProceduresInfo.ProcedureID,
      DeviceId:     procedure.ProceduresInfo.DeviceID,
      IsProcessing: false,
      IsFinish:     true,
   }
   caller := nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicTaskProcedureStatusUpdate, conf.Conf.NsqConf.NodeId), "")
   err = caller.Send(msg)
   if err != nil {
      logx.Errorf("send task status update msg error:%v", err.Error())
   }
   ctx.Ok()
}
@@ -162,12 +180,13 @@
      return
   }
   id := convertx.Atoi(idx)
   procedure, code := service.NewTaskService().GetProcedureById(id)
   taskService := service.NewTaskService()
   procedure, code := taskService.GetProcedureById(id)
   if code != ecode.OK {
      ctx.Fail(code)
      return
   }
   order, err := service.NewTaskService().GetOrderByWorkOrderId(procedure.WorkOrderID)
   order, err := taskService.GetOrderByWorkOrderId(procedure.WorkOrderID)
   if err != nil {
      ctx.Fail(ecode.UnknownErr)
      return
@@ -178,22 +197,22 @@
      return
   }
   processModel, err := service.NewTaskService().GetProcessParams(procedure, order)
   processModel, err := taskService.GetProcessParams(procedure, order)
   if err != nil || processModel == nil || processModel.ParamsMap == nil {
      ctx.Fail(ecode.UnknownErr)
      return
   }
   err = model.WithTransaction(func(db *gorm.DB) error {
      err = service.NewTaskService().UpdateProcedureStatus(db, id, model.ProcedureStatusProcessing)
      err = taskService.UpdateProcedureStatus(db, id, model.ProcedureStatusProcessing)
      if err != nil {
         return err
      }
      err = service.NewTaskService().UpdateOrderStatus(db, order.ID, model.OrderStatusProcessing)
      err = taskService.UpdateOrderStatus(db, order.ID, model.OrderStatusProcessing)
      if err != nil {
         return err
      }
      return nil
      return service.NewProgressService().AddProgress(db, procedure, order)
   })
   if err != nil {
      logx.Errorf("SendProcessParams update order and procedure status error:%v", err.Error())
@@ -222,6 +241,21 @@
      ctx.FailWithMsg(ecode.NeedConfirmedErr, "糟糕,工艺下发失败。")
      return
   }
   msg := &common.MsgTaskStatusUpdate{
      WorkOrderId:  procedure.WorkOrderID,
      ProcedureID:  procedure.ProceduresInfo.ProcedureID,
      DeviceId:     procedure.ProceduresInfo.DeviceID,
      IsProcessing: true,
      IsFinish:     false,
   }
   caller := nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicTaskProcedureStatusUpdate, conf.Conf.NsqConf.NodeId), "")
   err = caller.Send(msg)
   if err != nil {
      logx.Errorf("send task status update msg error:%v", err.Error())
   }
   ctx.Ok()
}