using FreeSql.DataAnnotations; using JiShe.CollectBus.Common.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace JiShe.CollectBus.Ammeters { public class AmmeterInfo: DeviceCacheBasicModel { /// /// 关系映射标识,用于ZSet的Member字段和Set的Value字段,具体值可以根据不同业务场景进行定义 /// [Column(IsIgnore = true)] public override string MemberId => $"{FocusAddress}:{MeteringCode}"; /// /// ZSet排序索引分数值,具体值可以根据不同业务场景进行定义,例如时间戳 /// [Column(IsIgnore = true)] public override long ScoreValue => ((long)FocusId << 32) | (uint)DateTime.Now.Ticks; /// /// 电表名称 /// public string Name { get; set; } /// /// 集中器地址 /// public string Address { get; set; } /// /// 集中器区域代码 /// public string AreaCode { get; set; } /// /// 电表类别 (1单相、2三相三线、3三相四线), /// 07协议: 开合闸指令(1A开闸断电,1C单相表合闸,1B多相表合闸) 645 2007 表 /// 97协议://true(合闸);false(跳闸) 545 1997 没有单相多相 之分 "true" ? "9966" : "3355" /// public int TypeName { get; set; } /// /// 跳合闸状态字段: 0 合闸,1 跳闸 /// 电表:TripState (0 合闸-通电, 1 断开、跳闸); /// public int TripState { get; set; } /// /// 规约 -电表default(30) 1:97协议,30:07协议 /// public int? Protocol { get; set; } /// /// 一个集中器下的[MeteringCode]必须唯一。 PN /// public int MeteringCode { get; set; } /// /// 电表通信地址 /// public string AmmerterAddress { get; set; } /// /// 波特率 default(2400) /// public int Baudrate { get; set; } /// /// MeteringPort 端口就几个可以枚举。 /// public int MeteringPort { get; set; } /// /// 电表密码 /// public string Password { get; set; } /// /// 采集时间间隔(分钟,如15) /// public int TimeDensity { get; set; } /// /// 该电表方案下采集项,JSON格式,如:["0D_80","0D_80"] /// public string ItemCodes { get; set; } /// /// State表状态: /// 0新装(未下发),1运行(档案下发成功时设置状态值1), 2暂停, 100销表(销表后是否重新启用) /// 特定:State -1 已删除 /// public int State { get; set; } /// /// 是否自动采集(0:主动采集,1:自动采集) /// public int AutomaticReport { get; set; } /// /// 该电表方案下采集项编号 /// public string DataTypes { get; set; } /// /// 品牌型号 /// public string BrandType { get; set; } /// /// 采集器编号 /// public string GatherCode { get; set; } /// /// 是否特殊表,1是特殊电表 /// public int Special { get; set; } /// /// 费率类型,单、多 (SingleRate :单费率(单相表1),多费率(其他0) ,与TypeName字段无关) /// SingleRate ? "单" : "复" /// [SingleRate] --0 复费率 false , 1 单费率 true (与PayPlanID保持一致) ///对应 TB_PayPlan.Type: 1复费率,2单费率 /// public bool SingleRate { get; set; } /// /// 项目ID /// public int ProjectID { get; set; } /// /// 数据库业务ID /// public int DatabaseBusiID { get; set; } /// /// 是否异常集中器 0:正常,1异常 /// public int AbnormalState { get; set; } public DateTime LastTime { get; set; } } }