internal static void ЗаписатьТроллейбусы(List <ТроллейбусыДляПротокола> listTrol, Маршрут[] masTrol) { int cnt = masTrol.Length; ПротоколExcel.ПропуститьСтроку(); ПротоколExcel.Записать("Результаты тестирования частоты движения троллейбусов"); object[] mas = new object[4 * cnt + 2]; mas[0] = "Интервалы движения, мин."; mas[cnt] = "Число ТС на маршруте, шт."; mas[2 * cnt] = "Суммарный километраж всех рейсов маршрута, км."; mas[3 * cnt] = "Перевезено пас по маршрутам, пас."; ПротоколExcel.Записать(mas); string[] mascode = (from m in masTrol select m.Название).ToArray <string>(); Array.Copy(mascode, 0, mas, 0, cnt); Array.Copy(mascode, 0, mas, cnt, cnt); Array.Copy(mascode, 0, mas, 2 * cnt, cnt); Array.Copy(mascode, 0, mas, 3 * cnt, cnt); mas[4 * cnt] = "Всего пас по всем троллейбусам"; mas[4 * cnt + 1] = "Выручка по всем троллейбусам, руб."; ПротоколExcel.Записать(mas); foreach (ТроллейбусыДляПротокола item in listTrol) { Array.Copy(item.IntervalsTroll, 0, mas, 0, cnt); Array.Copy(item.CountTCTroll, 0, mas, cnt, cnt); Array.Copy(item.AllTrollKm, 0, mas, 2 * cnt, cnt); Array.Copy(item.PassTroll, 0, mas, 3 * cnt, cnt); mas[4 * cnt] = item.AllTrollPass; mas[4 * cnt + 1] = item.AllTrollProfit; ПротоколExcel.Записать(mas); } }
internal static void ЗаписатьРаспределениеТС(Маршрут[] массивМаршрутов) { ПротоколExcel.ПропуститьСтроку(); ПротоколExcel.Записать("Распределение ТС");//, null, null, null, null, null, "Количество автотранспортных средств в одном направлении, ед."); ПротоколExcel.Записать("код маршрута", "Название маршрута", "Номер маршрута", "кол ТС", "Интервал движения, мин", "Оценка среднечасового числа входящих пассажиров, чел/ТС", "Оценка дохода на 1 ТС, руб/час"); string[] masstr; string strCode = "", curCode = "", prevCode = "", nameMarsh = ""; int срчасКолПеревезПасНа1ТС = 0, доходНа1ТСвЧас = 0, числоТСнаМаршруте = 0, интДвижения = 0; foreach (Маршрут marsh in массивМаршрутов) { prevCode = curCode; //определение номера маршрута - объединить прямой и обратный masstr = marsh.Название.Split(new char[] { ' ' }, 2); curCode = masstr[0]; //nameMarsh = masstr[1].Split(new char[] { '(' }, 2)[0]; if (prevCode == curCode) { strCode += "," + marsh.Код; срчасКолПеревезПасНа1ТС += marsh.ПоказателиРаботы.срчасКолПеревезПасНа1ТС; доходНа1ТСвЧас += marsh.ПоказателиРаботы.доходНа1ТСвЧас; } else { if (prevCode != "") { //записать предыдущий маршрут ПротоколExcel.Записать(strCode, nameMarsh, "№ " + prevCode, числоТСнаМаршруте, интДвижения, срчасКолПеревезПасНа1ТС, доходНа1ТСвЧас); } strCode = marsh.Код.ToString(); //nameMarsh = marsh.Название; nameMarsh = masstr[1].Split(new char[] { '(' }, 2)[0]; числоТСнаМаршруте = marsh.ЧислоТСнаМаршруте; интДвижения = (int)Math.Round(marsh.Время1Рейса * 2.0 / marsh.ЧислоТСнаМаршруте); срчасКолПеревезПасНа1ТС = marsh.ПоказателиРаботы.срчасКолПеревезПасНа1ТС; доходНа1ТСвЧас = marsh.ПоказателиРаботы.доходНа1ТСвЧас; } } //записать последний маршрут ПротоколExcel.Записать(strCode, nameMarsh, "№ " + prevCode, числоТСнаМаршруте, интДвижения, срчасКолПеревезПасНа1ТС, доходНа1ТСвЧас); }
public static void ЗаписатьВсеОстановки(Остановка[] массивОстановок) { ПротоколExcel.ПропуститьСтроку(); ПротоколExcel.Записать("Данные по всем остановкам"); ПротоколExcel.Записать("код", "Название", "кол появ пас", "кол отправ пас", "кол недождавш пас", "кол оставшихся пас", "макс кол авто", "макс кол ожид пас", "сред время ожид пас", "кол приб пас"); for (int i = 0; i < массивОстановок.Length; i++) { ПротоколExcel.Записать(массивОстановок[i].показателиРаботы.КодОстановки, массивОстановок[i].Название, массивОстановок[i].показателиРаботы.СуммКолПоявившПассажиров, массивОстановок[i].показателиРаботы.СуммКолОтпрПассажиров, массивОстановок[i].показателиРаботы.СуммКолНедождПассажиров, массивОстановок[i].показателиРаботы.СуммКолПасОставшНаОст, массивОстановок[i].показателиРаботы.МаксКолАвтоНаОст, массивОстановок[i].показателиРаботы.МаксКолОжидПассжиров, массивОстановок[i].показателиРаботы.СредВремяОжидНаОст, массивОстановок[i].показателиРаботы.СуммКолПрибПассажиров); } }
public static void ЗаписатьТаблМаршрут(Маршрут[] массивМаршрутов) { ПротоколExcel.ПропуститьСтроку(); ПротоколExcel.Записать("Данные по рейсам маршрутов"); ПротоколExcel.Записать("код маршрута", "Номер маршрута", "кол рейсов", "макс вместимость 1 ТС", "макс перевез за 1 рейс", "макс Коэф Исп Вмест за 1 рейс", "Коэф Исп Вмест по маршруту", "кол ТС на маршруте", "время 1 рейса", "тип ТС", "кол перевезенных", "выручка"); foreach (Маршрут marsh in массивМаршрутов) { ПротоколExcel.Записать(marsh.Код, marsh.Название, marsh.ПоказателиРаботы.колВыполненРейсов, marsh.Вместимость1Рейса, marsh.ПоказателиРаботы.МаксКолВошедЗа1Рейс, marsh.ПоказателиРаботы.МаксКоэфИсполВмесЗа1Рейс, marsh.ПоказателиРаботы.коэфИспользВместим, marsh.ЧислоТСнаМаршруте, marsh.Время1Рейса, marsh.СокращениеТипаТС, marsh.ПоказателиРаботы.сумКолПеревезПассаж, marsh.ПоказателиРаботы.Выручка); } }