/// <summary> /// 压缩Json并保存 /// </summary> /// <param name="FilePath"></param> /// <param name="JsonStr"></param> /// <returns></returns> private bool ZipStringAndSave(string FilePath, string JsonStr) { try { if (File.Exists(FilePath)) { File.Delete(FilePath); } FileStream _FileStream = new FileStream(FilePath, FileMode.CreateNew); try { if (!string.IsNullOrEmpty(JsonStr) && JsonStr.Length > 0) { string tempEncoder = DataEncoder.GZipCompressString(JsonStr); byte[] temp = System.Text.Encoding.UTF8.GetBytes(tempEncoder); _FileStream.Write(temp, 0, temp.Length); _FileStream.Flush(); _FileStream.Close(); _FileStream = null; } } catch (Exception exf) { _FileStream.Close(); _FileStream = null; throw exf; } } catch (Exception ex) { throw ex; } return(false); }
private Guid UpdateCurrentDataAsLocal(JZTestData _JZTestData, int _TotalNumber, int currentNumber, string EquipmenCode, string UpDataInfo, string UploadCode, List<JZTestCell> testData, List<JZRealTimeData> realTimeData) { Guid _tempGuid=Guid.NewGuid(); StringBuilder _tempSB = new StringBuilder(); _tempSB.Append("insert into sys_test_data values("); _tempSB.AppendFormat("'{0}'", _tempGuid); _tempSB.AppendFormat(",'{0}'", _JZTestData.DocumentID); _tempSB.AppendFormat(",'{0}'", _JZTestData.StadiumID); _tempSB.AppendFormat(",'{0}'", _JZTestData.ModuleID.ToString()); _tempSB.AppendFormat(",'{0}'", _JZTestData.WTBH.ToString()); _tempSB.AppendFormat(",'{0}'", _JZTestData.TestRoomCode.ToString()); _tempSB.AppendFormat(",{0}", currentNumber.ToString()); _tempSB.AppendFormat(",'{0}'", _JZTestData.UserName.ToString()); _tempSB.AppendFormat(",'{0}'",DateTime.Now.AddMinutes(_SXCJModule.SpecialSetting.TimeSpanMinute)); _tempSB.AppendFormat(",'{0}'", ObjectToJson(testData)); _tempSB.AppendFormat(",'{0}'", DataEncoder.GZipCompressString(ObjectToJson(realTimeData))); _tempSB.AppendFormat(",1"); _tempSB.AppendFormat(",{0}", _TotalNumber); _tempSB.AppendFormat(",'{0}'", _JZTestData.TestRoomCode); _tempSB.AppendFormat(",'{0}'", EquipmenCode); _tempSB.AppendFormat(",'{0}'", UpDataInfo.Replace("'","''")); _tempSB.AppendFormat(",'{0}'", UploadCode); _tempSB.AppendFormat(",0"); _tempSB.AppendFormat(",0"); _tempSB.Append(");"); try { log.WriteLog(_tempSB.ToString(), false, false); lock (_LockObject) { _SqlLocalHlper.Execute(_tempSB.ToString()); } } catch (Exception ex) { log.WriteLog(ex.Message + "\r\n" + ex.StackTrace, true, true); try { if (GetColumCount()) { _SqlLocalHlper.Execute(_tempSB.ToString()); } } catch (Exception ex2) { log.WriteLog(ex2.Message + "\r\n" + ex2.StackTrace, true, true); log.WriteLog(_tempSB.ToString(), true, true); if (ex2.Message.Trim() == "") { UpdateCurrentDataAsLocalFor2Sql(_JZTestData, _TotalNumber, currentNumber, EquipmenCode, UpDataInfo, UploadCode, testData, realTimeData); } } } return _tempGuid; }
/// <summary> /// 上传数据,返回GUID /// </summary> /// <param name="_JZTestData"></param> /// <param name="_TotalNumber"></param> /// <param name="currentNumber"></param> /// <param name="_EquipmentCode"></param> /// <param name="_UploadJson"></param> /// <param name="UploadCode"></param> /// <param name="testData"></param> /// <param name="realTimeData"></param> /// <param name="_Guid"></param> /// <returns></returns> public bool UploadTestData(JZTestData _JZTestData, Int32 _TotalNumber, Int32 currentNumber, string _EquipmentCode, string _UploadJson, string UploadCode, List<JZTestCell> testData, List<JZRealTimeData> realTimeData,out Guid _Guid) { _Guid = Guid.Empty; try { _Guid = UpdateCurrentDataAsLocal(_JZTestData, _TotalNumber, currentNumber, _EquipmentCode, _UploadJson, UploadCode, testData, realTimeData); log.WriteLog("数据保存本地WTBH:" + _JZTestData.WTBH, false, false); } catch (Exception ex) { log.WriteLog(ex.Message + "\r\n" + ex.StackTrace, true, true); } try { Boolean uploaded = UploadTestData(_JZTestData. DocumentID, _JZTestData.ModuleID, _JZTestData.StadiumID, _JZTestData.WTBH, _JZTestData.TestRoomCode, currentNumber, _JZTestData.UserName, ObjectToJson(testData), DataEncoder.GZipCompressString(ObjectToJson(realTimeData)), _TotalNumber, _EquipmentCode, _UploadJson, UploadCode, DateTime.Now.AddMinutes(_SXCJModule.SpecialSetting.TimeSpanMinute)); if (uploaded) { log.WriteLog("数据WTBH:" + _JZTestData.WTBH + "上传成功", false, false); DelUpdateSuceesData(_Guid.ToString()); return true; } else { log.WriteLog("数据WTBH:" + _JZTestData.WTBH + "上传失败", false, false); } } catch (Exception ex) { log.WriteLog(ex.Message + "\r\n" + ex.StackTrace, true, true); } _Guid = Guid.Empty; return false; }