private void btnHH_Click(object sender, RoutedEventArgs e) { InvokeOperation currentOper=context.getGraphVyrabHH(settings.Date, oper => { if (oper.IsCanceled) { return; } GlobalStatus.Current.StartProcess(); try { ChartAnswer answer=oper.Value.Chart; chartControl.Create(answer); currentAnswer = oper.Value; tabHHReport.Visibility = System.Windows.Visibility.Visible; tabHReport.Visibility = System.Windows.Visibility.Visible; tabHHRGEReport.Visibility = System.Windows.Visibility.Collapsed; tabHRGEReport.Visibility = System.Windows.Visibility.Collapsed; tabChartRGE.Visibility = System.Windows.Visibility.Collapsed; tabChart.Visibility = System.Windows.Visibility.Visible; tabChart.IsSelected = true; cntrlHHReport.grdReport.ItemsSource = currentAnswer.TableHH; cntrlHReport.grdReport.ItemsSource = currentAnswer.TableH; } catch (Exception ex) { Logging.Logger.info(ex.ToString()); GlobalStatus.Current.ErrorLoad("Ошибка"); } finally { GlobalStatus.Current.StopLoad(); } }, null); GlobalStatus.Current.StartLoad(currentOper); }
public static CheckGraphVyrabAnswer getAnswerHH(DateTime date) { DateTime dateStart=date.Date; DateTime dateEnd=date.Date.AddHours(24); CheckGraphVyrabAnswer answer=new CheckGraphVyrabAnswer(); PBRDataHH ges=new PBRDataHH(dateStart, dateEnd, GTPEnum.ges); PBRDataHH gtp1=new PBRDataHH(dateStart, dateEnd, GTPEnum.gtp1); PBRDataHH gtp2=new PBRDataHH(dateStart, dateEnd, GTPEnum.gtp2); answer.Chart = new ChartAnswer(); answer.Chart.Properties = getChartProperties(true); answer.Chart.Data = new ChartData(); gtp1.InitData(); gtp2.InitData(); ges.InitData(); CheckGraphVyrabTableRow rowFull=new CheckGraphVyrabTableRow(); rowFull.Title = "Итог"; CheckGraphVyrabTableRow rowMin=new CheckGraphVyrabTableRow(); rowMin.Title = "Итог -"; CheckGraphVyrabTableRow rowPl=new CheckGraphVyrabTableRow(); rowPl.Title = "Итог +"; answer.TableH.Add(rowFull); answer.TableH.Add(rowMin); answer.TableH.Add(rowPl); answer.TableHH.Add(rowFull); answer.TableHH.Add(rowMin); answer.TableHH.Add(rowPl); foreach (DateTime dt in ges.HalfHoursPBR.Keys) { CheckGraphVyrabTableRow row=new CheckGraphVyrabTableRow(); row.Title = dt.ToString("dd.MM.yy HH:mm"); row.GESFakt = ges.HalfHoursP[dt]; row.GESPlan = ges.HalfHoursPBR[dt]; row.GESDiff = ges.HalfHoursP[dt] - ges.HalfHoursPBR[dt]; row.GESDiffProc = PBRData.getDiffProc(ges.HalfHoursP[dt], ges.HalfHoursPBR[dt]); row.GTP1Fakt = gtp1.HalfHoursP[dt]; row.GTP1Plan = gtp1.HalfHoursPBR[dt]; row.GTP1Diff = gtp1.HalfHoursP[dt] - gtp1.HalfHoursPBR[dt]; row.GTP1DiffProc = PBRData.getDiffProc(gtp1.HalfHoursP[dt], gtp1.HalfHoursPBR[dt]); row.GTP2Fakt = gtp2.HalfHoursP[dt]; row.GTP2Plan = gtp2.HalfHoursPBR[dt]; row.GTP2Diff = gtp2.HalfHoursP[dt] - gtp2.HalfHoursPBR[dt]; row.GTP2DiffProc = PBRData.getDiffProc(gtp2.HalfHoursP[dt], gtp2.HalfHoursPBR[dt]); rowMin.GESFakt += row.GESFakt / 2; rowPl.GESFakt += row.GESFakt / 2; rowFull.GESFakt += row.GESFakt / 2; rowMin.GESPlan += row.GESPlan / 2; rowPl.GESPlan += row.GESPlan / 2; rowFull.GESPlan += row.GESPlan / 2; rowMin.GESDiff += row.GESDiff < 0 ? row.GESDiff/2 : 0; rowPl.GESDiff += row.GESDiff > 0 ? row.GESDiff/2 : 0; rowFull.GESDiff += row.GESDiff/2; rowMin.GTP1Fakt += row.GTP1Fakt / 2; rowPl.GTP1Fakt += row.GTP1Fakt / 2; rowFull.GTP1Fakt += row.GTP1Fakt / 2; rowMin.GTP1Plan += row.GTP1Plan / 2; rowPl.GTP1Plan += row.GTP1Plan / 2; rowFull.GTP1Plan += row.GTP1Plan / 2; rowMin.GTP1Diff += row.GTP1Diff < 0 ? row.GTP1Diff / 2 : 0; rowPl.GTP1Diff += row.GTP1Diff > 0 ? row.GTP1Diff / 2 : 0; rowFull.GTP1Diff += row.GTP1Diff / 2; rowMin.GTP2Fakt += row.GTP2Fakt / 2; rowPl.GTP2Fakt += row.GTP2Fakt / 2; rowFull.GTP2Fakt += row.GTP2Fakt / 2; rowMin.GTP2Plan += row.GTP2Plan / 2; rowPl.GTP2Plan += row.GTP2Plan / 2; rowFull.GTP2Plan += row.GTP2Plan / 2; rowMin.GTP2Diff += row.GTP2Diff < 0 ? row.GTP2Diff / 2 : 0; rowPl.GTP2Diff += row.GTP2Diff > 0 ? row.GTP2Diff / 2 : 0; rowFull.GTP2Diff += row.GTP2Diff / 2; answer.TableHH.Add(row); } rowMin.GESDiffProc = PBRData.getDiffProcDiff(rowMin.GESDiff, rowMin.GESPlan); rowPl.GESDiffProc = PBRData.getDiffProcDiff(rowPl.GESDiff, rowPl.GESPlan); rowFull.GESDiffProc = PBRData.getDiffProc(rowFull.GESFakt, rowFull.GESPlan); rowMin.GTP1DiffProc = PBRData.getDiffProcDiff(rowMin.GTP1Diff, rowMin.GTP1Plan); rowPl.GTP1DiffProc = PBRData.getDiffProcDiff( rowPl.GTP1Diff, rowPl.GTP1Plan); rowFull.GTP1DiffProc = PBRData.getDiffProc(rowFull.GTP1Fakt, rowFull.GTP1Plan); rowMin.GTP2DiffProc = PBRData.getDiffProcDiff(rowMin.GTP2Diff, rowMin.GTP2Plan); rowPl.GTP2DiffProc = PBRData.getDiffProcDiff(rowPl.GTP2Diff, rowPl.GTP2Plan); rowFull.GTP2DiffProc = PBRData.getDiffProc(rowFull.GTP2Fakt, rowFull.GTP2Plan); foreach (DateTime dt in ges.HoursPBR.Keys) { CheckGraphVyrabTableRow row=new CheckGraphVyrabTableRow(); row.Title = dt.ToString("dd.MM.yy HH:mm"); row.GESFakt = ges.HoursP[dt]; row.GESPlan = ges.HoursPBR[dt]; row.GESDiff = ges.HoursP[dt] - ges.HoursPBR[dt]; row.GESDiffProc = PBRData.getDiffProc(ges.HoursP[dt], ges.HoursPBR[dt]); row.GTP1Fakt = gtp1.HoursP[dt]; row.GTP1Plan = gtp1.HoursPBR[dt]; row.GTP1Diff = gtp1.HoursP[dt] - gtp1.HoursPBR[dt]; row.GTP1DiffProc = PBRData.getDiffProc(gtp1.HoursP[dt], gtp1.HoursPBR[dt]); row.GTP2Fakt = gtp2.HoursP[dt]; row.GTP2Plan = gtp2.HoursPBR[dt]; row.GTP2Diff = gtp2.HoursP[dt] - gtp2.HoursPBR[dt]; row.GTP2DiffProc = PBRData.getDiffProc(gtp2.HoursP[dt], gtp2.HoursPBR[dt]); answer.TableH.Add(row); } answer.Chart.Data.addSerie(getDataSerie("gtp1Fakt", gtp1.HalfHoursP, -30)); answer.Chart.Data.addSerie(getDataSerie("gtp2Fakt", gtp2.HalfHoursP, -30)); answer.Chart.Data.addSerie(getDataSerie("gesFakt", ges.HalfHoursP, -30)); answer.Chart.Data.addSerie(getDataSerie("gtp1Plan", gtp1.HalfHoursPBR, -30)); answer.Chart.Data.addSerie(getDataSerie("gtp2Plan", gtp2.HalfHoursPBR, -30)); answer.Chart.Data.addSerie(getDataSerie("gesPlan", ges.HalfHoursPBR, -30)); answer.Chart.Properties.removeSerie("vyrabFakt"); answer.Chart.Properties.removeSerie("vyrabPlan"); return answer; }
public static CheckGraphVyrabAnswer getAnswerHH(DateTime date) { DateTime dateStart=date.Date; DateTime dateEnd=date.Date.AddHours(24); CheckGraphVyrabAnswer answer=new CheckGraphVyrabAnswer(); PBRDataHH ges=new PBRDataHH(dateStart, dateEnd, 0); PBRDataHH gtp1=new PBRDataHH(dateStart, dateEnd, 1); PBRDataHH gtp2=new PBRDataHH(dateStart, dateEnd, 2); answer.Chart = new ChartAnswer(); answer.Chart.Properties = getChartProperties(); answer.Chart.Data = new ChartData(); gtp1.InitData(); gtp2.InitData(); ges.InitData(); foreach (DateTime dt in ges.HalfHoursPBR.Keys) { CheckGraphVyrabTableRow row=new CheckGraphVyrabTableRow(); row.Title = dt.ToString("dd.MM.yy HH:mm"); row.GESFakt = ges.HalfHoursP[dt]; row.GESPlan = ges.HalfHoursPBR[dt]; row.GESDiff = ges.HalfHoursP[dt] - ges.HalfHoursPBR[dt]; row.GESDiffProc = PBRData.getDiffProc(ges.HalfHoursP[dt], ges.HalfHoursPBR[dt]); row.GTP1Fakt = gtp1.HalfHoursP[dt]; row.GTP1Plan = gtp1.HalfHoursPBR[dt]; row.GTP1Diff = gtp1.HalfHoursP[dt] - gtp1.HalfHoursPBR[dt]; row.GTP1DiffProc = PBRData.getDiffProc(gtp1.HalfHoursP[dt], gtp1.HalfHoursPBR[dt]); row.GTP2Fakt = gtp2.HalfHoursP[dt]; row.GTP2Plan = gtp2.HalfHoursPBR[dt]; row.GTP2Diff = gtp2.HalfHoursP[dt] - gtp2.HalfHoursPBR[dt]; row.GTP2DiffProc = PBRData.getDiffProc(gtp2.HalfHoursP[dt], gtp2.HalfHoursPBR[dt]); answer.TableHH.Add(row); } foreach (DateTime dt in ges.HoursPBR.Keys) { CheckGraphVyrabTableRow row=new CheckGraphVyrabTableRow(); row.Title = dt.ToString("dd.MM.yy HH:mm"); row.GESFakt = ges.HoursP[dt]; row.GESPlan = ges.HoursPBR[dt]; row.GESDiff = ges.HoursPBR[dt] - ges.HoursP[dt]; row.GESDiffProc = PBRData.getDiffProc(ges.HoursP[dt], ges.HoursPBR[dt]); row.GTP1Fakt = gtp1.HoursP[dt]; row.GTP1Plan = gtp1.HoursPBR[dt]; row.GTP1Diff = gtp1.HoursPBR[dt] - gtp1.HoursP[dt]; row.GTP1DiffProc = PBRData.getDiffProc(gtp1.HoursP[dt], gtp1.HoursPBR[dt]); row.GTP2Fakt = gtp2.HoursP[dt]; row.GTP2Plan = gtp2.HoursPBR[dt]; row.GTP2Diff = gtp2.HoursPBR[dt] - gtp2.HoursP[dt]; row.GTP2DiffProc = PBRData.getDiffProc(gtp2.HoursP[dt], gtp2.HoursPBR[dt]); answer.TableH.Add(row); } answer.Chart.Data.addSerie(getDataSerie("gtp1Fakt", gtp1.HalfHoursP, -30)); answer.Chart.Data.addSerie(getDataSerie("gtp2Fakt", gtp2.HalfHoursP, -30)); answer.Chart.Data.addSerie(getDataSerie("gesFakt", ges.HalfHoursP, -30)); answer.Chart.Data.addSerie(getDataSerie("gtp1Plan", gtp1.HalfHoursPBR, -30)); answer.Chart.Data.addSerie(getDataSerie("gtp2Plan", gtp2.HalfHoursPBR, -30)); answer.Chart.Data.addSerie(getDataSerie("gesPlan", ges.HalfHoursPBR, -30)); answer.Chart.Properties.removeSerie("vyrabFakt"); answer.Chart.Properties.removeSerie("vyrabPlan"); return answer; }