package deviceManagement

import (
	"tgk-touch/internal/library/meterControl"
)

type MeterPower struct {
	MeterId   int64  `json:"meterId" xorm:"comment('电表ID')"`
	MeterAddr string `json:"meterAddr" xorm:"comment('电表从地址')"`

	AVoltage         float64 `json:"aVoltage" xorm:"comment('A相电压V/单相电压')"`
	AElectricCurrent float64 `json:"aElectricCurrent" xorm:"comment('A相电流A/单相电流')"`
	APower           float64 `json:"aPower" xorm:"comment('A相功率Kw/单相功率')"`
	AEnergy          float64 `json:"aEnergy" xorm:"comment('A相电能Kwh/单相电能')"`
	APowerFactor     float64 `json:"aPowerFactor" xorm:"comment('A相功率因数/单相功率因数')"`

	BVoltage         float64 `json:"bVoltage" xorm:"comment('B相电压')"`
	BElectricCurrent float64 `json:"bElectricCurrent" xorm:"comment('B相电流')"`
	BPower           float64 `json:"bPower" xorm:"comment('B相功率')"`
	BEnergy          float64 `json:"bEnergy" xorm:"comment('B相电能Kwh')"`
	BPowerFactor     float64 `json:"bPowerFactor" xorm:"comment('B相功率因数')"`

	CVoltage         float64 `json:"cVoltage" xorm:"comment('C相电压')"`
	CElectricCurrent float64 `json:"cElectricCurrent" xorm:"comment('C相电流')"`
	CPower           float64 `json:"cPower" xorm:"comment('C相功率')"`
	CEnergy          float64 `json:"cEnergy" xorm:"comment('C相电能Kwh')"`
	CPowerFactor     float64 `json:"cPowerFactor" xorm:"comment('C相功率因数')"`

	TotalActivePower  float64 `json:"activePower" xorm:"'total_active_power' comment('总有功功率Kw')"`    // 006AH
	TotalActiveEnergy float64 `json:"activeEnergy" xorm:"'total_active_energy' comment('总有功电能Kwh')"` // 000A
	TotalPowerFactor  float64 `json:"powerFactor" xorm:"'total_power_factor' comment('总功率因数')"`
}

type Meter struct {
	CommUid      string                 `json:"commUid"`
	RtuId        int64                  `json:"rtuId" xorm:"comment('所属监控终端Id')"`
	RoadId       int64                  `json:"roadId" xorm:"comment('路段Id')"`
	ActiveTime   string                 `json:"activeTime" xorm:"comment('激活时间')"`
	MeterName    string                 `json:"meterName" xorm:"comment('电表名称')"`
	MeterAddress string                 `json:"meterAddress" xorm:"comment('电表从地址')"`
	Phase3       bool                   `json:"phase3" xorm:"comment('相位 false单相 true三项')"`
	MeterModel   meterControl.MeterFirm `json:"meterModel" xorm:"comment('电表型号')"`
	WorkState    int64                  `json:"workState" xorm:"comment('工作状态 0正常 1禁用 2维修')"`
	Description  string                 `json:"description" xorm:"comment('描述')"`
	TotalEnergy  float64                `json:"total_energy" xorm:"comment('统计能耗')"`
}
