Пример #1
0
        /// <summary>
        /// 保存数据到历史记录表
        /// </summary>
        /// <param name="tx300"></param>
        private void SaveTX300History(TX300 tx300, DateTime receiveTime, string mac_id)
        {
            TB_HISTORIES obj = DataInstance.GetObject();

            obj.command_id       = "0x" + CustomConvert.IntToDigit(tx300.CommandID, CustomConvert.HEX, 4);
            obj.mac_id           = mac_id;
            obj.message_content  = CustomConvert.GetHex(tx300.MsgContent);
            obj.message_type     = 1;
            obj.package_id       = tx300.PackageID;
            obj.protocol_type    = tx300.ProtocolType;
            obj.protocol_version = tx300.ProtocolVersion;
            obj.receive_time     = receiveTime;
            obj.sequence_id      = tx300.SequenceID.ToString();
            obj.server_port      = 31875;
            obj.terminal_id      = tx300.TerminalID;
            obj.terminal_type    = tx300.TerminalType;
            obj.total_length     = (short)tx300.TotalLength;
            obj.total_package    = tx300.TotalPackage;
            DataInstance.Add(obj);
        }
Пример #2
0
        private string GetCommandData(TB_HISTORIES data)
        {
            var ret    = "";
            var buffer = Wbs.Utilities.CustomConvert.GetBytes(data.message_content);
            var start  = 0;

            switch (data.command_id)
            {
            case "0xDD00":
                ret = string.Format("Signal: {0}({1})", buffer[8], Utility.ASU2DBM(buffer[8]));
                break;

            case "0x1000":
                ret = "Please going to page <code>Map</code> to check out the data.";
                break;

            case "0x6000":
                ret = string.Format("RPM: {0}, Fuel: {1}", BitConverter.ToUInt16(buffer, 5),
                                    OilTempers.GetOilLeftDX((ushort)(BitConverter.ToUInt16(buffer, 29) * 500 / 1024)).ToString());
                break;

            case "0x6004":
                start = data.terminal_type == Wbs.Protocol.TerminalTypes.DX ? 5 : 1;
                ret   = string.Format("Worktime: {0}", EquipmentBLL.GetRuntime((int?)BitConverter.ToUInt32(buffer, start), 0.0, true));
                break;

            case "0x600B":
                ret = string.Format("Worktime: {0}", EquipmentBLL.GetRuntime((int?)BitConverter.ToUInt32(buffer, 0), 0.0, true));
                break;

            case "0x6007": ret = string.Format("Security: {0}", _0x6007.GetSecurity(buffer[1])); break;

            case "0x3000": ret = string.Format("Security: {0}", _0x3000.GetFlag(buffer[0])); break;

            case "0xDD02": ret = string.Format("Satellite: {0}", _0xDD02.GetStatus(buffer[0])); break;
            }
            return(ret);
        }
Пример #3
0
 /// <summary>
 /// 保存数据到历史记录表
 /// </summary>
 /// <param name="tx300"></param>
 private void SaveTX300History(TX300 tx300, DateTime receiveTime, string mac_id)
 {
     using (var bll = new DataBLL())
     {
         TB_HISTORIES obj = bll.GetObject();
         obj.command_id       = "0x" + CustomConvert.IntToDigit(tx300.CommandID, CustomConvert.HEX, 4);
         obj.mac_id           = mac_id;
         obj.message_content  = CustomConvert.GetHex(tx300.MsgContent);
         obj.message_type     = 1;
         obj.package_id       = tx300.PackageID;
         obj.protocol_type    = tx300.ProtocolType;
         obj.protocol_version = tx300.ProtocolVersion;
         obj.receive_time     = receiveTime;
         obj.sequence_id      = tx300.SequenceID.ToString();
         obj.server_port      = (short)(tx300.ProtocolType == Protocol.ProtocolTypes.SATELLITE ? 10800 :
                                        tx300.ProtocolType == Protocol.ProtocolTypes.SMS ? 0 : 31875);
         obj.terminal_id   = tx300.TerminalID;
         obj.terminal_type = tx300.TerminalType;
         obj.total_length  = (short)tx300.TotalLength;
         obj.total_package = tx300.TotalPackage;
         bll.Add(obj);
     }
 }