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 | 35 +++++++++++++++++++++++++++++++++-- 1 files changed, 33 insertions(+), 2 deletions(-) diff --git a/service/process_model.go b/service/process_model.go index d1154a3..ead4ebf 100644 --- a/service/process_model.go +++ b/service/process_model.go @@ -3,15 +3,30 @@ import ( "apsClient/conf" "apsClient/model" + "apsClient/pkg/logx" + "errors" ) -func GetProcessModelList(offset, limit int, currentNumber string) (list []*model.ProcessModel, total int64, err error) { +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").SetCurrentNumber(currentNumber). + SetIsNew(true).SetOrder("id desc"). + 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 } @@ -19,3 +34,19 @@ 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