private void buttonExport_Click(object sender, EventArgs e) { GetReport(); if (reportAll == null || reportAll.Count == 0) { MessageBox.Show("没有可以导出的报告", "提示"); return; } string reportType = "周"; if ((dateTimePickerSearchFrom.Value.Day == 1 && dateTimePickerSearchTo.Value - dateTimePickerSearchFrom.Value > new TimeSpan(7, 0, 0, 0)) || (long)DateTimeManger.DateDiff(DateInterval.Month, dateTimePickerSearchFrom.Value, dateTimePickerSearchTo.Value) == 1) { reportType = "月"; } ExportForm export = new ExportForm(reportAll, reportType); //export.ShowDialog(); //export.Show(this); export.Show(); }
/// <summary> /// 同步运单的最新状态 /// </summary> public static void DoSyncTrackStates() { //获取指定商业伙伴同步的时间间隔和服务开启的状态 string strSql = "SELECT bit_synOpen,int_synSpacing FROM tb_Agent WHERE int_AGid=" + mainAGid.ToString(); Agent agent = SQLHelper.GetObject <Agent>(strSql).FirstOrDefault(); int? intSpacing = 60; if (agent == null) { return; } intSpacing = agent.int_synSpacing; IList <SFITrackNum> tracks = new List <SFITrackNum>(); string strRes = ""; int intNew = 0; int intError = 0; int intCompleted = 0; //DateTime. long intProcessCode = DateTimeManger.DateDiff(DateInterval.Minute, DateTime.Now.AddDays(-3), DateTime.Now); string strSysCode = DateTime.Now.ToString("yyyyMMddhhmmss"); string logMsg = string.Empty; //记录系统运行的日志 logMsg = $"{strSysCode}-Agent:{mainAGname} 检查点数据刷新服务启动{ProcessName}"; SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg }); try { if (!SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNum, new { intProcessCode = intProcessCode, mainSynSign = mainSynSign, mainAGid = mainAGid, intSpacing = intSpacing, mainOverTime = mainOverTime })) { logMsg = $"{strSysCode}-Agent:{ mainAGname} 没有需要刷新的数据{ProcessName}"; SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg }); return; } tracks = SQLHelper.GetObjectByProc <SFITrackNum>(Constants.sp_Get_SFI_TrackNum, new { intProcessCode = intProcessCode, mainSynSign = mainSynSign }).ToList(); if (tracks == null | tracks.Count == 0) { logMsg = $"{strSysCode}-Agent:{mainAGname} 没有需要刷新的数据{ProcessName}"; SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg }); return; } logMsg = $" {strSysCode}-Agent:{mainAGname} 开始获取数据 - { tracks.Count}{ProcessName}"; SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg }); foreach (SFITrackNum track in tracks) { try { //通过dpd单号去获取运单的状态信息 IList <TrackRecord> records = GetDPDInfo(track.vchar_AGnum); IEnumerable <TrackRecord> rcs = GetTMSInfo(track.vchar_SFInum); foreach (var item in rcs) { records.Add(item); } intNew = 0; intError = 0; if (records.Count == 0) { #region 没有获取到运单的状态信息 strRes = WriteServerLog(track, "0|0|0|", $"未获取导数据,请尝试手工获取{ProcessName}"); #endregion } else { #region 获取到运单的状态信息 foreach (TrackRecord record in records) { strRes = UpdateTrackRecord(track, record); if (strRes == "N") { intNew += 1; } else if (strRes == "F") { intError += 1; } } strRes = WriteServerLog(track, $"{records.Count}|{intNew}|{intError}|", string.Empty); #endregion } SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNumByID, new { int_Mappingid = track.int_Mappingid }); intCompleted += 1; } catch (Exception ex) { strRes = WriteServerLog(track, "0|0|0|", ex.Message); SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNumByID, new { int_Mappingid = track.int_Mappingid }); } } } catch (Exception ex) { logMsg = $"{strSysCode}-Agent:{mainAGname} 服务运行错误:{ex.Message} {ProcessName}"; SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg }); if (tracks.Count != 0) { foreach (SFITrackNum track in tracks) { SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNumByID, new { int_Mappingid = track.int_Mappingid }); } } return; } if (tracks.Count != 0) { foreach (SFITrackNum track in tracks) { SQLHelper.ExecuteStoredProcedure(Constants.sp_Update_SFI_TrackNumByID, new { int_Mappingid = track.int_Mappingid }); } } logMsg = $"{strSysCode}-Agent:{mainAGname} 服务运行完成 - {intCompleted}{ProcessName}"; SQLHelper.ExecuteStoredProcedure(Constants.sp_AddSystemLog, new { mainAGid = mainAGid, result = logMsg }); }