From fcc5eaccffbbd0980077cf3fc4707566546f879a Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 17 八月 2023 17:31:18 +0800 Subject: [PATCH] 增加plc pkg, 增加获取任务,完成任务,开始任务接口 --- api/v1/task.go | 111 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 89 insertions(+), 22 deletions(-) diff --git a/api/v1/task.go b/api/v1/task.go index 196ee69..cc746f2 100644 --- a/api/v1/task.go +++ b/api/v1/task.go @@ -1,47 +1,114 @@ package v1 import ( - "apsClient/model/request" + "apsClient/model" _ "apsClient/model/response" "apsClient/pkg/contextx" + "apsClient/pkg/convertx" "apsClient/pkg/ecode" + "apsClient/pkg/logx" "apsClient/service" - "encoding/json" "github.com/gin-gonic/gin" ) type TaskApi struct{} -// TaskList -// @Tags Base -// @Summary 浠诲姟寮�鍚�氱煡 +// TaskGet +// @Tags Task +// @Summary 鑾峰彇浠诲姟 // @Produce application/json -// @Param object query request.TaskList true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{data=[]model.ScheduleTask} "鎴愬姛" -// @Router /v1/task/list [get] -func (slf *TaskApi) TaskList(c *gin.Context) { - var params request.TaskList - ctx, ok := contextx.NewContext(c, ¶ms) +// @Success 200 {object} contextx.Response{data=response.TaskData} "鎴愬姛" +// @Router /v1/task/get [get] +func (slf *TaskApi) TaskGet(c *gin.Context) { + ctx, ok := contextx.NewContext(c, nil) if !ok { return } - taskList, total, code := service.NewTaskService().GetTaskList(params.Page, params.PageSize) + taskData, code := service.NewTaskService().GetTask() if code != ecode.OK { ctx.Fail(code) return } + ctx.OkWithDetailed(taskData) +} - for _, task := range taskList { - if task.Data != "" { - err := json.Unmarshal([]byte(task.Data), &task.TaskInfo) - if err != nil { - ctx.Fail(ecode.UnknownErr) - return - } - } - +// TaskStart +// @Tags Base +// @Summary 浠诲姟寮�濮� +// @Produce application/json +// @Param id path int true "宸ュ簭id" +// @Success 200 {object} contextx.Response{service.GetProcessModel} "鎴愬姛" +// @Router /v1/task/start/{id} [get] +func (slf *TaskApi) TaskStart(c *gin.Context) { + ctx, ok := contextx.NewContext(c, nil) + if !ok { + return + } + idx := c.Param("id") + if idx == "" { + ctx.Fail(ecode.ParamsErr) + return + } + id := convertx.Atoi(idx) + procedure, code := service.NewTaskService().GetProcedureById(id) + if code != ecode.OK { + ctx.Fail(code) + return + } + order, err := service.NewTaskService().GetOrderByOrderId(procedure.OrderID) + if err != nil { + ctx.Fail(ecode.UnknownErr) + return } - ctx.ResultList(taskList, total) + params := service.GetProcessModelParams{ + WorkOrder: "", + OrderId: procedure.OrderID, + Product: order.ProductName, + Procedure: procedure.ProceduresInfo.ProcedureName, + Device: procedure.ProceduresInfo.DeviceID, + } + + resp, err := service.ProcessModel{}.GetProcessModel(params) + + if err != nil { + logx.Errorf("TaskStart Notice GetProcessModel error: %v", err.Error()) + ctx.Fail(ecode.UnknownErr) + return + } + logx.Infof("TaskStart Notice GetProcessModel: %+v", resp) + ctx.OkWithDetailed(resp) +} + +// TaskFinish +// @Tags Base +// @Summary 浠诲姟缁撴潫 +// @Produce application/json +// @Param id path int true "宸ュ簭id" +// @Success 200 {object} contextx.Response{service.GetProcessModel} "鎴愬姛" +// @Router /v1/task/finish/{id} [put] +func (slf *TaskApi) TaskFinish(c *gin.Context) { + ctx, ok := contextx.NewContext(c, nil) + if !ok { + return + } + idx := c.Param("id") + if idx == "" { + ctx.Fail(ecode.ParamsErr) + return + } + id := convertx.Atoi(idx) + _, code := service.NewTaskService().GetProcedureById(id) + if code != ecode.OK { + ctx.Fail(code) + return + } + err := service.NewTaskService().UpdateProcedureStatus(id, model.ProcedureStatusFinished) + if err != nil { + logx.Errorf("UpdateProcedureStatus err: %v", err.Error()) + ctx.Fail(ecode.UnknownErr) + return + } + ctx.Ok() } -- Gitblit v1.8.0