| | |
| | | params.PageSize = channelAmount |
| | | } |
| | | |
| | | taskResponse, code := service.NewTaskService().GetTask(params.Page, params.PageSize, service.TaskModeCurrent, nil) //取进行中的或未开始的 |
| | | taskMode := constvar.TaskModeCurrent |
| | | if params.TaskMode == constvar.TaskModeUnStarted { |
| | | taskMode = params.TaskMode |
| | | } |
| | | |
| | | taskResponse, code := service.NewTaskService().GetTask(params.Page, params.PageSize, taskMode, nil) //取进行中的或未开始的 |
| | | if code != ecode.OK { |
| | | ctx.Fail(code) |
| | | return |
| | | } |
| | | |
| | | if len(taskResponse.Tasks) < channelAmount { |
| | | if len(taskResponse.Tasks) < channelAmount && taskMode == constvar.TaskModeCurrent { |
| | | var existsChannel = make(map[int32]bool, channelAmount) |
| | | for _, task := range taskResponse.Tasks { |
| | | existsChannel[task.Channel] = true |
| | |
| | | if existsChannel[int32(i)] { |
| | | continue |
| | | } |
| | | taskResponseTemp, code := service.NewTaskService().GetTask(params.Page, 1, service.TaskModeLastFinished, []int32{int32(i)}) //取上一个完成的 |
| | | taskResponseTemp, code := service.NewTaskService().GetTask(params.Page, 1, constvar.TaskModeLastFinished, []int32{int32(i)}) //取上一个完成的 |
| | | if code != ecode.OK { |
| | | ctx.Fail(code) |
| | | return |
| | |
| | | }) |
| | | |
| | | for _, task := range taskResponse.Tasks { |
| | | if task.Procedure.Status == model.ProcedureStatusWaitProcess { |
| | | if !service.TaskFlagGet(task.Channel) { |
| | | task.CanStarted = true |
| | | } |
| | | } |
| | |
| | | taskResponse.Prompt = conf.Conf.Prompt |
| | | taskResponse.ChannelAmount = channelAmount |
| | | |
| | | ctx.OkWithDetailed(taskResponse) |
| | | } |
| | | |
| | | // TaskGetUnStarted |
| | | // @Tags Task |
| | | // @Summary 获取未开始的任务 |
| | | // @Produce application/json |
| | | // @Param object query request.TaskList true "查询参数" |
| | | // @Success 200 {object} contextx.Response{data=response.TaskData} "成功" |
| | | // @Router /v1/task/get/unStarted [get] |
| | | func (slf *TaskApi) TaskGetUnStarted(c *gin.Context) { |
| | | var params request.TaskList |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | if params.Page <= 0 { |
| | | params.Page = 1 |
| | | } |
| | | if params.PageSize <= 0 { |
| | | params.PageSize = 100 |
| | | } |
| | | |
| | | taskResponse, code := service.NewTaskService().GetTask(params.Page, params.PageSize, service.TaskModeUnStarted, nil) //时间到了未开始的 |
| | | if code != ecode.OK { |
| | | ctx.Fail(code) |
| | | return |
| | | } |
| | | ctx.OkWithDetailed(taskResponse) |
| | | } |
| | | |
| | |
| | | logx.Errorf("send task status update msg error:%v", err.Error()) |
| | | } |
| | | |
| | | service.TaskFlagUnset(procedure.Channel) |
| | | |
| | | ctx.Ok() |
| | | } |
| | | |
| | |
| | | ctx.Ok() |
| | | return |
| | | } |
| | | |
| | | processModel, err := taskService.GetProcessParams(procedure, order) |
| | | if err != nil || processModel == nil || processModel.ParamsMap == nil { |
| | | ctx.Fail(ecode.UnknownErr) |
| | |
| | | }) |
| | | if err != nil { |
| | | logx.Errorf("SendProcessParams update order and procedure status error:%v", err.Error()) |
| | | ctx.FailWithMsg(ecode.NeedConfirmedErr, "更改工单状态失败") |
| | | ctx.FailWithMsg(ecode.DBErr, "更改工单状态失败") |
| | | return |
| | | } |
| | | plcConfig, code := service.NewDevicePlcService().GetDevicePlc() |
| | |
| | | plcConfig.CurrentTryTimes = 0 |
| | | err = service.PlcWrite(plcConfig, constvar.PlcStartAddressTypeTotalNumber, params.Channel, order.Amount.IntPart()) |
| | | if err != nil { |
| | | ctx.FailWithMsg(ecode.NeedConfirmedErr, "糟糕,工艺下发失败。") |
| | | ctx.FailWithMsg(ecode.NeedConfirmedErr, "PLC请求失败,请检查PLC配置") |
| | | return |
| | | } |
| | | |
| | |
| | | if err != nil { |
| | | logx.Errorf("send task status update msg error:%v", err.Error()) |
| | | } |
| | | |
| | | service.TaskFlagSet(procedure.Channel) |
| | | ctx.Ok() |
| | | } |
| | | |