/// <summary> 获取上传协议 /// </summary> /// <param name="dr">数据行</param> /// <param name="dbName">帐套</param> /// <returns></returns> private static UploadDataProtocol GetProtocol(DataRow dr, string dbName) { if (!htTable.ContainsKey(dr.Table.TableName)) { return(null); } UploadDataProtocol udp = new UploadDataProtocol(); udp.StationId = GlobalStaticObj_Server.Instance.StationID; //根据表名得到子消息ID if (htTable[dr.Table.TableName] is ProtocolValue) { udp.SubMessageId = (htTable[dr.Table.TableName] as ProtocolValue).MessageId; } else { udp.SubMessageId = htTable[dr.Table.TableName].ToString(); } udp.TimeSpan = TimeHelper.GetTimeInMillis(); //Json对象 string json = JsonHelper.DataTableToJson(dr, udp.StationId, dbName, true); json = BaseCodeHelper.EnCode(json); udp.Json = json; return(udp); }
/// <summary> 写入错误日志 /// </summary> /// <param name="protocol">上传数据协议</param> public static void WriteErrorLog(UploadDataProtocol protocol) { string msg = string.Empty; if (htTable.ContainsKey(protocol.SubMessageId)) { string tableName = string.Empty; //表名: foreach (DictionaryEntry de in htTable) { if (de.Value.ToString() == protocol.SubMessageId) { tableName = de.Key.ToString(); break; } } msg += "表名:" + tableName + "\r\n"; } msg += "标识:" + protocol.StationId + protocol.SerialNumber + protocol.TimeSpan + "\r\n"; msg += "时间:" + TimeHelper.MillisToTime(protocol.TimeSpan) + "\r\n"; msg += "服务站ID:" + protocol.StationId + "\r\n"; msg += "内容:" + ProtocolTranslator.SerilizeMessage(protocol); //写错误日志 Log.writeLog(msg); }
/// <summary> 写入错误日志 /// </summary> /// <param name="protocol">上传数据协议</param> public static void WriteErrorLog(UploadDataProtocol protocol) { string msg = string.Empty; msg += "表名:" + TableName + "\r\n"; msg += "标识:" + protocol.StationId + protocol.SerialNumber + protocol.TimeSpan + "\r\n"; msg += "时间:" + TimeHelper.MillisToTime(protocol.TimeSpan) + "\r\n"; msg += "服务站ID:" + protocol.StationId + "\r\n"; msg += "内容:" + ProtocolTranslator.SerilizeMessage(protocol); //写错误日志 Log.writeCloudLog(msg); }
/// <summary> 操作数据 /// </summary> /// <param name="dt">数据表</param> /// <param name="operation">操作类别</param> /// <param name="dbName">帐套</param> private static void Operation(DataTable dt, string operation, string dbName) { if (dt == null) { return; } foreach (DataRow dr in dt.Rows) { UploadDataProtocol protocol = GetProtocol(dr, dbName); if (protocol != null) { protocol.Operation = operation; ServiceAgent.AddSendQueue(protocol); } } }
/// <summary> 获取上传协议 /// </summary> /// <param name="tableName">表名</param> /// <param name="dbName">帐套</param> /// <returns></returns> private static List <UploadDataProtocol> GetProtocol(DataTable dt, string dbName) { List <UploadDataProtocol> udps = new List <UploadDataProtocol>(); if (dt != null) { UploadDataProtocol udp = null; foreach (DataRow dr in dt.Rows) { udp = GetProtocol(dr, dbName); if (udp != null) { udps.Add(udp); } } } return(udps); }