public void GetFinalReportText(DataTable dtfromfile) { SmenaCategory smenaCategory = IncidentToCategories.GetIncidentToCategoy(dtfromfile); //MessageBox.Show(FullSmenaReport(smenaCategory, dtfromfile)); }
public string FullSmenaReport(DataTable dtfromfile) { SmenaCategory smenaCategory = IncidentToCategories.GetIncidentToCategoy(dtfromfile); if (smenaCategory.LastSmena != null) { incidentsCountersLastSmena = IncidentsCountersProc.GetIncidentsCounters(smenaCategory.LastSmena); } if (smenaCategory.Smena24Hours != null) { incidentsCountersSmena24Hours = IncidentsCountersProc.GetIncidentsCounters(smenaCategory.Smena24Hours); } if (dtfromfile != null) { incidentsCountersForAll = IncidentsCountersProc.GetIncidentsCounters(dtfromfile); } DataTable tmpdt; // string[] tmptext = new string[]; string tmptext = ""; //List<string> tmptext = new List<string>(); tmptext += "1. Инциденты, переданные по смене (решенные).\n"; //tmptext.Join(smenaCategory.IncidensFromPreviousSmenaEnd); //tmptext.Add("\n2. Инциденты, переданные по смене (не решенные).\n"); tmptext += FormatTextForSmena(smenaCategory.IncidensFromPreviousSmenaEnd); tmptext += "\n2. Инциденты, переданные по смене (не решенные).\n"; tmptext += FormatTextForSmena(smenaCategory.IncidensFromPreviousSmenaNoEnd); tmptext += "\n3. Инциденты по электропитанию.\n"; try { tmpdt = (smenaCategory.ClosedIncidentsForSmena24Hours.AsEnumerable().Where(row => (row.Field <string>("ЭЛЕКТРОЭНЕРГИЯ") == "True"))).CopyToDataTable(); tmptext += FormatTextForSmena(tmpdt); } catch { } tmptext += "\n4. Инциденты по СПД.\n"; try { tmpdt = (smenaCategory.ClosedIncidentsForSmena24Hours.AsEnumerable().Where(row => (row.Field <string>("ЭЛЕКТРОЭНЕРГИЯ") == "False"))).CopyToDataTable(); tmptext += FormatTextForSmena(tmpdt); } catch { } tmptext += "\n5. Инциденты в работе.\n"; try { tmptext += FormatTextForSmena(smenaCategory.ToDoForNextSmenaKRASN); } catch { } tmptext += "\n6. Инциденты в работе ЮВСТ.\n"; try { tmptext += FormatTextForSmena(smenaCategory.ToDoForNextSmenaUVST); } catch { } //tmptext += "`n`nКол-во решенных переданных ИНЦ КРАСН:."; //tmptext += "ТИ - " +$CountTechnicalFromPreviousSmenaAuto + " ИИ - " + $CountInfrastructureFromPreviousSmenaAuto tmptext += "\n\nЗа сутки обработано:"; tmptext += "\n\nКРАСН: ТИ - " + incidentsCountersSmena24Hours.KRS_TechnoInc + " ИИ - " + incidentsCountersSmena24Hours.KSK_InfraInc; tmptext += "\n\nЮВСТ: ТИ - " + incidentsCountersSmena24Hours.UVST_TechnoInc + " ИИ - " + incidentsCountersSmena24Hours.UVST_InfraInc; tmptext += "\n\nЗСИБ: ТИ - " + incidentsCountersSmena24Hours.ZSIB_TechnoInc + " ИИ - " + incidentsCountersSmena24Hours.ZSIB_InfraInc; tmptext += "\n\nИнтересные ТИ за сутки:"; try { tmptext += FormatTextForSmena(smenaCategory.TI_Incidents24Hours_WithProblem); } catch { } return(tmptext); }
public static SmenaCategory GetIncidentToCategoy(DataTable dt) { var smenaTime = SmenaTime.GetSmenaTime(); SmenaCategory smenaCategory = new SmenaCategory(); //Инциденты с прошлой смены завершенные try { smenaCategory.IncidensFromPreviousSmenaEnd = (dt.AsEnumerable().Where(row => row.Field <string>("ФАКТИЧЕСКОЕ_ЗАВЕРШЕНИЕ") != "" && Convert.ToDateTime(row.Field <string>("ФАКТИЧЕСКОЕ_ЗАВЕРШЕНИЕ")) >= smenaTime.NowSmenaTime && Convert.ToDateTime(row.Field <string>("ВРЕМЯ_СОЗДАНИЯ")) < smenaTime.NowSmenaTime && row.Field <string>("РАБОЧАЯ_ГРУППА").Contains("КРАСН"))).CopyToDataTable(); } catch { } //Инциденты с прошлой смены НЕ завершенные try { smenaCategory.IncidensFromPreviousSmenaNoEnd = (dt.AsEnumerable().Where(row => row.Field <string>("ФАКТИЧЕСКОЕ_ЗАВЕРШЕНИЕ") == "" && Convert.ToDateTime(row.Field <string>("ВРЕМЯ_СОЗДАНИЯ")) < smenaTime.NowSmenaTime && row.Field <string>("РАБОЧАЯ_ГРУППА").Contains("КРАСН"))).CopyToDataTable(); } catch { } //Инциденты за последние 2 смены try { smenaCategory.Smena24Hours = (dt.AsEnumerable().Where(row => Convert.ToDateTime(row.Field <string>("ВРЕМЯ_СОЗДАНИЯ")) >= smenaTime.DaySmenaTime)).CopyToDataTable(); } catch { } //Инциденты за последнию смену try { smenaCategory.LastSmena = (smenaCategory.Smena24Hours.AsEnumerable().Where(row => Convert.ToDateTime(row.Field <string>("ВРЕМЯ_СОЗДАНИЯ")) >= smenaTime.NowSmenaTime)).CopyToDataTable(); } catch { } //Инциденты закрытые за последнюю смену try { smenaCategory.ClosedIncidentsForSmena = (smenaCategory.LastSmena.AsEnumerable().Where(row => row.Field <string>("ИНФРАСТРУКТУРНЫЙ").Contains("true") && row.Field <string>("РАБОЧАЯ_ГРУППА").Contains("КРАСН") && (row.Field <string>("СТАТУС").Contains("Выполнен") || row.Field <string>("СТАТУС").Contains("Закрыт")))) .CopyToDataTable(); } catch { } //Инциденты закрытые за последние 2 смены try { smenaCategory.ClosedIncidentsForSmena24Hours = (smenaCategory.Smena24Hours.AsEnumerable().Where(row => row.Field <string>("ИНФРАСТРУКТУРНЫЙ").Contains("true") && row.Field <string>("РАБОЧАЯ_ГРУППА").Contains("КРАСН") && (row.Field <string>("СТАТУС").Contains("Выполнен") || row.Field <string>("СТАТУС").Contains("Закрыт")))) .CopyToDataTable(); } catch { } //Инциденты остающиеся в работе try { smenaCategory.ToDoForNextSmena = (dt.AsEnumerable().Where(row => (row.Field <string>("СТАТУС").Contains("В работе") || row.Field <string>("СТАТУС").Contains("Приостановлен")))) .CopyToDataTable(); } catch { } //Инциденты остающиеся в работе КРАСН try { smenaCategory.ToDoForNextSmenaKRASN = (smenaCategory.ToDoForNextSmena.AsEnumerable().Where(row => row.Field <string>("РАБОЧАЯ_ГРУППА").Contains("КРАСН"))) .CopyToDataTable(); } catch { } //Инциденты остающиеся в работе ЮВСТ try { smenaCategory.ToDoForNextSmenaUVST = (smenaCategory.ToDoForNextSmena.AsEnumerable().Where(row => row.Field <string>("РАБОЧАЯ_ГРУППА").Contains("ЮВСТ"))) .CopyToDataTable(); } catch { } //Инциденты технические try { smenaCategory.TI_Incidents24Hours = (smenaCategory.Smena24Hours.AsEnumerable().Where(row => row.Field <string>("ТЕХНИЧЕСКИЙ").Contains("true"))) .CopyToDataTable(); } catch { } //Инциденты технические содержащие проблемы try { smenaCategory.TI_Incidents24Hours_WithProblem = (smenaCategory.TI_Incidents24Hours.AsEnumerable().Where(row => row.Field <string>("РЕШЕНИЕ").Contains("ПРБ") && row.Field <string>("РАБОЧАЯ_ГРУППА").Contains("КРАСН"))) .CopyToDataTable(); } catch { } return(smenaCategory); }