From 44a78f184ca10fba46df2567496895e179d4ac6c Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期日, 08 十月 2023 11:47:47 +0800
Subject: [PATCH] 增加更新工艺参数接口
---
router/index.go | 11 ++-
docs/swagger.yaml | 25 ++++++--
docs/docs.go | 39 ++++++++++---
api/v1/task.go | 58 +++++++++++++++++-
docs/swagger.json | 39 ++++++++++---
5 files changed, 138 insertions(+), 34 deletions(-)
diff --git a/api/v1/task.go b/api/v1/task.go
index 0da5a0c..44aa2fb 100644
--- a/api/v1/task.go
+++ b/api/v1/task.go
@@ -279,7 +279,7 @@
}
processModel, err := taskService.GetProcessParams(procedure, order)
if err != nil || processModel == nil || processModel.ParamsMap == nil {
- ctx.Fail(ecode.UnknownErr)
+ ctx.FailWithMsg(ecode.ParamsErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒")
return
}
@@ -324,10 +324,6 @@
ctx.FailWithMsg(ecode.NeedConfirmedErr, "PLC璇锋眰澶辫触锛岃妫�鏌LC閰嶇疆锛�")
return
}
- if code != ecode.OK {
- logx.Errorf("get plcConfig err: %v", err.Error())
- return
- }
plcConfig.CurrentTryTimes = 0
err = service.PlcWrite(plcConfig, constvar.PlcStartAddressTypeTotalNumber, params.Channel, order.Amount.IntPart())
if err != nil {
@@ -352,6 +348,58 @@
ctx.Ok()
}
+// UpdateProcessParams
+// @Tags Task
+// @Summary 鏇存柊宸ヨ壓鍙傛暟锛堣繘琛屼腑鐨勪换鍔★級
+// @Produce application/json
+// @Param object body request.SendProcessParams true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{} "鎴愬姛"
+// @Router /v1/task/updateProcessParams [post]
+func (slf *TaskApi) UpdateProcessParams(c *gin.Context) {
+ mutex.Lock()
+ defer mutex.Unlock()
+ var params request.SendProcessParams
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+ taskService := service.NewTaskService()
+ procedure, code := taskService.GetProcedureById(params.ProcedureId)
+ if code != ecode.OK {
+ ctx.Fail(code)
+ return
+ }
+ order, err := taskService.GetOrderByWorkOrderId(procedure.WorkOrderID)
+ if err != nil {
+ ctx.Fail(ecode.UnknownErr)
+ return
+ }
+
+ if procedure.Status != model.ProcedureStatusProcessing { //鍙兘杩涜涓殑鍙互鏇存柊
+ ctx.FailWithMsg(ecode.ParamsErr, "鍙兘杩涜涓殑宸ュ簭鍙互鏇存柊宸ヨ壓鍙傛暟")
+ return
+ }
+ processModel, err := taskService.GetProcessParams(procedure, order)
+ if err != nil || processModel == nil || processModel.ParamsMap == nil {
+ ctx.FailWithMsg(ecode.ParamsErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒")
+ return
+ }
+
+ plcConfig, code := service.NewDevicePlcService().GetDevicePlc()
+ if code != ecode.OK || plcConfig.Id == 0 {
+ ctx.FailWithMsg(ecode.NeedConfirmedErr, "璇峰厛閰嶇疆PLC")
+ return
+ }
+ plcConfig.MaxTryTimes = 2
+ err = SendParams(processModel.ParamsMap, plcConfig)
+ if err != nil {
+ logx.Errorf("update process params err: %v", err.Error())
+ ctx.FailWithMsg(ecode.NeedConfirmedErr, "PLC璇锋眰澶辫触锛岃妫�鏌LC閰嶇疆锛�")
+ return
+ }
+ ctx.Ok()
+}
+
func SendParams(paramsMap map[string]interface{}, plcConfig *model.DevicePlc) error {
if len(paramsMap) == 0 {
return errors.New("empty params")
diff --git a/docs/docs.go b/docs/docs.go
index 1ad485b..aea2cf6 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -618,6 +618,36 @@
}
}
}
+ },
+ "/v1/task/updateProcessParams": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "Task"
+ ],
+ "summary": "鏇存柊宸ヨ壓鍙傛暟锛堣繘琛屼腑鐨勪换鍔★級",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.SendProcessParams"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -1132,15 +1162,6 @@
},
"data": {},
"msg": {
- "type": "string"
- }
- }
- },
- "response.Message": {
- "type": "object",
- "properties": {
- "data": {},
- "event": {
"type": "string"
}
}
diff --git a/docs/swagger.json b/docs/swagger.json
index 03ce549..ba7deaf 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -606,6 +606,36 @@
}
}
}
+ },
+ "/v1/task/updateProcessParams": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "Task"
+ ],
+ "summary": "鏇存柊宸ヨ壓鍙傛暟锛堣繘琛屼腑鐨勪换鍔★級",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.SendProcessParams"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "鎴愬姛",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -1120,15 +1150,6 @@
},
"data": {},
"msg": {
- "type": "string"
- }
- }
- },
- "response.Message": {
- "type": "object",
- "properties": {
- "data": {},
- "event": {
"type": "string"
}
}
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index b73d1c3..80c87ea 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -354,12 +354,6 @@
msg:
type: string
type: object
- response.Message:
- properties:
- data: {}
- event:
- type: string
- type: object
response.ProcessParams:
properties:
key:
@@ -802,4 +796,23 @@
summary: 浠诲姟寮�濮嬶紙鑾峰彇宸ヨ壓鍙傛暟锛�
tags:
- Task
+ /v1/task/updateProcessParams:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.SendProcessParams'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: 鎴愬姛
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鏇存柊宸ヨ壓鍙傛暟锛堣繘琛屼腑鐨勪换鍔★級
+ tags:
+ - Task
swagger: "2.0"
diff --git a/router/index.go b/router/index.go
index ce53646..92ffba9 100644
--- a/router/index.go
+++ b/router/index.go
@@ -35,11 +35,12 @@
taskApi := new(v1.TaskApi)
taskGroup := v1Group.Group("task")
{
- taskGroup.GET("countdown", taskApi.TaskCountdown) // 鏂颁换鍔″�掕鏃�
- taskGroup.GET("get", taskApi.TaskGet) // 鑾峰彇宸ュ簭
- taskGroup.GET("start/:id", taskApi.GetProcessParams) // 鑾峰彇宸ヨ壓鍙傛暟
- taskGroup.POST("sendProcessParams", taskApi.TaskStart) // 涓嬪彂宸ヨ壓鍙傛暟骞跺紑濮嬪伐搴�
- taskGroup.PUT("finish/:id", taskApi.TaskFinish) // 瀹屾垚宸ュ簭
+ taskGroup.GET("countdown", taskApi.TaskCountdown) // 鏂颁换鍔″�掕鏃�
+ taskGroup.GET("get", taskApi.TaskGet) // 鑾峰彇宸ュ簭
+ taskGroup.GET("start/:id", taskApi.GetProcessParams) // 鑾峰彇宸ヨ壓鍙傛暟
+ taskGroup.POST("sendProcessParams", taskApi.TaskStart) // 涓嬪彂宸ヨ壓鍙傛暟骞跺紑濮嬪伐搴�
+ taskGroup.POST("updateProcessParams", taskApi.UpdateProcessParams) // 鏇存柊宸ヨ壓鍙傛暟
+ taskGroup.PUT("finish/:id", taskApi.TaskFinish) // 瀹屾垚宸ュ簭
}
configApi := new(v1.ConfigApi)
--
Gitblit v1.8.0