From 8324f872ef3a4d0c978a9b1d062800c6a1701c12 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 01 十二月 2023 09:58:17 +0800 Subject: [PATCH] fix --- service/process_model.go | 41 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 38 insertions(+), 3 deletions(-) diff --git a/service/process_model.go b/service/process_model.go index c4ff7dd..ead4ebf 100644 --- a/service/process_model.go +++ b/service/process_model.go @@ -3,15 +3,50 @@ import ( "apsClient/conf" "apsClient/model" + "apsClient/pkg/logx" + "errors" ) -func GetProcessModelList(page, pageSize int) (list []*model.ProcessModel, total int64, err error) { - device, err := model.NewDeviceSearch().SetDeviceId(conf.Conf.System.DeviceId).First() +func GetProcessModelList(offset, limit int, product, procedure string) (list []*model.ProcessModel, total int64, err error) { + device, err := model.NewDeviceSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First() if err != nil { return } list, total, err = model.NewProcessModelSearch(). SetIsNew(true).SetOrder("id desc"). - SetPage(page, pageSize).SetProcedures(device.ProceduresArr).Find() + SetProduct(product).SetProcedure(procedure). + SetPage(offset, limit).SetProcedures(device.ProceduresArr).Find() return } + +func GetOtherProcessModelList(offset, limit int, product, procedure string) (list []*model.ProcessModel, total int64, err error) { + device, err := model.NewDeviceSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First() + if err != nil { + return + } + list, total, err = model.NewProcessModelSearch(). + SetIsNew(true).SetOrder("id desc"). + SetProductAndProcedureNot(product, procedure). + SetPage(offset, limit).SetProcedures(device.ProceduresArr).Find() + return +} + +func GetProcessModelByNumber(num string) (record *model.ProcessModel, err error) { + return model.NewProcessModelSearch().SetNumber(num).First() +} + +func GetProcessModelAddress(deviceID string) (addressMap map[string]int, err error) { + record, err := model.NewProcessModelPlcAddressSearch().SetDeviceID(deviceID).First() + if err != nil { + logx.Errorf("find process model plc address for device:%v, err:%v", deviceID, err) + return nil, err + } + if record.AddressList == nil { + return nil, errors.New("empty process model address list") + } + addressMap = make(map[string]int, len(record.AddressList)) + for _, item := range record.AddressList { + addressMap[item.Name] = item.Address + } + return addressMap, nil +} -- Gitblit v1.8.0