You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 rivejä
3.5 KiB

  1. using JT809.Protocol.Enums;
  2. using JT809.Protocol.Extensions;
  3. using JT809.Protocol.Formatters;
  4. using JT809.Protocol.MessagePack;
  5. using JT809.Protocol.Interfaces;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Text;
  9. namespace JT809.Protocol.MessageBody
  10. {
  11. /// <summary>
  12. /// 平台链路连接情况与车辆定位消息传输情况上报应答消息
  13. /// <para>链路类型:主链路</para>
  14. /// <para>消息方向:下级平台往上级平台</para>
  15. /// <para>业务类型标识:UP_MANAGE_MSG_RSP</para>
  16. /// <para>下级平台收到上级平台下发的“平台链路连接情况与车辆定位消息传输情况上报请求消息”后,上报指定平台,指定时间段内的平台链路连接情况与车辆定位消息传输情况</para>
  17. /// </summary>
  18. public class JT809_0x1102 : JT809ExchangeMessageBodies, IJT809MessagePackFormatter<JT809_0x1102>,IJT809_2019_Version
  19. {
  20. public override ushort MsgId => JT809BusinessType.平台链路连接情况与车辆定位消息传输情况上报应答消息_2019.ToUInt16Value();
  21. public override string Description => "平台链路连接情况与车辆定位消息传输情况上报应答消息";
  22. public override JT809_LinkType LinkType => JT809_LinkType.main;
  23. public override JT809Version Version => JT809Version.JTT2019;
  24. /// <summary>
  25. /// 平台唯一编码
  26. /// </summary>
  27. public string PlateformId { get; set; }
  28. /// <summary>
  29. /// 开始时间,用 UTC 时间表示
  30. /// 注:采用 UTC 时间表示,如 2010-1-10 9:7:54 的 UTC 值为 1263085674,其在协议中表示为0x000000004B49286A.
  31. /// </summary>
  32. public DateTime StartTime { get; set; }
  33. /// <summary>
  34. /// 结束时间,用 UTC 时间表示
  35. /// 注:采用 UTC 时间表示,如 2010-1-10 9:7:54 的 UTC 值为 1263085674,其在协议中表示为0x000000004B49286A.
  36. /// </summary>
  37. public DateTime EndTime { get; set; }
  38. /// <summary>
  39. /// START_TIME~END_TIME期间下级平台丢失得车辆定位消息总数
  40. /// </summary>
  41. public uint LoseDymamicSum { get; set; }
  42. /// <summary>
  43. /// START_TIME~END_TIME期间下级监控平台链路断开次数
  44. /// </summary>
  45. public byte DisconnectNum { get; set; }
  46. /// <summary>
  47. /// START_TIME~END_TIME期间下级监控平台链路断开总时长,用秒表示
  48. /// </summary>
  49. public uint DisconnectTime { get; set; }
  50. public JT809_0x1102 Deserialize(ref JT809MessagePackReader reader, IJT809Config config)
  51. {
  52. JT809_0x1102 value = new JT809_0x1102();
  53. value.PlateformId = reader.ReadBigNumber(11);
  54. value.StartTime = reader.ReadUTCDateTime();
  55. value.EndTime = reader.ReadUTCDateTime();
  56. value.LoseDymamicSum = reader.ReadUInt32();
  57. value.DisconnectNum = reader.ReadByte();
  58. value.DisconnectTime = reader.ReadUInt32();
  59. return value;
  60. }
  61. public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1102 value, IJT809Config config)
  62. {
  63. writer.WriteBigNumber(value.PlateformId, 11);
  64. writer.WriteUTCDateTime(value.StartTime);
  65. writer.WriteUTCDateTime(value.EndTime);
  66. writer.WriteUInt32(value.LoseDymamicSum);
  67. writer.WriteByte(value.DisconnectNum);
  68. writer.WriteUInt32(value.DisconnectTime);
  69. }
  70. }
  71. }