package service
|
|
import (
|
"apsClient/conf"
|
"apsClient/model"
|
"apsClient/pkg/logx"
|
"errors"
|
)
|
|
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").
|
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
|
}
|