예제 #1
0
        public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config)
        {
            JT809_0x9400_0x9401 value = new JT809_0x9400_0x9401();

            value.WarnSrc = (JT809WarnSrc)reader.ReadByte();
            writer.WriteString($"[{value.WarnSrc.ToByteValue()}]报警信息来源", value.WarnSrc.ToString());
            value.WarnType = reader.ReadUInt16();
            writer.WriteNumber($"[{value.WarnType.ReadNumber()}]报警类型", value.WarnType);
            var virtualHex = reader.ReadVirtualArray(8);

            value.WarnTime = reader.ReadUTCDateTime();
            writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]报警时间", value.WarnTime);
            virtualHex          = reader.ReadVirtualArray(4);
            value.SupervisionID = reader.ReadHex(4);
            writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]报警督办ID", value.SupervisionID);
            virtualHex = reader.ReadVirtualArray(8);
            value.SupervisionEndTime = reader.ReadUTCDateTime();
            writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办截止时间", value.SupervisionEndTime);
            value.SupervisionLevel = (JT809_9401_SupervisionLevel)reader.ReadByte();
            writer.WriteString($"[{value.SupervisionLevel.ToByteValue()}]督办级别", value.SupervisionLevel.ToString());
            virtualHex       = reader.ReadVirtualArray(16);
            value.Supervisor = reader.ReadString(16);
            writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办人", value.Supervisor);
            virtualHex          = reader.ReadVirtualArray(20);
            value.SupervisorTel = reader.ReadString(20);
            writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办联系电话", value.SupervisorTel);
            virtualHex            = reader.ReadVirtualArray(32);
            value.SupervisorEmail = reader.ReadString(32);
            writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办联系电子邮件", value.SupervisorEmail);
        }
        public JT809_0x9400_0x9401 Deserialize(ref JT809MessagePackReader reader, IJT809Config config)
        {
            JT809_0x9400_0x9401 jT809_0X9400_0X9401 = new JT809_0x9400_0x9401();

            jT809_0X9400_0X9401.WarnSrc            = (JT809WarnSrc)reader.ReadByte();
            jT809_0X9400_0X9401.WarnType           = reader.ReadUInt16();
            jT809_0X9400_0X9401.WarnTime           = reader.ReadUTCDateTime();
            jT809_0X9400_0X9401.SupervisionID      = reader.ReadHex(4);
            jT809_0X9400_0X9401.SupervisionEndTime = reader.ReadUTCDateTime();
            jT809_0X9400_0X9401.SupervisionLevel   = reader.ReadByte();
            jT809_0X9400_0X9401.Supervisor         = reader.ReadString(16);
            jT809_0X9400_0X9401.SupervisorTel      = reader.ReadString(20);
            jT809_0X9400_0X9401.SupervisorEmail    = reader.ReadString(32);
            return(jT809_0X9400_0X9401);
        }