using FreeSql.DataAnnotations; using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace JiShe.CollectBus.IotSystems.Watermeter { /// /// 水表信息 /// public class WatermeterInfo: DeviceCacheBasicModel { /// /// 关系映射标识,用于ZSet的Member字段和Set的Value字段,具体值可以根据不同业务场景进行定义 /// [Column(IsIgnore = true)] public override string MemberId => $"{FocusId}:{MeterId}"; /// /// ZSet排序索引分数值,具体值可以根据不同业务场景进行定义,例如时间戳 /// [Column(IsIgnore = true)] public override long ScoreValue => ((long)FocusId << 32) | (uint)DateTime.Now.Ticks; /// /// 水表名称 /// public string Name { get; set; } /// /// 表密码 /// public string Password { get; set; } /// /// 一个集中器下的[MeteringCode]必须唯一。 PN /// public int MeteringCode { get; set; } /// /// 波特率 default(2400) /// public int Baudrate { get; set; } /// /// MeteringPort 端口就几个可以枚举。 /// public int MeteringPort { get; set; } /// /// 水表通信地址 (当protocol=32时,Address为14位字符;否则12位字符) /// public string MeterAddress { get; set; } /// /// 水表类别 (水表类型改成“公称口径”) /// public string TypeName { get; set; } /// /// 规约 -电表default(30) 1:97协议,30:07协议,32:CJ/T 188—2018协议 /// public int? Protocol { get; set; } public string Code { get; set; } /// /// 通讯方案: /// NB-IOT常德水表、NB-IOT泽联电表、GPRS华立水表、 /// RS-485、无线、载波 /// public string LinkType { get; set; } /// /// HaveValve: 是否带阀 (0 不带阀, 1 带阀) /// 注意:NULL表示未设置 /// public int? HaveValve { get; set; } /// /// 设备类型: 水表\气表、流量计 /// public string MeterTypeName { get; set; } /// /// 表计类型 //// 电表= 1,水表= 2,燃气表= 3,热能表= 4,水表流量计=5,燃气表流量计=6,特殊电表=7 /// public MeterTypeEnum MeterType { get; set; } /// /// 设备品牌; /// (当 MeterType = 水表, 如 威铭、捷先 等) /// (当 MeterType = 流量计, 如 西恩超声波流量计、西恩电磁流量计、涡街流量计 等) /// public string MeterBrand { get; set; } /// /// 倍率 /// public decimal TimesRate { get; set; } /// /// 集中器地址 /// public string Address { get; set; } /// /// 网关地址 /// public string GateAddress { get; set; } /// /// 集中器区域 /// public string AreaCode { get; set; } /// /// 通讯状态 /// 水表:TripState (0 合闸-开阀, 1 关阀);开阀关阀 /// public int TripState { get; set; } /// /// 是否自动采集 /// public int AutomaticReport { get; set; } /// /// State表状态: /// 0新装(未下发),1运行(档案下发成功时设置状态值1), 2暂停, 100销表(销表后是否重新启用) /// 特定:State -1 已删除 /// public int State { get; set; } /// /// 采集时间间隔(分钟,如15) /// public int TimeDensity { get; set; } /// /// 采集器编号 /// public string GatherCode { get; set; } /// /// 项目ID /// public int ProjectID { get; set; } /// /// 是否异常集中器 0:正常,1异常 /// public int AbnormalState { get; set; } /// /// 集中器最后在线时间 /// public DateTime LastTime { get; set; } } }