From 3f1ef5cdf9212f912e9cad544387947d158f5d08 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 14 九月 2023 19:26:49 +0800
Subject: [PATCH] 增加plc连接状态

---
 api/v1/plc.go            |   21 +++++++++++++++++++++
 model/response/common.go |    1 +
 docs/swagger.yaml        |   10 +++++-----
 docs/docs.go             |   14 +++++++-------
 docs/swagger.json        |   14 +++++++-------
 5 files changed, 41 insertions(+), 19 deletions(-)

diff --git a/api/v1/plc.go b/api/v1/plc.go
index 7fdf89d..3ed79a8 100644
--- a/api/v1/plc.go
+++ b/api/v1/plc.go
@@ -6,7 +6,10 @@
 	"apsClient/model/response"
 	_ "apsClient/model/response"
 	"apsClient/pkg/contextx"
+	"apsClient/pkg/ecode"
+	"apsClient/pkg/plc"
 	"apsClient/service"
+	"fmt"
 	"github.com/gin-gonic/gin"
 	"github.com/spf13/cast"
 )
@@ -31,6 +34,24 @@
 	resp := new(response.ProductProgress)
 	resp.FinishNumber = cast.ToInt(finishNumber)
 	resp.TotalNumber = cast.ToInt(totalNumber)
+
+	plcConfig, code := service.NewDevicePlcService().GetDevicePlc()
+	if code != ecode.OK {
+		return
+	}
+	plcStatus := 1 //鏂紑杩炴帴
+	ipAddr := fmt.Sprintf("%s:%v", plcConfig.Address, plcConfig.Port)
+
+	conn, err := plc.GetModbusConnection(ipAddr)
+	if err == nil && conn.IsConnected() {
+		if resp.FinishNumber > 0 { //鐢熶骇
+			plcStatus = 2
+		} else { //寰呮満
+			plcStatus = 3
+		}
+	}
+	resp.PlcStatus = plcStatus
+
 	ctx.OkWithDetailed(resp)
 }
 
diff --git a/docs/docs.go b/docs/docs.go
index ab10e06..dc275bb 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -707,6 +707,10 @@
                     "description": "鏁版嵁闀垮害",
                     "type": "integer"
                 },
+                "position": {
+                    "description": "鏁版嵁璧峰鍦板潃",
+                    "type": "integer"
+                },
                 "startAddress": {
                     "description": "鏁版嵁璧峰鍦板潃",
                     "type": "integer"
@@ -1014,6 +1018,9 @@
                 "finishNumber": {
                     "type": "integer"
                 },
+                "plcStatus": {
+                    "type": "integer"
+                },
                 "totalNumber": {
                     "type": "integer"
                 }
@@ -1057,13 +1064,6 @@
                 },
                 "procedure": {
                     "$ref": "#/definitions/model.Procedures"
-                },
-                "workers": {
-                    "description": "浜哄憳鍒楄〃",
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/common.ProcedureWorker"
-                    }
                 }
             }
         }
diff --git a/docs/swagger.json b/docs/swagger.json
index a946339..3566fd0 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -695,6 +695,10 @@
                     "description": "鏁版嵁闀垮害",
                     "type": "integer"
                 },
+                "position": {
+                    "description": "鏁版嵁璧峰鍦板潃",
+                    "type": "integer"
+                },
                 "startAddress": {
                     "description": "鏁版嵁璧峰鍦板潃",
                     "type": "integer"
@@ -1002,6 +1006,9 @@
                 "finishNumber": {
                     "type": "integer"
                 },
+                "plcStatus": {
+                    "type": "integer"
+                },
                 "totalNumber": {
                     "type": "integer"
                 }
@@ -1045,13 +1052,6 @@
                 },
                 "procedure": {
                     "$ref": "#/definitions/model.Procedures"
-                },
-                "workers": {
-                    "description": "浜哄憳鍒楄〃",
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/common.ProcedureWorker"
-                    }
                 }
             }
         }
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index a6908c8..fa76802 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -134,6 +134,9 @@
       length:
         description: 鏁版嵁闀垮害
         type: integer
+      position:
+        description: 鏁版嵁璧峰鍦板潃
+        type: integer
       startAddress:
         description: 鏁版嵁璧峰鍦板潃
         type: integer
@@ -342,6 +345,8 @@
     properties:
       finishNumber:
         type: integer
+      plcStatus:
+        type: integer
       totalNumber:
         type: integer
     type: object
@@ -372,11 +377,6 @@
         type: integer
       procedure:
         $ref: '#/definitions/model.Procedures'
-      workers:
-        description: 浜哄憳鍒楄〃
-        items:
-          $ref: '#/definitions/common.ProcedureWorker'
-        type: array
     type: object
 info:
   contact: {}
diff --git a/model/response/common.go b/model/response/common.go
index 39b65be..788dd40 100644
--- a/model/response/common.go
+++ b/model/response/common.go
@@ -52,6 +52,7 @@
 type ProductProgress struct {
 	FinishNumber int `json:"finishNumber"`
 	TotalNumber  int `json:"totalNumber"`
+	PlcStatus    int `json:"plcStatus"`
 }
 
 type TaskCountdown struct {

--
Gitblit v1.8.0