258 lines
4.2 KiB
Go
258 lines
4.2 KiB
Go
package model
|
||
|
||
// Sirius structure
|
||
type Sirius struct {
|
||
Device `json:"device"`
|
||
Zone `json:"zone"`
|
||
ZoneGroup `json:"zone_group"`
|
||
Input `json:"input"`
|
||
Output `json:"output"`
|
||
Reader `json:"reader"`
|
||
Channel `json:"channel"`
|
||
AccessGroup `json:"access_group"`
|
||
User `json:"user"`
|
||
Script `json:"script"`
|
||
Program `json:"program"`
|
||
Controller `json:"controller"`
|
||
}
|
||
|
||
// Device
|
||
type Device struct {
|
||
Keys []string `json:"keys"`
|
||
Rows [][]interface{} `json:"rows"`
|
||
}
|
||
|
||
func (z *Device) Get() []DeviceRows {
|
||
var zr []DeviceRows
|
||
for _, z := range z.Rows {
|
||
i, b, s, _ := InterToArray(z)
|
||
|
||
zz := DeviceRows{
|
||
DevID: i[0],
|
||
I2: i[1],
|
||
B1: b[0],
|
||
Addr: i[2],
|
||
I4: i[3],
|
||
Type: i[4],
|
||
I6: i[5],
|
||
I7: i[6],
|
||
I8: i[7],
|
||
I9: i[8],
|
||
Name: s[0],
|
||
}
|
||
zr = append(zr, zz)
|
||
}
|
||
return zr
|
||
}
|
||
|
||
// Type-40(КДЛС-С) Type-81(КДЛ-2И)
|
||
type DeviceRows struct {
|
||
DevID int64
|
||
I2 int64
|
||
B1 bool
|
||
Addr int64
|
||
I4 int64
|
||
Type int64
|
||
I6 int64
|
||
I7 int64
|
||
I8 int64
|
||
I9 int64
|
||
IntArr1 []int64
|
||
IntArr2 []int64
|
||
Name string
|
||
}
|
||
|
||
// Zone
|
||
type Zone struct {
|
||
Keys []string `json:"keys"`
|
||
Rows [][]interface{} `json:"rows"`
|
||
}
|
||
|
||
func (z *Zone) Get() []ZoneRows {
|
||
var zr []ZoneRows
|
||
for _, z := range z.Rows {
|
||
i, b, s, _ := InterToArray(z)
|
||
|
||
zz := ZoneRows{
|
||
ZoneID: i[0],
|
||
I1: i[1],
|
||
B1: b[0],
|
||
Number: i[2],
|
||
I3: i[3],
|
||
I4: i[4],
|
||
B2: b[1],
|
||
B3: b[2],
|
||
Name: s[0],
|
||
}
|
||
zr = append(zr, zz)
|
||
}
|
||
return zr
|
||
}
|
||
|
||
type ZoneRows struct {
|
||
ZoneID int64
|
||
I1 int64
|
||
B1 bool
|
||
Number int64
|
||
I3 int64
|
||
I4 int64
|
||
B2 bool
|
||
B3 bool
|
||
Name string
|
||
}
|
||
|
||
// ZoneGroup
|
||
type ZoneGroup struct {
|
||
Keys []string `json:"keys"`
|
||
Rows []interface{} `json:"rows"`
|
||
}
|
||
|
||
// type ZoneGroupRows struct {
|
||
// Number int64
|
||
// I2 int64
|
||
// B1 bool
|
||
// I3 int64
|
||
// I4 int64
|
||
// IntArr []int64
|
||
// Name string
|
||
// }
|
||
|
||
// Input
|
||
type Input struct {
|
||
Keys []string `json:"keys"`
|
||
Rows [][]interface{} `json:"rows"`
|
||
}
|
||
|
||
func (z *Input) Get() []InputRows {
|
||
var zr []InputRows
|
||
for _, z := range z.Rows {
|
||
i, _, s, _ := InterToArray(z)
|
||
|
||
zz := InputRows{
|
||
InputID: i[0],
|
||
DevID: i[1],
|
||
AddrU: i[2],
|
||
I4: i[3],
|
||
I5: i[4],
|
||
I6: i[5],
|
||
ZoneID: i[6],
|
||
I8: i[7],
|
||
Name: s[0],
|
||
}
|
||
zr = append(zr, zz)
|
||
}
|
||
return zr
|
||
}
|
||
|
||
type InputRows struct {
|
||
InputID int64
|
||
DevID int64
|
||
AddrU int64
|
||
I4 int64
|
||
I5 int64
|
||
I6 int64
|
||
ZoneID int64
|
||
I8 int64
|
||
Name string
|
||
}
|
||
|
||
// Output
|
||
type Output struct {
|
||
Keys []string `json:"keys"`
|
||
Rows []interface{} `json:"rows"`
|
||
}
|
||
|
||
// type OutputRows struct {
|
||
// Addr int64
|
||
// I2 int64
|
||
// I3 int64
|
||
// I4 int64
|
||
// I5 int64
|
||
// I6 int64
|
||
// I7 int64
|
||
// I8 int64
|
||
// I9 int64
|
||
// I10 int64
|
||
// I11 int64
|
||
// IntArr1 []int64
|
||
// IntArr2 []int64
|
||
// I12 int64
|
||
// I13 int64
|
||
// Name string
|
||
// }
|
||
|
||
// Reader
|
||
type Reader struct {
|
||
Keys []string `json:"keys"`
|
||
Rows []interface{} `json:"rows"`
|
||
}
|
||
|
||
// type ReaderRows struct {
|
||
// I1 int64
|
||
// I2 int64
|
||
// I3 int64
|
||
// I4 int64
|
||
// I5 int64
|
||
// I6 int64
|
||
// IntArr1 []int64
|
||
// IntArr2 []int64
|
||
// Name string
|
||
// }
|
||
|
||
// Channel
|
||
type Channel struct {
|
||
Keys []string `json:"keys"`
|
||
Rows []interface{} `json:"rows"`
|
||
}
|
||
|
||
// type ChannelRows struct {
|
||
// I1 int64
|
||
// I2 int64
|
||
// I3 int64
|
||
// I4 int64
|
||
// I5 int64
|
||
// Name string
|
||
// }
|
||
|
||
// AccessGroup
|
||
type AccessGroup struct {
|
||
Keys []string `json:"keys"`
|
||
Rows []interface{} `json:"rows"`
|
||
}
|
||
|
||
// type AccessGroupRows struct {
|
||
// I1 int64
|
||
// I2 int64
|
||
// IntArr1 []AccessGroupIntArray
|
||
// Name string
|
||
// }
|
||
|
||
// type AccessGroupIntArray struct {
|
||
// I1 int64
|
||
// I2 int64
|
||
// }
|
||
|
||
// User
|
||
type User struct {
|
||
Keys []string `json:"keys"`
|
||
Rows []interface{} `json:"rows"`
|
||
}
|
||
|
||
// Script
|
||
type Script struct {
|
||
Keys []string `json:"keys"`
|
||
Rows []interface{} `json:"rows"`
|
||
}
|
||
|
||
// Program
|
||
type Program struct {
|
||
Keys []string `json:"keys"`
|
||
Rows []interface{} `json:"rows"`
|
||
}
|
||
|
||
// Controller
|
||
type Controller struct {
|
||
Keys []string `json:"keys"`
|
||
Rows []interface{} `json:"rows"`
|
||
}
|