示例#1
0
        public void GetFinalReportText(DataTable dtfromfile)
        {
            SmenaCategory smenaCategory = IncidentToCategories.GetIncidentToCategoy(dtfromfile);


            //MessageBox.Show(FullSmenaReport(smenaCategory, dtfromfile));
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }