From b7232e7c2b14c09e4de77182cb659fc16e6a563b Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期六, 25 十一月 2023 17:20:41 +0800 Subject: [PATCH] 没有plc时允许获取任务 --- service/device_plc.go | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/service/device_plc.go b/service/device_plc.go index 90c3e51..ecff338 100644 --- a/service/device_plc.go +++ b/service/device_plc.go @@ -1,13 +1,13 @@ package service import ( + "apsClient/conf" "apsClient/model" "apsClient/model/request" "apsClient/pkg/ecode" "apsClient/pkg/logx" "apsClient/pkg/structx" "encoding/json" - "errors" "github.com/jinzhu/gorm" ) @@ -18,21 +18,26 @@ } func (slf DevicePlcService) GetDevicePlc() (*model.DevicePlc, int) { - DevicePlc, err := model.NewDevicePlcSearch().SetOrder("id desc").First() + DevicePlc, err := model.NewDevicePlcSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First() if err == gorm.ErrRecordNotFound { + logx.Errorf("GetDevicePlc failed:%v", err) return &model.DevicePlc{ + DeviceID: "", Brand: "", Method: "", Address: "", Port: 0, BaudRate: 0, SerialName: "", + DataBit: 0, + StopBit: 0, + Parity: 0, IsOpen: false, - Detail: "", Details: make([]*model.DevicePlcAddress, 0), }, ecode.OK } if err != nil { + logx.Errorf("GetDevicePlc failed:%v", err) return nil, ecode.DBErr } @@ -42,10 +47,10 @@ func (slf DevicePlcService) GetDeviceChannelAmount() (int, error) { plcConfig, code := slf.GetDevicePlc() if code != ecode.OK || plcConfig.ID == 0 { - return 0, errors.New("鏈幏鍙栧埌PLC鍦板潃锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒") + return 1, nil } if len(plcConfig.Details) == 0 { - return 0, errors.New("鏈幏鍙栧埌PLC鍦板潃锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒") + return 1, nil } return len(plcConfig.Details) / 2, nil } @@ -63,11 +68,10 @@ return ecode.ParamsErr } record.Detail = string(detail) - - if plc.Id == 0 { + if record.ID == 0 { err = model.NewDevicePlcSearch().Create(&record) } else { - err = model.NewDevicePlcSearch().SetId(plc.Id).Save(&record) + err = model.NewDevicePlcSearch().Save(&record) } if err != nil { -- Gitblit v1.8.0