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 }