Removed console logging for hold date and added display of daily and weekly part changes (completed and projected).
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using ReportingServices.Shared.Models.PlanningReport;
|
||||
using ReportingServices.Shared.Models.ProductionReport;
|
||||
using ReportingServices.Shared.ViewModels.ProductionReport;
|
||||
|
||||
@ -75,6 +76,10 @@ public static class DailyReportHelper
|
||||
Task<OutsAndScrapTotal> task5 = null;
|
||||
Task<OutsAndScrapTotal> task6 = null;
|
||||
Task<List<string>> task7 = null;
|
||||
Task<List<ReactorPSNWORuns>> task8 = null;
|
||||
Task<List<ReactorPSNWORuns>> task9 = null;
|
||||
Task<List<ReactorPSNWORuns>> task10 = null;
|
||||
Task<List<ReactorPSNWORuns>> task11 = null;
|
||||
|
||||
try
|
||||
{
|
||||
@ -109,6 +114,10 @@ public static class DailyReportHelper
|
||||
task5 = ApiCaller.GetApi<OutsAndScrapTotal>(baseUrlScrapeDb + "GetOutsAndScrapTotals?startDate=" + task3.Result + "&endDate=" + report.StartDate.ToString());
|
||||
task6 = ApiCaller.GetApi<OutsAndScrapTotal>(baseUrlScrapeDb + "GetOutsAndScrapTotals?startDate=" + task3.Result + "&endDate=" + report.StartDate.AddDays(-7).ToString());
|
||||
task7 = ApiCaller.GetApi<List<string>>(baseUrlScrapeDb + "GetCurrentHotWORunning");
|
||||
task8 = ApiCaller.GetApi<List<ReactorPSNWORuns>>(baseUrlScrapeDb + "GetReactorPartChanges?startDate=" + currentDateTime.Date.ToString() + "&endDate=" + currentDateTime.ToString());
|
||||
task9 = ApiCaller.GetApi<List<ReactorPSNWORuns>>(baseUrlScrapeDb + "GetProjectedPartChanges?startDate=" + currentDateTime.ToString() + "&endDate=" + currentDateTime.Date.AddDays(1).ToString());
|
||||
task10 = ApiCaller.GetApi<List<ReactorPSNWORuns>>(baseUrlScrapeDb + "GetReactorPartChanges?startDate=" + report.StartDate.ToString() + "&endDate=" + currentDateTime.ToString());
|
||||
task11 = ApiCaller.GetApi<List<ReactorPSNWORuns>>(baseUrlScrapeDb + "GetProjectedPartChanges?startDate=" + currentDateTime.ToString() + "&endDate=" + report.StartDate.AddDays(7).ToString());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -166,6 +175,13 @@ public static class DailyReportHelper
|
||||
report.CurrentHotWORunning.Add("R50");
|
||||
|
||||
report.CurrentHotWORunning.Sort();
|
||||
|
||||
report.CompletedDailyPartChanges = task8.Result;
|
||||
report.ProjectedDailyPartChanges = task9.Result;
|
||||
|
||||
report.CompletedWeeklyPartChanges = task10.Result;
|
||||
report.ProjectedWeeklyPartChanges = task11.Result;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -8,6 +8,8 @@ public class ReactorPSNWORuns
|
||||
public string REACTOR { get; set; }
|
||||
[JsonPropertyName("PSN")]
|
||||
public string PSN { get; set; }
|
||||
[JsonPropertyName("WO")]
|
||||
public string WO { get; set; }
|
||||
[JsonPropertyName("WO_COUNT")]
|
||||
public int WO_COUNT { get; set; }
|
||||
}
|
@ -15,6 +15,4 @@ public class ManualReportEntries
|
||||
public int MaintenanceCallOutsDays { get; set; }
|
||||
public int MaintenanceCallOutsNights { get; set; }
|
||||
public string BottleChanges { get; set; }
|
||||
public string DailyPartChanges { get; set; }
|
||||
public string WeeklyPartChanges { get; set; }
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace ReportingServices.Shared.Models.ProductionReport;
|
||||
public class ScheduledEvent
|
||||
{
|
||||
[JsonPropertyName("REACT_NO")]
|
||||
public string REACT_NO { get; set; }
|
||||
[JsonPropertyName("WO_NO")]
|
||||
public string WO_NO { get; set; }
|
||||
[JsonPropertyName("PROD_SPEC_ID")]
|
||||
public string PROD_SPEC_ID { get; set; }
|
||||
[JsonPropertyName("START_DTM")]
|
||||
public DateTime START_DTM { get; set; }
|
||||
[JsonPropertyName("STOP_DTM")]
|
||||
public DateTime STOP_DTM { get; set; }
|
||||
[JsonPropertyName("BLOCKOUT")]
|
||||
public string BLOCKOUT { get; set; }
|
||||
[JsonPropertyName("BLOCKOUT_TYPE")]
|
||||
public string BLOCKOUT_TYPE { get; set; }
|
||||
}
|
@ -124,10 +124,10 @@ public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
|
||||
|
||||
SqlCommand cmd = _connection.CreateCommand();
|
||||
|
||||
string query = "SELECT REACTOR, PROD_SPEC_ID, COUNT(WO) FROM RDS " +
|
||||
"WHERE DATE_OUT BETWEEN @startDate AND @endDate " +
|
||||
"GROUP BY REACTOR, PROD_SPEC_ID " +
|
||||
"ORDER BY 1";
|
||||
string query = "SELECT REACTOR, PROD_SPEC_ID, WO, COUNT(WO) FROM RDS " +
|
||||
" WHERE DATE_OUT BETWEEN @startDate AND @endDate " +
|
||||
"GROUP BY REACTOR, PROD_SPEC_ID, WO " +
|
||||
"ORDER BY 1";
|
||||
|
||||
cmd.CommandText = query;
|
||||
_ = cmd.Parameters.AddWithValue("@startDate", startDate);
|
||||
@ -140,7 +140,55 @@ public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
|
||||
{
|
||||
REACTOR = reader[0].ToString(),
|
||||
PSN = reader[1].ToString(),
|
||||
WO_COUNT = int.Parse(reader[2].ToString())
|
||||
WO = reader[2].ToString(),
|
||||
WO_COUNT = int.Parse(reader[3].ToString())
|
||||
});
|
||||
}
|
||||
|
||||
cmd.Dispose();
|
||||
|
||||
CloseConnection();
|
||||
|
||||
return weeklyPartChanges;
|
||||
}
|
||||
|
||||
public List<ReactorPSNWORuns> GetReactorPartChanges(string startDate, string endDate)
|
||||
{
|
||||
List<ReactorPSNWORuns> weeklyPartChanges = new();
|
||||
|
||||
OpenConnection();
|
||||
|
||||
SqlCommand cmd = _connection.CreateCommand();
|
||||
|
||||
string query = "SELECT REACTOR, PROD_SPEC_ID, WO, COUNT(WO) AS WO_COUNT FROM RDS " +
|
||||
" WHERE DATE_OUT BETWEEN @startDate AND @endDate " +
|
||||
" AND REACTOR IN (SELECT REACTOR " +
|
||||
" FROM (SELECT REACTOR, " +
|
||||
" COUNT(PROD_SPEC_ID) - 1 AS PCHANGE " +
|
||||
" FROM (SELECT REACTOR, " +
|
||||
" PROD_SPEC_ID, " +
|
||||
" COUNT(WO) AS PSN_COUNT " +
|
||||
" FROM RDS " +
|
||||
" WHERE DATE_OUT BETWEEN @startDate AND @endDate " +
|
||||
" GROUP BY REACTOR, PROD_SPEC_ID) AS t " +
|
||||
" GROUP BY REACTOR) AS l " +
|
||||
" WHERE l.PCHANGE > 0) " +
|
||||
"GROUP BY REACTOR, PROD_SPEC_ID, WO " +
|
||||
"ORDER BY 1";
|
||||
|
||||
cmd.CommandText = query;
|
||||
_ = cmd.Parameters.AddWithValue("@startDate", startDate);
|
||||
_ = cmd.Parameters.AddWithValue("@endDate", endDate);
|
||||
|
||||
using (SqlDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
weeklyPartChanges.Add(new ReactorPSNWORuns
|
||||
{
|
||||
REACTOR = "R" + reader[0].ToString(),
|
||||
PSN = reader[1].ToString(),
|
||||
WO = reader[2].ToString(),
|
||||
WO_COUNT = int.Parse(reader[3].ToString())
|
||||
});
|
||||
}
|
||||
|
||||
@ -593,7 +641,7 @@ public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
|
||||
|
||||
SqlCommand cmd = _connection.CreateCommand();
|
||||
|
||||
string query = "SELECT REACT_NO " +
|
||||
string query = "SELECT DISTINCT(REACT_NO) " +
|
||||
" FROM SCHED_DET_NG schd " +
|
||||
"INNER JOIN WO_LOG wlog ON WO = WO_NO " +
|
||||
" WHERE STOP_DTM > SYSDATETIME() " +
|
||||
@ -615,4 +663,108 @@ public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
|
||||
|
||||
return lots;
|
||||
}
|
||||
|
||||
public List<ScheduledEvent> GetScheduledEvents(string startDate, string endDate)
|
||||
{
|
||||
List<ScheduledEvent> events = new();
|
||||
|
||||
OpenConnection();
|
||||
|
||||
SqlCommand cmd = _connection.CreateCommand();
|
||||
|
||||
string query = "SELECT REACT_NO, " +
|
||||
" schd.WO_NO, " +
|
||||
" PROC_SPEC_ID, " +
|
||||
" START_DTM, " +
|
||||
" STOP_DTM, " +
|
||||
" BLOCKOUT, " +
|
||||
" BLOCK_OUT_TYPE " +
|
||||
" FROM SCHED_DET_NG schd " +
|
||||
"FULL OUTER JOIN WO_STEP step " +
|
||||
" ON step.WO_NO = schd.WO_NO " +
|
||||
" WHERE ((STOP_DTM > @startDate AND STOP_DTM < @endDate) " +
|
||||
" OR (START_DTM > @startDate AND START_DTM < @endDate)) " +
|
||||
"ORDER BY REACT_NO, START_DTM ASC";
|
||||
|
||||
cmd.CommandText = query;
|
||||
_ = cmd.Parameters.AddWithValue("@startDate", startDate);
|
||||
_ = cmd.Parameters.AddWithValue("@endDate", endDate);
|
||||
|
||||
using (SqlDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
events.Add(new ScheduledEvent
|
||||
{
|
||||
REACT_NO = reader[0].ToString(),
|
||||
WO_NO = reader[1].ToString(),
|
||||
PROD_SPEC_ID = reader[2].ToString(),
|
||||
START_DTM = DateTime.Parse(reader[3].ToString()),
|
||||
STOP_DTM = DateTime.Parse(reader[4].ToString()),
|
||||
BLOCKOUT = reader[5].ToString(),
|
||||
BLOCKOUT_TYPE = reader[6].ToString()
|
||||
});
|
||||
}
|
||||
|
||||
cmd.Dispose();
|
||||
|
||||
CloseConnection();
|
||||
|
||||
return events;
|
||||
}
|
||||
|
||||
public List<ReactorPSNWORuns> GetProjectedPartChanges(string startDate, string endDate)
|
||||
{
|
||||
List<ReactorPSNWORuns> events = new();
|
||||
|
||||
OpenConnection();
|
||||
|
||||
SqlCommand cmd = _connection.CreateCommand();
|
||||
|
||||
string query = "SELECT REACT_NO, " +
|
||||
" PROC_SPEC_ID, " +
|
||||
" schd.WO_NO " +
|
||||
" FROM SCHED_DET_NG schd " +
|
||||
"FULL OUTER JOIN WO_STEP step " +
|
||||
" ON step.WO_NO = schd.WO_NO " +
|
||||
" WHERE ((STOP_DTM > @startDate AND STOP_DTM < @endDate) " +
|
||||
" OR (START_DTM > @startDate AND START_DTM < @endDate)) " +
|
||||
" AND BLOCKOUT IS NULL " +
|
||||
" AND REACT_NO IN (SELECT REACT_NO " +
|
||||
" FROM (SELECT REACT_NO, " +
|
||||
" COUNT(PROC_SPEC_ID) - 1 AS PCHANGE " +
|
||||
" FROM (SELECT REACT_NO, " +
|
||||
" PROC_SPEC_ID, " +
|
||||
" COUNT(schd.WO_NO) AS WO_COUNT " +
|
||||
" FROM SCHED_DET_NG schd " +
|
||||
" FULL OUTER JOIN WO_STEP step " +
|
||||
" ON step.WO_NO = schd.WO_NO " +
|
||||
" WHERE ((STOP_DTM > @startDate AND STOP_DTM < @endDate) " +
|
||||
" OR (START_DTM > @startDate AND START_DTM < @endDate)) " +
|
||||
" AND BLOCKOUT IS NULL GROUP BY REACT_NO, PROC_SPEC_ID) AS l " +
|
||||
" GROUP BY REACT_NO) AS p " +
|
||||
" WHERE PCHANGE > 0) " +
|
||||
"ORDER BY REACT_NO";
|
||||
|
||||
cmd.CommandText = query;
|
||||
_ = cmd.Parameters.AddWithValue("@startDate", startDate);
|
||||
_ = cmd.Parameters.AddWithValue("@endDate", endDate);
|
||||
|
||||
using (SqlDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
events.Add(new ReactorPSNWORuns
|
||||
{
|
||||
REACTOR = "R" + reader[0].ToString(),
|
||||
PSN = reader[1].ToString(),
|
||||
WO = reader[2].ToString(),
|
||||
WO_COUNT = 0
|
||||
});
|
||||
}
|
||||
|
||||
cmd.Dispose();
|
||||
|
||||
CloseConnection();
|
||||
|
||||
return events;
|
||||
}
|
||||
}
|
@ -21,4 +21,7 @@ public interface IScrapeDatabaseRepository
|
||||
public DateTime GetQuarterStartDate();
|
||||
public List<HoldLot> GetCurrentHoldLots();
|
||||
public List<string> GetCurrentHotWORunning();
|
||||
public List<ScheduledEvent> GetScheduledEvents(string startDate, string endDate);
|
||||
public List<ReactorPSNWORuns> GetReactorPartChanges(string startDate, string endDate);
|
||||
public List<ReactorPSNWORuns> GetProjectedPartChanges(string startDate, string endDate);
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
using ReportingServices.Shared.HelperClasses;
|
||||
using ReportingServices.Shared.Models.PlanningReport;
|
||||
using ReportingServices.Shared.Models.ProductionReport;
|
||||
|
||||
namespace ReportingServices.Shared.ViewModels.ProductionReport;
|
||||
@ -18,6 +19,10 @@ public class DailyReport
|
||||
public List<UnloadTempsByDay> UnloadTempsByDay { get; set; }
|
||||
public List<SLLTool> SLLTools { get; set; }
|
||||
public List<string> CurrentHotWORunning { get; set; }
|
||||
public List<ReactorPSNWORuns> CompletedDailyPartChanges { get; set; }
|
||||
public List<ReactorPSNWORuns> ProjectedDailyPartChanges { get; set; }
|
||||
public List<ReactorPSNWORuns> CompletedWeeklyPartChanges { get; set; }
|
||||
public List<ReactorPSNWORuns> ProjectedWeeklyPartChanges { get; set; }
|
||||
public int NumberOfToolsWaferSize6IN { get; set; }
|
||||
public int NumberOfToolsWaferSize8IN { get; set; }
|
||||
public int NumberOfToolsWaferSize6INScheduled { get; set; }
|
||||
|
Reference in New Issue
Block a user