/// <summary> /// Runs the comparison report against the supplied filter /// </summary> /// <param name="_fitler">The filter we want to run against this KPA</param> /// <param name="_option">The filter option where this fitler was obtained</param> public override void RunComparison(string _filter, FilterOptions.Options _filterOption) { try { DataTable dt = KpaUtils.FollowUpQueries.GetDueTodayOrLateToConfirmed(); double totalDays = 0; // remove any apostraphe's from the filter as an exception will be thrown. CleanFilter(ref _filter); // Get the fitlered data rows from the datatable DataRow[] filteredResult = dt.Select(FilterOptions.GetSelectStatement(_filterOption, _filter)); foreach (DataRow dr in filteredResult) { //Check if the datarow meets the conditions of any applied filters. if (!Filters.FilterUtils.EvaluateAgainstFilters(dr)) { // This datarow dos not meet the conditions of the filters applied. continue; } string[] strDate = (dr["Latest Conf#Dt"].ToString()).Split('/'); int year = int.Parse(strDate[2]); int month = int.Parse(strDate[0].TrimStart('0')); int day = int.Parse(strDate[1].TrimStart('0')); DateTime date = new DateTime(year, month, day); DateTime today = DateTime.Now.Date; if (date > today) { continue; } double elapsedDays = (today - date).TotalDays; totalDays += elapsedDays; elapsedDays = (int)elapsedDays; // Apply the elapsed days against the time spand conditions template.TimeSpanDump(elapsedDays); } // Calculate the average for this KPA template.CalculateAverage(totalDays); dt.Rows.Clear(); dt = null; GC.Collect(); } catch (Exception) { MessageBox.Show("An argument out of range exception was thrown", "Folow Up -> Due Today or Late to Confirmed - Comparison Run Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } }
/// <summary> /// Runs the comparison report against the supplied filter /// </summary> /// <param name="_fitler">The filter we want to run against this KPA</param> /// <param name="_option">The filter option where this fitler was obtained</param> public override void RunComparison(string _filter, FilterOptions.Options _filterOption) { try { DataTable dt = KpaUtils.ExcessStockOpenOrdersQueries.GetPrsAgingNotReleased(); double totalDays = 0; // remove any apostraphe's from the filter as an exception will be thrown. CleanFilter(ref _filter); // Get the fitlered data rows from the datatable DataRow[] filteredResult = dt.Select(FilterOptions.GetSelectStatement(_filterOption, _filter)); foreach (DataRow dr in filteredResult) { //Check if the datarow meets the conditions of any applied filters. if (!FilterUtils.EvaluateAgainstFilters(dr)) { // This datarow dos not meet the conditions of the filters applied. continue; } string[] reqCreationDate = (dr["Requisn Date"].ToString()).Split('/'); int year = int.Parse(reqCreationDate[2]); int month = int.Parse(reqCreationDate[0].TrimStart('0')); int day = int.Parse(reqCreationDate[1].TrimStart('0')); DateTime reqDate = new DateTime(year, month, day); DateTime today = DateTime.Now.Date; double elapsedDays = (today - reqDate).TotalDays; totalDays += elapsedDays; elapsedDays = (int)elapsedDays; template.TotalRecords++; } // Calculate the average for this KPA template.CalculateAverage(totalDays); dt.Rows.Clear(); dt = null; GC.Collect(); } catch (Exception) { MessageBox.Show("An argument out of range exception was thrown", "Excess Stock - Open Orders -> PR Aging (Not Released) - Comparison Run Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } }
/// <summary> /// Runs the comparison report against the supplied filter /// </summary> /// <param name="_fitler">The filter we want to run against this KPA</param> /// <param name="_option">The filter option where this fitler was obtained</param> public override void RunComparison(string _filter, FilterOptions.Options _filterOption) { try { DataTable dt = KpaUtils.ExcessStockStockQueries.GetPrsAgingReleased(); double totalDays = 0; // remove any apostraphe's from the filter as an exception will be thrown. CleanFilter(ref _filter); // Get the fitlered data rows from the datatable DataRow[] filteredResult = dt.Select(FilterOptions.GetSelectStatement(_filterOption, _filter)); foreach (DataRow dr in filteredResult) { //Check if the datarow meets the conditions of any applied filters. if (!Filters.FilterUtils.EvaluateAgainstFilters(dr)) { // This datarow dos not meet the conditions of the filters applied. continue; } #region EVASO_BUT_NOT_FULLY_RELEASED_CHECK string[] strPrFullyRelDate = (dr["PR Fully Rel Date"].ToString()).Split('/'); int prFullyRelYear = int.Parse(strPrFullyRelDate[2]); int prFullyRelMonth = int.Parse(strPrFullyRelDate[0]); int prFullyRelDay = int.Parse(strPrFullyRelDate[1]); if (prFullyRelYear == 0 && prFullyRelMonth == 0 && prFullyRelDay == 0) { // This PR line or PR in general might have been delted continue; } #endregion DateTime prFullyRelDt = new DateTime(prFullyRelYear, prFullyRelMonth, prFullyRelDay); double elapsedDays = (DateTime.Now - prFullyRelDt).TotalDays; totalDays += elapsedDays; elapsedDays = (int)elapsedDays; // Apply the elapsed days against the time span dump template.TimeSpanDump(elapsedDays); } // Calculate the average for this KPA template.CalculateAverage(totalDays); dt.Rows.Clear(); dt = null; GC.Collect(); } catch (Exception) { MessageBox.Show("An argument out of range exception was thrown", "Excess Stock - Open Orders -> Prs Aging (Released) - Comparison Run Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } }
/// <summary> /// Runs the comparison report against the supplied filter /// </summary> /// <param name="_fitler">The filter we want to run against this KPA</param> /// <param name="_option">The filter option where this fitler was obtained</param> public override void RunComparison(string _filter, FilterOptions.Options _filterOption) { try { DataTable dt = KpaUtils.PurchQueries.GetPoFirstRelease(); double totalDays = 0; // remove any apostraphe's from the filter as an exception will be thrown. CleanFilter(ref _filter); // Get the fitlered data rows from the datatable DataRow[] filteredResult = dt.Select(FilterOptions.GetSelectStatement(_filterOption, _filter)); foreach (DataRow dr in filteredResult) { //Check if the datarow meets the conditions of any applied filters. if (!Filters.FilterUtils.EvaluateAgainstFilters(dr)) { // This datarow dos not meet the conditions of the filters applied. continue; } string[] strDate = (dr["PO Line Creat#DT"].ToString()).Split('/'); int year = int.Parse(strDate[2]); int month = int.Parse(strDate[0]); int day = int.Parse(strDate[1]); ////////////////////////////////////////////////////////////////////////////// // // // The below if statement was added on 03/27/2018. // ----------------------------------------------- // There was some issues with a few POs that conatined dates of 00/00/0000 // that were causing erros. This if else statement ignores those files. // ////////////////////////////////////////////////////////////////////////////// if (day == 0 && month == 0 && year == 0) { // This situation is a SAP issue. We should never have POs that dont // have a PO creation date. // Skip these records continue; } else { // trim the zeros off of month and day if there is any. month = int.Parse(strDate[0].Trim('0')); day = int.Parse(strDate[1].Trim('0')); } DateTime date = new DateTime(year, month, day); DateTime today = DateTime.Now.Date; double elapsedDays = (today - date).TotalDays; totalDays += elapsedDays; elapsedDays = (int)elapsedDays; // Apply the elapsed days against the time span dump template.TimeSpanDump(elapsedDays); } // Calculate the average for this KPA template.CalculateAverage(totalDays); dt.Rows.Clear(); dt = null; GC.Collect(); } catch (Exception) { MessageBox.Show("An argument out of range exception was thrown", "Purch -> PO First Release - Comparison Run Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } }
/// <summary> /// Runs the comparison report against the supplied filter /// </summary> /// <param name="_fitler">The filter we want to run against this KPA</param> /// <param name="_option">The filter option where this fitler was obtained</param> public override void RunComparison(string _filter, FilterOptions.Options _filterOption) { try { DataTable dt = KpaUtils.FollowUpQueries.GetConfirmedDateVsPlanDate(); double totalDays = 0; // remove any apostraphe's from the filter as an exception will be thrown. CleanFilter(ref _filter); // Get the fitlered data rows from the datatable DataRow[] filteredResult = dt.Select(FilterOptions.GetSelectStatement(_filterOption, _filter)); foreach (DataRow dr in filteredResult) { //Check if the datarow meets the conditions of any applied filters. if (!Filters.FilterUtils.EvaluateAgainstFilters(dr)) { // This datarow dos not meet the conditions of the filters applied. continue; } string[] strCurrConfDate = (dr["Latest Conf#Dt"].ToString()).Split('/'); int delConfYear = int.Parse(strCurrConfDate[2]); int delConfMonth = int.Parse(strCurrConfDate[0].TrimStart('0')); int delConfDay = int.Parse(strCurrConfDate[1].TrimStart('0')); DateTime delConfDate = new DateTime(delConfYear, delConfMonth, delConfDay); string[] strCurrPlanDate = (dr["Rescheduling date"].ToString()).Split('/'); int currConfYear = int.Parse(strCurrPlanDate[2]); int currConfMonth = int.Parse(strCurrPlanDate[0]); int currConfDay = int.Parse(strCurrPlanDate[1]); if (currConfYear == 0 && currConfMonth == 0 && currConfDay == 0) { string[] strNewCurrConfDate = (dr["Delivery Date"].ToString()).Split('/'); currConfYear = int.Parse(strNewCurrConfDate[2]); currConfMonth = int.Parse(strNewCurrConfDate[0].TrimStart('0')); currConfDay = int.Parse(strNewCurrConfDate[1].TrimStart('0')); } else { currConfYear = int.Parse(strCurrPlanDate[2]); currConfMonth = int.Parse(strCurrPlanDate[0].TrimStart('0')); currConfDay = int.Parse(strCurrPlanDate[1].TrimStart('0')); } DateTime currPlanDate = new DateTime(currConfYear, currConfMonth, currConfDay); double elapsedDays = (delConfDate - currPlanDate).TotalDays; totalDays += elapsedDays; elapsedDays = (int)elapsedDays; // Apply the elapsed days against the time spand conditions template.TimeSpanDump(elapsedDays); } // Calculate the average for this KPA template.CalculateAverage(totalDays); // Caclulate the percent favorable for this KPA CalculatePercentFavorable(); dt.Rows.Clear(); dt = null; GC.Collect(); } catch (ArgumentOutOfRangeException) { MessageBox.Show("An argument out of range exception was thrown", "Folow Up -> Confirmed Date vs Plan Date - Comparison Run Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } }