Updated daily report to show correct information when two work weeks split quarters.
Also current changes to project with Blazor implementation is implemented here as well.
This commit is contained in:
@ -71,6 +71,7 @@ public static class DailyReportHelper
|
||||
Task<YieldInformation> task1 = null;
|
||||
Task<YieldInformation> task2 = null;
|
||||
Task<QuarterlyTargets> targets = null;
|
||||
Task<QuarterlyTargets> previousTargets = null;
|
||||
Task<List<RDS>> rds = null;
|
||||
Task<DateTime> task3 = null;
|
||||
Task<OutsAndScrapTotal> task4 = null;
|
||||
@ -81,6 +82,8 @@ public static class DailyReportHelper
|
||||
Task<List<ReactorPSNWORuns>> task9 = null;
|
||||
Task<List<ReactorPSNWORuns>> task10 = null;
|
||||
Task<List<ReactorPSNWORuns>> task11 = null;
|
||||
Task<DateTime> task12 = null;
|
||||
Task<OutsAndScrapTotal> task13 = null;
|
||||
|
||||
try
|
||||
{
|
||||
@ -108,12 +111,23 @@ public static class DailyReportHelper
|
||||
task1 = ApiCaller.GetApi<YieldInformation>(baseUrlScrapeDb + "ReactorOuts?startDate=" + report.StartDate.ToString() + "&endDate=" + currentDateTime.ToString());
|
||||
task2 = ApiCaller.GetApi<YieldInformation>(baseUrlScrapeDb + "ReactorOuts?startDate=" + report.StartDate.AddDays(-7).ToString() + "&endDate=" + report.StartDate.ToString());
|
||||
task3 = ApiCaller.GetApi<DateTime>(baseUrlScrapeDb + "GetQuarterStartDate");
|
||||
task12 = ApiCaller.GetApi<DateTime>(baseUrlScrapeDb + "GetPreviousQuarterStartDate");
|
||||
targets = ApiCaller.GetApi<QuarterlyTargets>(baseUrlScrapeDb + "Targets");
|
||||
previousTargets = ApiCaller.GetApi<QuarterlyTargets>(baseUrlScrapeDb + "Targets");
|
||||
|
||||
rds = ApiCaller.GetApi<List<RDS>>(baseUrlScrapeDb + "RDS?date=" + report.StartDate.ToString());
|
||||
task4 = ApiCaller.GetApi<OutsAndScrapTotal>(baseUrlScrapeDb + "GetOutsAndScrapTotals?startDate=" + task3.Result + "&endDate=" + currentDateTime.ToString());
|
||||
task13 = ApiCaller.GetApi<OutsAndScrapTotal>(baseUrlScrapeDb + "GetOutsAndScrapTotals?startDate=" + task12.Result + "&endDate=" + report.StartDate.ToString());
|
||||
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());
|
||||
|
||||
string newStartTime = "";
|
||||
|
||||
if (report.StartDate.AddDays(-7) < DateTime.Parse(task3.Result.ToString()))
|
||||
newStartTime = task12.Result.ToString();
|
||||
else
|
||||
newStartTime = task3.Result.ToString();
|
||||
|
||||
task6 = ApiCaller.GetApi<OutsAndScrapTotal>(baseUrlScrapeDb + "GetOutsAndScrapTotals?startDate=" + newStartTime + "&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());
|
||||
@ -128,6 +142,7 @@ public static class DailyReportHelper
|
||||
try
|
||||
{
|
||||
report.QuarterlyTargets = targets.Result;
|
||||
report.PreviousQuarterlyTargets = previousTargets.Result;
|
||||
report.SetRDSInfo(rds.Result);
|
||||
|
||||
foreach (Task<List<ReactorEvent>> task in toolEvents)
|
||||
@ -157,12 +172,21 @@ public static class DailyReportHelper
|
||||
report.MetrologyEvents = report.MetrologyEvents.Where(x => (x.TOOL_MODE != "PROD" || x.TOOL_MODE_DESC != "Production") && x.TOOL_MODE != "OUT").ToList();
|
||||
|
||||
report.QuarterStartDate = task3.Result;
|
||||
report.PreviousQuarterStartDate = task12.Result;
|
||||
|
||||
report.CurrentWeek.SetYieldInformation(task1.Result, report.QuarterlyTargets, report.QuarterStartDate, task5.Result.Outs - task5.Result.CustomerScrap - task5.Result.ManufacturingScrap - task5.Result.ProductionScrap);
|
||||
report.PreviousWeek.SetYieldInformation(task2.Result, report.QuarterlyTargets, report.QuarterStartDate, task6.Result.Outs - task6.Result.CustomerScrap - task6.Result.ManufacturingScrap - task6.Result.ProductionScrap);
|
||||
|
||||
if (report.PreviousWeek.StartDate < report.QuarterStartDate)
|
||||
report.PreviousWeek.SetYieldInformation(task2.Result, report.PreviousQuarterlyTargets, report.PreviousQuarterStartDate, task6.Result.Outs - task6.Result.CustomerScrap - task6.Result.ManufacturingScrap - task6.Result.ProductionScrap);
|
||||
else
|
||||
report.PreviousWeek.SetYieldInformation(task2.Result, report.QuarterlyTargets, report.QuarterStartDate, task6.Result.Outs - task6.Result.CustomerScrap - task6.Result.ManufacturingScrap - task6.Result.ProductionScrap);
|
||||
|
||||
report.CurrentWeek.QTDOutsAndScrap = task4.Result;
|
||||
report.PreviousWeek.QTDOutsAndScrap = task4.Result;
|
||||
|
||||
if (report.PreviousWeek.StartDate < report.QuarterStartDate)
|
||||
report.PreviousWeek.QTDOutsAndScrap = task13.Result;
|
||||
else
|
||||
report.PreviousWeek.QTDOutsAndScrap = task4.Result;
|
||||
|
||||
report.CurrentHotWORunning = task7.Result;
|
||||
|
||||
|
@ -254,6 +254,58 @@ public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
|
||||
return quarterlyTargets;
|
||||
}
|
||||
|
||||
public QuarterlyTargets GetPreviousQuarterlyTargets()
|
||||
{
|
||||
Dictionary<string, float> targets = new();
|
||||
|
||||
OpenConnection();
|
||||
|
||||
SqlCommand cmd = _connection.CreateCommand();
|
||||
|
||||
string query = "SELECT THRU_TARGET, THRU_QTY, THRU_PCNT FROM FISCAL_QTR_TARGETS " +
|
||||
" WHERE THRU_GROUP = 'TOT' " +
|
||||
" AND FISCAL_YR = " +
|
||||
" (SELECT CASE WHEN ls.FISCAL_QTR - 1 = 0 THEN ls.FISCAL_YR - 1 ELSE ls.FISCAL_YR END " +
|
||||
" FROM(SELECT * FROM FISCAL_QTR WHERE START_DT < SYSDATETIME() AND END_DT > SYSDATETIME()) AS ls) " +
|
||||
" AND FISCAL_QTR = " +
|
||||
" (SELECT CASE WHEN ls.FISCAL_QTR - 1 = 0 THEN 4 ELSE ls.FISCAL_QTR - 1 END " +
|
||||
" FROM(SELECT * FROM FISCAL_QTR WHERE START_DT < SYSDATETIME() AND END_DT > SYSDATETIME()) AS ls) " +
|
||||
"UNION " +
|
||||
"SELECT 'PlanWorkingDays' As THRU_TARGET, " +
|
||||
" PLAN_WORKING_DAYS AS THRU_QTY, " +
|
||||
" NULL AS THRU_PCNT " +
|
||||
" FROM FISCAL_QTR " +
|
||||
" WHERE SYSDATETIME() BETWEEN START_DT AND END_DT";
|
||||
|
||||
cmd.CommandText = query;
|
||||
|
||||
using (SqlDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
if (reader[0].ToString().ToUpper() == "YIELD")
|
||||
targets.Add(reader[0].ToString(), float.Parse(reader[2].ToString()));
|
||||
else if (!string.IsNullOrEmpty(reader[1].ToString()))
|
||||
targets.Add(reader[0].ToString(), int.Parse(reader[1].ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
cmd.Dispose();
|
||||
|
||||
CloseConnection();
|
||||
|
||||
QuarterlyTargets quarterlyTargets = new()
|
||||
{
|
||||
Reactor_Outs = (int)targets["Reactor_Outs"],
|
||||
Yield_Outs = (int)targets["Yield_Outs"],
|
||||
IFX_Scrap = (int)targets["IFX_Scrap"],
|
||||
Yield = targets["Yield"],
|
||||
PlanWorkingDays = (int)targets["PlanWorkingDays"]
|
||||
};
|
||||
|
||||
return quarterlyTargets;
|
||||
}
|
||||
|
||||
public List<Reactor> GetReactors()
|
||||
{
|
||||
List<Reactor> reactors = new();
|
||||
@ -583,6 +635,37 @@ public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
|
||||
return date;
|
||||
}
|
||||
|
||||
public DateTime GetPreviousQuarterStartDate()
|
||||
{
|
||||
DateTime date = new();
|
||||
|
||||
OpenConnection();
|
||||
|
||||
SqlCommand cmd = _connection.CreateCommand();
|
||||
|
||||
string query = "SELECT START_DT FROM FISCAL_QTR " +
|
||||
" WHERE FISCAL_QTR = " +
|
||||
" (SELECT CASE WHEN ls.FISCAL_QTR - 1 = 0 THEN 4 ELSE ls.FISCAL_QTR - 1 END " +
|
||||
" FROM (SELECT * FROM FISCAL_QTR WHERE START_DT < SYSDATETIME() AND END_DT > SYSDATETIME()) AS ls) " +
|
||||
" AND FISCAL_YR = " +
|
||||
" (SELECT CASE WHEN ls.FISCAL_QTR - 1 = 0 THEN ls.FISCAL_YR - 1 ELSE ls.FISCAL_YR END " +
|
||||
" FROM (SELECT * FROM FISCAL_QTR WHERE START_DT < SYSDATETIME() AND END_DT > SYSDATETIME()) AS ls)";
|
||||
|
||||
cmd.CommandText = query;
|
||||
|
||||
using (SqlDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
date = DateTime.Parse(reader[0].ToString());
|
||||
}
|
||||
|
||||
cmd.Dispose();
|
||||
|
||||
CloseConnection();
|
||||
|
||||
return date;
|
||||
}
|
||||
|
||||
public List<HoldLot> GetCurrentHoldLots()
|
||||
{
|
||||
List<HoldLot> lots = new();
|
||||
|
@ -11,6 +11,7 @@ public interface IScrapeDatabaseRepository
|
||||
public List<ReactorPSNWORuns> GetReactorPSNWORuns(string startDate, string endDate);
|
||||
public int GetNumberOfPartChanges(string startDate, string endDate);
|
||||
public QuarterlyTargets GetQuarterlyTargets();
|
||||
public QuarterlyTargets GetPreviousQuarterlyTargets();
|
||||
public List<Reactor> GetReactors();
|
||||
public List<RDS> GetRDSForLastDay(string date);
|
||||
public List<ReactorOutsByRDS> GetRDSRunBetweenDates(string startDate, string endDate);
|
||||
@ -19,6 +20,7 @@ public interface IScrapeDatabaseRepository
|
||||
public int GetLastUpTransaction(string reactorNumber);
|
||||
public OutsAndScrapTotal GetOutsAndScrapTotals(string startDate, string endDate);
|
||||
public DateTime GetQuarterStartDate();
|
||||
public DateTime GetPreviousQuarterStartDate();
|
||||
public List<HoldLot> GetCurrentHoldLots();
|
||||
public List<string> GetCurrentHotWORunning();
|
||||
public List<ScheduledEvent> GetScheduledEvents(string startDate, string endDate);
|
||||
|
@ -8,6 +8,7 @@ public class DailyReport
|
||||
{
|
||||
public DateTime StartDate { get; set; }
|
||||
public DateTime QuarterStartDate { get; set; }
|
||||
public DateTime PreviousQuarterStartDate { get; set; }
|
||||
public YieldStatistics CurrentWeek { get; set; }
|
||||
public YieldStatistics PreviousWeek { get; set; }
|
||||
public List<ToolEventView> ToolEvents { get; set; }
|
||||
@ -28,6 +29,7 @@ public class DailyReport
|
||||
public int NumberOfToolsWaferSize6INScheduled { get; set; }
|
||||
public int NumberOfToolsWaferSize8INScheduled { get; set; }
|
||||
public QuarterlyTargets QuarterlyTargets { get; set; }
|
||||
public QuarterlyTargets PreviousQuarterlyTargets { get; set; }
|
||||
|
||||
public DailyReport()
|
||||
{
|
||||
|
Reference in New Issue
Block a user