private string method_1() { string str = string.Empty; int num = NumHelper.Convert16To10(this.protocolDrData_0.ContextData.Substring(0, 4)); if (num == 0) { return(str + "多媒体总数:0"); } object obj2 = str; str = string.Concat(new object[] { obj2, "多媒体总数:", num, Environment.NewLine }); string str2 = this.protocolDrData_0.ContextData.Substring(4); int num2 = str2.Length / 70; int startIndex = 0; for (int i = 0; i < num2; i++) { str = str + "多媒体ID:" + NumHelper.Convert16To10ToString(str2.Substring(startIndex, 8)); startIndex += 8; str = str + ",多媒体类型:" + ((MenuDefine.MutilMediaType)NumHelper.Convert16To10(str2.Substring(startIndex, 2))).ToString(); startIndex += 2; str = str + ",通道ID:" + NumHelper.Convert16To10ToString(str2.Substring(startIndex, 2)); startIndex += 2; str = str + ",事件项编码:" + ((MenuDefine.AccidentCode)NumHelper.Convert16To10(str2.Substring(startIndex, 2))).ToString(); startIndex += 2; str = str + ",时间:" + NumHelper.GetBCDDataTime(str2.Substring(startIndex, 0x38).Substring(0x2c, 12)) + Environment.NewLine; startIndex += 0x38; } return(str); }
public override string Parse() { string str = string.Empty; string str2 = NumHelper.Convert16To10ToString(base.MessageAlarmText.Substring(0, 4)); return(str + "人工确认事件报警ID:" + str2); }
public void GetDriverInfomationUpData(DataRow dataRow_0) { string str2 = NumHelper.Convert16To10ToString(this.protocolDrData_0.ContextData.Substring(2, 6)); string str3 = NumHelper.GetStringFromBase16ASCII(this.protocolDrData_0.ContextData.Substring(8, 0x24)).Replace("\0", ""); dataRow_0["OrderName"] = "驾驶员身份数据应答"; dataRow_0["Describe"] = "驾驶员编号:" + str2 + ",机动车驾驶证号:" + str3; }
public override string Parse() { string str2 = NumHelper.Convert16To10ToString(base.MessageAlarmText.Substring(0, 8)); string str3 = NumHelper.Convert16To10ToString(base.MessageAlarmText.Substring(8, 4)); string str4 = base.MessageAlarmText.Substring(12); return((("路段ID:" + str2) + ",行驶时间:" + str3) + ",结果:" + this.method_0(str4)); }
public override string Parse() { string str2 = base.MessageAlarmText.Substring(0, 2); string str3 = NumHelper.Convert16To10ToString(base.MessageAlarmText.Substring(2, 8)); string str4 = base.MessageAlarmText.Substring(10); return((("类型:" + this.method_0(str2)) + ",ID:" + str3) + ",方向:" + this.method_1(str4)); }
public override string Parse() { string str = string.Empty; string str2 = NumHelper.Convert16To10ToString(base.MessageAlarmText.Substring(0, 8)); if (str2 == "-1") { return(""); } return(str + "分段超速报警路线ID:" + str2); }
private string method_0() { NumHelper.Convert16To10ToString(this.protocolDrData_0.ContextData.Substring(0, 8)); int num = NumHelper.Convert16To10(this.protocolDrData_0.ContextData.Substring(8, 2)); string str = "多媒体类型:" + ((MenuDefine.MutilMediaType)num).ToString(); int num2 = NumHelper.Convert16To10(this.protocolDrData_0.ContextData.Substring(10, 2)); str = str + ",多媒体格式编码:" + ((MenuDefine.MutilMediaFormat)num2).ToString(); int num3 = NumHelper.Convert16To10(this.protocolDrData_0.ContextData.Substring(12, 2)); return((str + ",事件现编码:" + ((MenuDefine.AccidentCode)num3).ToString()) + ",通道ID:" + NumHelper.Convert16To10ToString(this.protocolDrData_0.ContextData.Substring(14))); }
public override string Parse() { string str = string.Empty; string str2 = base.MessageAlarmText.Substring(0, 2); string str3 = NumHelper.Convert16To10ToString(base.MessageAlarmText.Substring(2)); str = "类型:" + this.method_0(str2); if (!str2.Equals("00")) { str = str + ",ID:" + str3; } return(str); }
public void GetZipDataUpData(DataRow dataRow_0) { dataRow_0["OrderName"] = "压缩数据"; int num = NumHelper.Convert16To10(this.protocolDrData_0.ContextData.Substring(0, 8)); if (num == 0) { dataRow_0["Describe"] = "无数据"; } else { string str = NumHelper.Convert16To10ToString(this.protocolDrData_0.ContextData.Substring(8, num * 2)); dataRow_0["Describe"] = str; } }
public void GetDownPlatRequestUpData(DataRow dataRow_0) { string str = NumHelper.Convert16To10ToString(this.protocolDrData_0.ContextData.Substring(0, 2)); string str2 = NumHelper.GetStringFromBase16ASCII(this.protocolDrData_0.ContextData.Substring(2, 0x18)).Replace("\0", ""); string str3 = NumHelper.Convert16To10ToString(this.protocolDrData_0.ContextData.Substring(0x1a, 8)); string s = NumHelper.Convert16To10ToString(this.protocolDrData_0.ContextData.Substring(0x22, 8)); string str5 = NumHelper.GetStringFromBase16ASCII(this.protocolDrData_0.ContextData.Substring(0x2a, int.Parse(s) * 2)).Replace("\0", ""); dataRow_0["OrderName"] = "下发平台间报文请求"; dataRow_0["CarNum"] = ""; dataRow_0["msgType"] = "4911"; dataRow_0["Describe"] = "消息ID:" + str3 + ",消息内容:" + str5.Replace(",", ",") + ",查岗对象类型:" + str + ",查岗对象的ID:" + str2; dataRow_0["OrderType"] = "接收"; dataRow_0["OBJECT_TYPE"] = str; dataRow_0["OBJECT_ID"] = str2; }
public void GetCarDoubtfulDataUpData(DataRow dataRow_0) { dataRow_0["OrderName"] = "事故疑点数据应答"; string str = " " + Environment.NewLine; SortedDictionary <DateTime, string> dictionary = new SortedDictionary <DateTime, string>(); string str2 = string.Empty; string str3 = string.Empty; string str4 = this.protocolDrData_0.ContextData.Substring(2); string str5 = ""; while (str4.Length > 0) { SortedDictionary <DateTime, string> dictionary3; DateTime time3; DateTime time = Convert.ToDateTime(NumHelper.GetBCDDataTime(str4.Substring(0, 12))); dictionary[time] = ""; for (string str6 = str4.Substring(12, 400); str6.Length > 0; str6 = str6.Substring(40)) { SortedDictionary <DateTime, string> dictionary2 = dictionary; DateTime time2 = time; string str7 = str6.Substring(0, 40); str2 = ""; str3 = ""; while (str7.Length > 0) { str2 = str2 + NumHelper.Convert16To10ToString(str7.Substring(0, 2)) + ","; str3 = str3 + (((NumHelper.Convert16To10(str7.Substring(2, 2)) & 0x80) == 0) ? "关," : "开,"); str7 = str7.Substring(4); } string str8 = dictionary2[time2]; (dictionary2 = dictionary)[time2 = time] = str8 + "速度:" + str2.Trim(new char[] { ',' }) + str + "制动:" + str3.Trim(new char[] { ',' }) + str; } (dictionary3 = dictionary)[time3 = time] = dictionary3[time3] + str; str4 = str4.Substring(0x19c); } int num = 0; foreach (KeyValuePair <DateTime, string> pair in dictionary) { num++; object obj2 = str5; str5 = string.Concat(new object[] { obj2, "事故疑点", num, ":\n时间:", pair.Key.ToString(), "\n" }); str5 = str5 + pair.Value; } dataRow_0["Describe"] = str5; }
/// <summary> /// 平台查岗请求处理 /// </summary> /// <param name="dr"></param> public void GetPlatRequestUpData(DataRow dr) { //对应存储过程WebGpsClient_GetOutEquipmentData返回列propertyData除掉前4个字符,定义见Protocol.ProtocolDrData string contextData = this.protocolDrData_0.ContextData; //查岗对象类型 OBJECT_TYPE, 重庆运管定义1为自动查岗,2为手动查岗 string sObjectType = NumHelper.Convert16To10ToString(contextData.Substring(0, 2)); //重庆运管要求: //OBJECT_TYPE 为1 时OBJECT_ID 为查岗对象ID, 值为5000000+ 平台接入码( 行政区划码+ 平台唯一编码) //当OBJECT_TYPE 为2,OBJECT_ID 为业户经营许可证号; //当OBJECT_TYPE为3 时,OBJECT_ID值为5000000+平台接入码(行政区划码+平台唯一编码),例如50000008960 string sObjectId = NumHelper.GetStringFromBase16ASCII(contextData.Substring(2, 24)).Replace("\0", ""); //信息ID string sIndex = NumHelper.Convert16To10ToString(contextData.Substring(26, 8)); //内容长度 string sLen = NumHelper.Convert16To10ToString(contextData.Substring(34, 8)); //取得内容 string sContant = NumHelper.GetStringFromBase16ASCII(contextData.Substring(42, int.Parse(sLen) * 2)).Replace("\0", ""); string userIdByRegionCode = string.Empty; string workIdByUserId = string.Empty; if (sObjectType.Equals("1")) { if (!string.IsNullOrEmpty(sContant) && (sContant.IndexOf("请回复当前全部在线业户") != -1)) { workIdByUserId = "-1"; string str10 = this.method_3(sObjectType, sObjectId, sIndex, "当前在线业户列表:=" + AskConfigerParameter.GetAutoRelyInfoString()); try { AskConfigerParameter.InsertCommandParameterToDB("8613489997299", 999, 16900, str10); //修改如果自动查岗,则不发送消息到客户端 huzh 2014.1.22 workIdByUserId = "-2"; dr["WrkId"] = workIdByUserId; return; //修改如果为重庆运管自动查岗则不需要发送到客户端,by huzh 2014.1.8 //goto Label_0147; } catch (Exception exception) { throw new Exception("自动回答发生错误:" + exception.Message + exception.StackTrace); } } userIdByRegionCode = AskConfigerParameter.GetUserIdByRegionCode(sObjectId); } else if (sObjectType.Equals("2")) { if (!string.IsNullOrEmpty(sContant) && (sContant.IndexOf("OBJECT_ID:=") != -1)) { //重庆运管要求,由于营运证长度最长为15位,因此INFO_CONTENT内容格式改为: //OBJECT_ID:=500101000001-3;手工查岗问题及答案:=问题|1,答案1;2,答案2;3,答案3;4,答案4 //因此替换查岗对象 string[] array = sContant.Split(new char[] { ';' }); sObjectId = array[0].Substring(array[0].IndexOf('=') + 1); } userIdByRegionCode = AskConfigerParameter.GetUserIdByYYZCarId(sObjectId); } else if (sObjectType.Equals("3")) { workIdByUserId = "0"; } //Label_0147: if (string.IsNullOrEmpty(workIdByUserId) && !string.IsNullOrEmpty(userIdByRegionCode)) { workIdByUserId = AskConfigerParameter.GetWorkIdByUserId(userIdByRegionCode); } if (string.IsNullOrEmpty(workIdByUserId)) { workIdByUserId = "-1"; } dr["WrkId"] = workIdByUserId; dr["msgType"] = "4353"; dr["CarNum"] = ""; dr["OrderName"] = "平台查岗请求"; dr["Describe"] = "消息ID:" + sIndex + ",消息内容:" + sContant.Replace(",", ",") + ",查岗对象类型:" + sObjectType + ",查岗对象的ID:" + sObjectId; dr["OrderType"] = "接收"; LogMsg msg = new LogMsg("JTBDataParse", "GetPlatRequestUpData", dr["Describe"].ToString() + " workIdByUserId: " + workIdByUserId + " userIdByRegionCode: " + userIdByRegionCode); new LogHelper().WriteLog(msg); }
public void GetMessagePlayData(DataRow dataRow_0) { string str = this.protocolDrData_0.ContextData.Substring(0, 2); int num = NumHelper.Convert16To10(this.protocolDrData_0.ContextData.Substring(2)); string str3 = "消息ID:0x" + str + ",消息内容:" + UpdataInsertDBInfor.GetMenuName(str); if (num == 0) { dataRow_0["OrderName"] = "信息点播/取消应答"; str3 = str3 + ",消息类型:取消"; } else { dataRow_0["OrderName"] = "信息点播/取消应答"; str3 = str3 + ",消息类型:点播"; } dataRow_0["Describe"] = str3; UpdataInsertDBInfor.UpdateMenuInfor(((dataRow_0[14] == DBNull.Value) ? "0" : dataRow_0["SimNum"].ToString()).ToString(), "2", NumHelper.Convert16To10ToString(str), num != 0); }