From 3a1d4cc4ddfe02942e5c8dee0b2187cf758f3bde Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期六, 23 九月 2023 16:48:06 +0800
Subject: [PATCH] 按通道数量给前端返回任务数

---
 service/device_plc.go |   14 +++++++++++++-
 api/v1/task.go        |   12 +++++++++---
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/api/v1/task.go b/api/v1/task.go
index 2a15943..81547c1 100644
--- a/api/v1/task.go
+++ b/api/v1/task.go
@@ -59,13 +59,19 @@
 	if !ok {
 		return
 	}
+
+	channelAmount, err := service.NewDevicePlcService().GetDeviceChannelAmount()
+	if err != nil {
+		ctx.FailWithMsg(ecode.NeedConfirmedErr, err.Error())
+		return
+	}
+
 	if params.Page <= 0 {
 		params.Page = 1
 	}
-	if params.PageSize <= 0 {
-		params.PageSize = 1
-	}
 
+	params.PageSize = channelAmount
+	
 	taskResponse, code := service.NewTaskService().GetTask(params.Page, params.PageSize, service.TaskModeCurrent) //鍙栬繘琛屼腑鐨勬垨鏈紑濮嬬殑
 	if code != ecode.OK {
 		ctx.Fail(code)
diff --git a/service/device_plc.go b/service/device_plc.go
index db1fd71..2cac8b6 100644
--- a/service/device_plc.go
+++ b/service/device_plc.go
@@ -7,6 +7,7 @@
 	"apsClient/pkg/logx"
 	"apsClient/pkg/structx"
 	"encoding/json"
+	"errors"
 	"gorm.io/gorm"
 )
 
@@ -16,7 +17,7 @@
 	return DevicePlcService{}
 }
 
-func (DevicePlcService) GetDevicePlc() (*model.DevicePlc, int) {
+func (slf DevicePlcService) GetDevicePlc() (*model.DevicePlc, int) {
 	DevicePlc, err := model.NewDevicePlcSearch().SetOrder("id desc").First()
 	if err == gorm.ErrRecordNotFound {
 		return &model.DevicePlc{
@@ -39,6 +40,17 @@
 	return DevicePlc, ecode.OK
 }
 
+func (slf DevicePlcService) GetDeviceChannelAmount() (int, error) {
+	plcConfig, code := slf.GetDevicePlc()
+	if code != ecode.OK || plcConfig.Id == 0 {
+		return 0, errors.New("璇峰厛閰嶇疆PLC")
+	}
+	if len(plcConfig.Details) == 0 {
+		return 0, errors.New("璇峰厛閰嶇疆PLC")
+	}
+	return len(plcConfig.Details) / 2, nil
+}
+
 func (DevicePlcService) UpdateDevicePlc(plc *request.UpdatePlc) int {
 	var record model.DevicePlc
 	err := structx.AssignTo(plc, &record)

--
Gitblit v1.8.0