Reorganized project structure to separate backend process from frontend process.
@ -1,6 +1,6 @@
|
|||||||
using System.Web;
|
using System.Web;
|
||||||
|
|
||||||
namespace ReportingServices.HelperClasses
|
namespace ReportingServices.Shared.HelperClasses
|
||||||
{
|
{
|
||||||
public static class APIHelperFunctions
|
public static class APIHelperFunctions
|
||||||
{
|
{
|
@ -1,8 +1,8 @@
|
|||||||
using ReportingServices.Dependency_Injections;
|
using ReportingServices.Shared.Repositories;
|
||||||
using ReportingServices.Models.ProductionReport;
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
using ReportingServices.ViewModels.ProductionReport;
|
using ReportingServices.Shared.ViewModels.ProductionReport;
|
||||||
|
|
||||||
namespace ReportingServices.HelperClasses
|
namespace ReportingServices.Shared.HelperClasses
|
||||||
{
|
{
|
||||||
public static class DailyReportHelper
|
public static class DailyReportHelper
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace ReportingServices.HelperClasses
|
namespace ReportingServices.Shared.HelperClasses
|
||||||
{
|
{
|
||||||
public static class JsonFileHandler
|
public static class JsonFileHandler
|
||||||
{
|
{
|
@ -0,0 +1,9 @@
|
|||||||
|
namespace ReportingServices.Shared.Models.PlanningReport
|
||||||
|
{
|
||||||
|
public class ReactorPSNWORuns
|
||||||
|
{
|
||||||
|
public string REACTOR { get; set; }
|
||||||
|
public string PSN { get; set; }
|
||||||
|
public int WO_COUNT { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
namespace ReportingServices.Shared.Models.PlanningReport
|
||||||
|
{
|
||||||
|
public class WeeklyPartChanges
|
||||||
|
{
|
||||||
|
public int TotalPartChanges { get; set; }
|
||||||
|
public string StartDate { get; set; }
|
||||||
|
public string EndDate { get; set; }
|
||||||
|
public List<ReactorPSNWORuns> ReactorPSNWORuns { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
namespace ReportingServices.Models.ProductionReport
|
namespace ReportingServices.Shared.Models.ProductionReport
|
||||||
{
|
{
|
||||||
public class EquipmentStateByDay
|
public class EquipmentStateByDay
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace ReportingServices.Models.ProductionReport
|
namespace ReportingServices.Shared.Models.ProductionReport
|
||||||
{
|
{
|
||||||
public class ManualReportEntries
|
public class ManualReportEntries
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace ReportingServices.Models.ProductionReport
|
namespace ReportingServices.Shared.Models.ProductionReport
|
||||||
{
|
{
|
||||||
public class QuarterlyTargets
|
public class QuarterlyTargets
|
||||||
{
|
{
|
11
ReportingServices.Shared/Models/ProductionReport/RDS.cs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
namespace ReportingServices.Shared.Models.ProductionReport
|
||||||
|
{
|
||||||
|
public class RDS
|
||||||
|
{
|
||||||
|
public int Reactor { get; set; }
|
||||||
|
public string ReactorType { get; set; }
|
||||||
|
public DateTime DateOut { get; set; }
|
||||||
|
public int UnloadTemp { get; set; }
|
||||||
|
public string LayerType { get; set; }
|
||||||
|
}
|
||||||
|
}
|
10
ReportingServices.Shared/Models/ProductionReport/Reactor.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
namespace ReportingServices.Shared.Models.ProductionReport
|
||||||
|
{
|
||||||
|
public class Reactor
|
||||||
|
{
|
||||||
|
public int ReactorNumber { get; set; }
|
||||||
|
public string Type { get; set; }
|
||||||
|
public string PocketSize { get; set; }
|
||||||
|
public bool HasDisabledLoadlock { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
namespace ReportingServices.Shared.Models.ProductionReport
|
||||||
|
{
|
||||||
|
public class ReactorOutsByDay
|
||||||
|
{
|
||||||
|
public string StartDate { get; set; }
|
||||||
|
public int TotalWafers { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
namespace ReportingServices.Models.ProductionReport
|
namespace ReportingServices.Shared.Models.ProductionReport
|
||||||
{
|
{
|
||||||
public class ReactorOutsByRDS
|
public class ReactorOutsByRDS
|
||||||
{
|
{
|
@ -0,0 +1,11 @@
|
|||||||
|
namespace ReportingServices.Shared.Models.ProductionReport
|
||||||
|
{
|
||||||
|
public class ScrapByDay
|
||||||
|
{
|
||||||
|
public string StartDate { get; set; }
|
||||||
|
public int TW_PROD { get; set; }
|
||||||
|
public int TOT_REJ_CUST { get; set; }
|
||||||
|
public int TOT_REJ_MANU { get; set; }
|
||||||
|
public int TOT_REJ_WFRS { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
namespace ReportingServices.Models.ProductionReport
|
namespace ReportingServices.Shared.Models.ProductionReport
|
||||||
{
|
{
|
||||||
public class ToolStateCurrent
|
public class ToolStateCurrent
|
||||||
{
|
{
|
13
ReportingServices.Shared/ReportingServices.Shared.csproj
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>disable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.0.1" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
@ -1,10 +1,10 @@
|
|||||||
using ReportingServices.HelperClasses;
|
using ReportingServices.Shared.HelperClasses;
|
||||||
using ReportingServices.Models.ProductionReport;
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
using ReportingServices.ViewModels.ProductionReport;
|
using ReportingServices.Shared.ViewModels.ProductionReport;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
|
|
||||||
namespace ReportingServices.Dependency_Injections
|
namespace ReportingServices.Shared.Repositories
|
||||||
{
|
{
|
||||||
public class FabTimeReportingRepository : IFabTimeReportingRepository
|
public class FabTimeReportingRepository : IFabTimeReportingRepository
|
||||||
{
|
{
|
@ -1,19 +1,18 @@
|
|||||||
using Microsoft.Data.SqlClient;
|
using Microsoft.Data.SqlClient;
|
||||||
using ReportingServices.Models.PlanningReport;
|
using ReportingServices.Shared.Models.PlanningReport;
|
||||||
using ReportingServices.Models.ProductionReport;
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
|
|
||||||
namespace ReportingServices.Dependency_Injections
|
namespace ReportingServices.Shared.Repositories
|
||||||
{
|
{
|
||||||
public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
|
public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
|
||||||
{
|
{
|
||||||
private SqlConnection _connection;
|
private SqlConnection _connection;
|
||||||
private string _connectionString;
|
private readonly string _connectionString;
|
||||||
|
|
||||||
public ScrapeDatabaseRepository()
|
public ScrapeDatabaseRepository()
|
||||||
{
|
{
|
||||||
IConfiguration configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
|
_connectionString = "Server=MESSV01EC.EC.LOCAL\\PROD1,53959;Database=LSL2SQL;User Id=srpadmin;Password=0okm9ijn;TrustServerCertificate=true";
|
||||||
_connectionString = configuration.GetConnectionString("DefaultConnection");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OpenConnection()
|
public void OpenConnection()
|
||||||
@ -91,7 +90,15 @@ namespace ReportingServices.Dependency_Injections
|
|||||||
using (SqlDataReader reader = cmd.ExecuteReader())
|
using (SqlDataReader reader = cmd.ExecuteReader())
|
||||||
{
|
{
|
||||||
while (reader.Read() && reader[0].ToString() != "1/1/1900 12:00:00 AM")
|
while (reader.Read() && reader[0].ToString() != "1/1/1900 12:00:00 AM")
|
||||||
scrap.Add(new ScrapByDay(reader[0].ToString(), reader[3].ToString(), reader[1].ToString(), reader[2].ToString()));
|
scrap.Add(new ScrapByDay
|
||||||
|
{
|
||||||
|
StartDate = reader[0].ToString(),
|
||||||
|
TW_PROD = int.Parse(reader[3].ToString()),
|
||||||
|
TOT_REJ_CUST = int.Parse(reader[1].ToString()),
|
||||||
|
TOT_REJ_MANU = int.Parse(reader[2].ToString()),
|
||||||
|
TOT_REJ_WFRS =
|
||||||
|
int.Parse(reader[1].ToString()) + int.Parse(reader[2].ToString())
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.Dispose();
|
cmd.Dispose();
|
||||||
@ -121,7 +128,12 @@ namespace ReportingServices.Dependency_Injections
|
|||||||
using (SqlDataReader reader = cmd.ExecuteReader())
|
using (SqlDataReader reader = cmd.ExecuteReader())
|
||||||
{
|
{
|
||||||
while (reader.Read())
|
while (reader.Read())
|
||||||
weeklyPartChanges.Add(new ReactorPSNWORuns(reader[0].ToString(), reader[1].ToString(), int.Parse(reader[2].ToString())));
|
weeklyPartChanges.Add(new ReactorPSNWORuns
|
||||||
|
{
|
||||||
|
REACTOR = reader[0].ToString(),
|
||||||
|
PSN = reader[1].ToString(),
|
||||||
|
WO_COUNT = int.Parse(reader[2].ToString())
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.Dispose();
|
cmd.Dispose();
|
||||||
@ -198,7 +210,13 @@ namespace ReportingServices.Dependency_Injections
|
|||||||
using (SqlDataReader reader = cmd.ExecuteReader())
|
using (SqlDataReader reader = cmd.ExecuteReader())
|
||||||
{
|
{
|
||||||
while (reader.Read())
|
while (reader.Read())
|
||||||
reactors.Add(new Reactor(int.Parse(reader[0].ToString()), reader[1].ToString(), reader[2].ToString(), bool.Parse(reader[3].ToString())));
|
reactors.Add(new Reactor
|
||||||
|
{
|
||||||
|
ReactorNumber = int.Parse(reader[0].ToString()),
|
||||||
|
Type = reader[1].ToString(),
|
||||||
|
PocketSize = reader[2].ToString(),
|
||||||
|
HasDisabledLoadlock = bool.Parse(reader[3].ToString())
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.Dispose();
|
cmd.Dispose();
|
||||||
@ -227,7 +245,14 @@ namespace ReportingServices.Dependency_Injections
|
|||||||
using (SqlDataReader reader = cmd.ExecuteReader())
|
using (SqlDataReader reader = cmd.ExecuteReader())
|
||||||
{
|
{
|
||||||
while (reader.Read())
|
while (reader.Read())
|
||||||
rdsList.Add(new RDS(int.Parse(reader[0].ToString()), reader[1].ToString(), DateTime.Parse(reader[2].ToString()), int.Parse(reader[3].ToString()), reader[4].ToString()));
|
rdsList.Add(new RDS
|
||||||
|
{
|
||||||
|
Reactor = int.Parse(reader[0].ToString()),
|
||||||
|
ReactorType = reader[1].ToString(),
|
||||||
|
DateOut = DateTime.Parse(reader[2].ToString()),
|
||||||
|
UnloadTemp = int.Parse(reader[3].ToString()),
|
||||||
|
LayerType = reader[4].ToString()
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.Dispose();
|
cmd.Dispose();
|
@ -1,7 +1,7 @@
|
|||||||
using ReportingServices.Models.ProductionReport;
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
using ReportingServices.ViewModels.ProductionReport;
|
using ReportingServices.Shared.ViewModels.ProductionReport;
|
||||||
|
|
||||||
namespace ReportingServices.Dependency_Injections
|
namespace ReportingServices.Shared.Repositories
|
||||||
{
|
{
|
||||||
public interface IFabTimeReportingRepository
|
public interface IFabTimeReportingRepository
|
||||||
{
|
{
|
@ -1,7 +1,7 @@
|
|||||||
using ReportingServices.Models.PlanningReport;
|
using ReportingServices.Shared.Models.PlanningReport;
|
||||||
using ReportingServices.Models.ProductionReport;
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
|
|
||||||
namespace ReportingServices.Dependency_Injections
|
namespace ReportingServices.Shared.Repositories
|
||||||
{
|
{
|
||||||
public interface IScrapeDatabaseRepository
|
public interface IScrapeDatabaseRepository
|
||||||
{
|
{
|
@ -1,7 +1,8 @@
|
|||||||
using ReportingServices.HelperClasses;
|
using ReportingServices.Shared.HelperClasses;
|
||||||
using ReportingServices.Models.ProductionReport;
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
|
using ReportingServices.Shared.ViewModels.ProductionReport;
|
||||||
|
|
||||||
namespace ReportingServices.ViewModels.ProductionReport
|
namespace ReportingServices.Shared.ViewModels.ProductionReport
|
||||||
{
|
{
|
||||||
public class DailyReport
|
public class DailyReport
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using ReportingServices.Models.ProductionReport;
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
|
|
||||||
namespace ReportingServices.ViewModels.ProductionReport
|
namespace ReportingServices.Shared.ViewModels.ProductionReport
|
||||||
{
|
{
|
||||||
public class ToolStateByType
|
public class ToolStateByType
|
||||||
{
|
{
|
||||||
@ -34,14 +34,14 @@ namespace ReportingServices.ViewModels.ProductionReport
|
|||||||
{
|
{
|
||||||
float elapsedTime = 0f;
|
float elapsedTime = 0f;
|
||||||
|
|
||||||
if (ToolStateCurrents[ToolStateCurrents.Count - 1].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[ToolStateCurrents.Count - 1].BasicStateDescription.ToUpper() != "OUT OF SERVICE")
|
if (ToolStateCurrents[^1].BasicStateDescription.ToUpper() is not "PRODUCTIVE" and not "OUT OF SERVICE")
|
||||||
float.Parse(ToolStateCurrents[ToolStateCurrents.Count - 1].GanttElapsedHours);
|
float.Parse(ToolStateCurrents[^1].GanttElapsedHours);
|
||||||
|
|
||||||
for (int i = ToolStateCurrents.Count - 2; i >= 0; i--)
|
for (int i = ToolStateCurrents.Count - 2; i >= 0; i--)
|
||||||
{
|
{
|
||||||
if (ToolStateCurrents[i].Tool == ToolStateCurrents[i + 1].Tool)
|
if (ToolStateCurrents[i].Tool == ToolStateCurrents[i + 1].Tool)
|
||||||
{
|
{
|
||||||
if (ToolStateCurrents[i].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[ToolStateCurrents.Count - 1].BasicStateDescription.ToUpper() != "OUT OF SERVICE")
|
if (ToolStateCurrents[i].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[^1].BasicStateDescription.ToUpper() != "OUT OF SERVICE")
|
||||||
elapsedTime += float.Parse(ToolStateCurrents[i].GanttElapsedHours);
|
elapsedTime += float.Parse(ToolStateCurrents[i].GanttElapsedHours);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -49,7 +49,7 @@ namespace ReportingServices.ViewModels.ProductionReport
|
|||||||
if (elapsedTime >= 12)
|
if (elapsedTime >= 12)
|
||||||
ToolsDownGreaterThan12Hours.Add(ToolStateCurrents[i + 1].Tool);
|
ToolsDownGreaterThan12Hours.Add(ToolStateCurrents[i + 1].Tool);
|
||||||
|
|
||||||
if (ToolStateCurrents[i].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[ToolStateCurrents.Count - 1].BasicStateDescription.ToUpper() != "OUT OF SERVICE")
|
if (ToolStateCurrents[i].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[^1].BasicStateDescription.ToUpper() != "OUT OF SERVICE")
|
||||||
elapsedTime = float.Parse(ToolStateCurrents[i].GanttElapsedHours);
|
elapsedTime = float.Parse(ToolStateCurrents[i].GanttElapsedHours);
|
||||||
else
|
else
|
||||||
elapsedTime = 0;
|
elapsedTime = 0;
|
@ -1,4 +1,6 @@
|
|||||||
namespace ReportingServices.Models.ProductionReport
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
|
|
||||||
|
namespace ReportingServices.Shared.ViewModels.ProductionReport
|
||||||
{
|
{
|
||||||
public class YieldStatistics
|
public class YieldStatistics
|
||||||
{
|
{
|
||||||
@ -48,7 +50,7 @@
|
|||||||
waferCount += (int)float.Parse(rout.Units);
|
waferCount += (int)float.Parse(rout.Units);
|
||||||
}
|
}
|
||||||
|
|
||||||
outsByDay.Add(new ReactorOutsByDay(date, waferCount));
|
outsByDay.Add(new ReactorOutsByDay { StartDate = date, TotalWafers = waferCount });
|
||||||
}
|
}
|
||||||
|
|
||||||
return outsByDay;
|
return outsByDay;
|
@ -1,4 +1,4 @@
|
|||||||
using ReportingServices.HelperClasses;
|
using ReportingServices.Shared.HelperClasses;
|
||||||
|
|
||||||
namespace ReportingServices.Test
|
namespace ReportingServices.Test
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,4 @@
|
|||||||
using ReportingServices.ViewModels.ProductionReport;
|
using ReportingServices.Shared.ViewModels.ProductionReport;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace ReportingServices.Test
|
namespace ReportingServices.Test
|
||||||
{
|
{
|
||||||
@ -14,8 +9,10 @@ namespace ReportingServices.Test
|
|||||||
public void SetRDSInfo_InputData_CalculatedAndStoresCorrectly()
|
public void SetRDSInfo_InputData_CalculatedAndStoresCorrectly()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
DailyReport rpt = new();
|
DailyReport rpt = new()
|
||||||
rpt.CurrentEntries = TestingClass.ManualReportEntries;
|
{
|
||||||
|
CurrentEntries = TestingClass.ManualReportEntries
|
||||||
|
};
|
||||||
Dictionary<string, List<int>> dualLayerReactors = new()
|
Dictionary<string, List<int>> dualLayerReactors = new()
|
||||||
{
|
{
|
||||||
{ "ASM", new List<int>() { 24, 62 } },
|
{ "ASM", new List<int>() { 24, 62 } },
|
||||||
@ -40,8 +37,10 @@ namespace ReportingServices.Test
|
|||||||
public void SetReactorInfo_InputData_CalculatedAndStoresCorrectly()
|
public void SetReactorInfo_InputData_CalculatedAndStoresCorrectly()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
DailyReport rpt = new();
|
DailyReport rpt = new()
|
||||||
rpt.CurrentEntries = TestingClass.ManualReportEntries;
|
{
|
||||||
|
CurrentEntries = TestingClass.ManualReportEntries
|
||||||
|
};
|
||||||
int numberOfToolsWaferSize6IN = 11;
|
int numberOfToolsWaferSize6IN = 11;
|
||||||
int numberOfToolsWaferSize8IN = 46;
|
int numberOfToolsWaferSize8IN = 46;
|
||||||
int numberOfToolsWaferSize6INScheduled = 9;
|
int numberOfToolsWaferSize6INScheduled = 9;
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\ReportingServices\ReportingServices.csproj" />
|
<ProjectReference Include="..\ReportingServices.UI\ReportingServices.UI.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using ReportingServices.Models.ProductionReport;
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
|
|
||||||
namespace ReportingServices.Test
|
namespace ReportingServices.Test
|
||||||
{
|
{
|
||||||
@ -6,165 +6,165 @@ namespace ReportingServices.Test
|
|||||||
{
|
{
|
||||||
public static readonly List<RDS> RDSList = new()
|
public static readonly List<RDS> RDSList = new()
|
||||||
{
|
{
|
||||||
new RDS(79, "ASM+", new DateTime(2022, 12, 13), 600, "Standard 1 Layer"),
|
new RDS { Reactor = 79, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 600, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(45, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
new RDS { Reactor = 45, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(62, "ASM+", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 62, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(62, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 2 Layer"),
|
new RDS { Reactor = 62, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(62, "ASM+", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 62, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(24, "ASM", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 24, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(24, "ASM", new DateTime(2022, 12, 13), 800, "Standard 2 Layer"),
|
new RDS { Reactor = 24, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(24, "ASM", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 24, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(66, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 66, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(28, "ASM", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 28, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(28, "ASM", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 28, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(63, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 63, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(63, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 63, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(23, "ASM", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
new RDS { Reactor = 23, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(23, "ASM", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
new RDS { Reactor = 23, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(32, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 32, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(58, "ASM", new DateTime(2022, 12, 13), 650, "Standard 1 Layer"),
|
new RDS { Reactor = 58, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 650, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(77, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 77, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(77, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 77, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(57, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 57, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(57, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 57, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(20, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 20, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(20, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 20, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(43, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
new RDS { Reactor = 43, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(43, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
new RDS { Reactor = 43, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(29, "ASM", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 29, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(25, "ASM", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
new RDS { Reactor = 25, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 51, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 51, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 51, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(38, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
new RDS { Reactor = 38, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(38, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
new RDS { Reactor = 38, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(64, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 64, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(64, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 64, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(32, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 32, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(37, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 37, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(37, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 37, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(30, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 30, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(31, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 31, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(33, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 33, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(33, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 33, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(33, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 33, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(55, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 55, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(55, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 55, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(55, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 55, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(36, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 36, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(21, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 21, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(21, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 21, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(73, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 73, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(75, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
new RDS { Reactor = 75, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(75, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
new RDS { Reactor = 75, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 51, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(53, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 53, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(53, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 53, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(35, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 35, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(35, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 35, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(35, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 35, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(36, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 36, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(68, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 68, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(68, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 68, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(68, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 68, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(41, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 41, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(41, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 41, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(41, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 41, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 70, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 70, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 70, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 70, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(74, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 74, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(74, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 74, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(74, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
new RDS { Reactor = 74, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(61, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 61, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(61, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
new RDS { Reactor = 61, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(49, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
new RDS { Reactor = 49, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(52, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 52, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(48, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 48, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(54, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 54, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(50, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 50, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(40, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 40, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(40, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 40, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(44, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 44, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(44, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 44, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" },
|
||||||
new RDS(48, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 48, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(50, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 50, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(52, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 52, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(54, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 54, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(48, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 48, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" },
|
||||||
new RDS(52, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
new RDS { Reactor = 52, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }
|
||||||
};
|
};
|
||||||
|
|
||||||
public static readonly List<Reactor> Reactors = new()
|
public static readonly List<Reactor> Reactors = new()
|
||||||
{
|
{
|
||||||
new Reactor(20, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 20, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(21, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 21, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(22, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 22, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(23, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 23, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(24, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 24, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(25, "ASM", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 25, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(26, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 26, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(27, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 27, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(28, "ASM", "150 mm 6 in", true),
|
new Reactor { ReactorNumber = 28, Type = "ASM", PocketSize = "150 mm 6 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(29, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 29, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(30, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 30, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(31, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 31, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(32, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 32, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(33, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 33, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(34, "HTR", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 34, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(35, "HTR", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 35, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(36, "HTR", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 36, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(37, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 37, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(38, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 38, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(39, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 39, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(40, "EPP", "150 mm 6 in", false),
|
new Reactor { ReactorNumber = 40, Type = "EPP", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(41, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 41, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(42, "EPP", "150 mm 6 in", false),
|
new Reactor { ReactorNumber = 42, Type = "EPP", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(43, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 43, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(44, "EPP", "150 mm 6 in", false),
|
new Reactor { ReactorNumber = 44, Type = "EPP", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(45, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 45, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(46, "EPP", "150 mm 6 in", false),
|
new Reactor { ReactorNumber = 46, Type = "EPP", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(47, "HTR", "150 mm 6 in", true),
|
new Reactor { ReactorNumber = 47, Type = "HTR", PocketSize = "150 mm 6 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(48, "EPP", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 48, Type = "EPP", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(49, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 49, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(50, "EPP", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 50, Type = "EPP", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(51, "HTR", "150 mm 6 in", true),
|
new Reactor { ReactorNumber = 51, Type = "HTR", PocketSize = "150 mm 6 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(52, "EPP", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 52, Type = "EPP", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(53, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 53, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(54, "EPP", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 54, Type = "EPP", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(55, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 55, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(56, "ASM+", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 56, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(57, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 57, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(58, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 58, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(59, "ASM", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 59, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(60, "ASM+", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 60, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(61, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 61, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(62, "ASM+", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 62, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(63, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 63, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(64, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 64, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(65, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 65, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(66, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 66, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(68, "HTR", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 68, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(70, "HTR", "150 mm 6 in", true),
|
new Reactor { ReactorNumber = 70, Type = "HTR", PocketSize = "150 mm 6 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(72, "HTR", "200 mm 8 in", true),
|
new Reactor { ReactorNumber = 72, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true },
|
||||||
new Reactor(73, "HTR", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 73, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(74, "HTR", "150 mm 6 in", false),
|
new Reactor { ReactorNumber = 74, Type = "HTR", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(75, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 75, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(77, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 77, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(79, "ASM+", "200 mm 8 in", false),
|
new Reactor { ReactorNumber = 79, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(100, "ASM", "150 mm 6 in", false),
|
new Reactor { ReactorNumber = 100, Type = "ASM", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false },
|
||||||
new Reactor(101, "ASM", "150 mm 6 in", false),
|
new Reactor { ReactorNumber = 101, Type = "ASM", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false }
|
||||||
};
|
};
|
||||||
|
|
||||||
public static readonly List<int> UnscheduledReactors = new()
|
public static readonly List<int> UnscheduledReactors = new()
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using ReportingServices.Models;
|
using ReportingServices.UI.Models;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace ReportingServices.Controllers
|
namespace ReportingServices.UI.Controllers
|
||||||
{
|
{
|
||||||
public class HomeController : Controller
|
public class HomeController : Controller
|
||||||
{
|
{
|
@ -1,9 +1,8 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using ReportingServices.Dependency_Injections;
|
using ReportingServices.Shared.Repositories;
|
||||||
using ReportingServices.HelperClasses;
|
using ReportingServices.Shared.Models.PlanningReport;
|
||||||
using ReportingServices.Models.PlanningReport;
|
|
||||||
|
|
||||||
namespace ReportingServices.Controllers
|
namespace ReportingServices.UI.Controllers
|
||||||
{
|
{
|
||||||
public class PlanningReportController : Controller
|
public class PlanningReportController : Controller
|
||||||
{
|
{
|
||||||
@ -24,8 +23,13 @@ namespace ReportingServices.Controllers
|
|||||||
int numberOfPartChanges = _scrapeDatabaseRepository.GetNumberOfPartChanges(startDate.ToString(), endDate.ToString());
|
int numberOfPartChanges = _scrapeDatabaseRepository.GetNumberOfPartChanges(startDate.ToString(), endDate.ToString());
|
||||||
List<ReactorPSNWORuns> reactorPSNWORuns = _scrapeDatabaseRepository.GetReactorPSNWORuns(startDate.ToString(), endDate.ToString());
|
List<ReactorPSNWORuns> reactorPSNWORuns = _scrapeDatabaseRepository.GetReactorPSNWORuns(startDate.ToString(), endDate.ToString());
|
||||||
|
|
||||||
WeeklyPartChanges weeklyPartChanges = new WeeklyPartChanges(numberOfPartChanges, startDate.ToShortDateString(),
|
WeeklyPartChanges weeklyPartChanges = new()
|
||||||
endDate.ToShortDateString(), reactorPSNWORuns);
|
{
|
||||||
|
TotalPartChanges = numberOfPartChanges,
|
||||||
|
StartDate = startDate.ToShortDateString(),
|
||||||
|
EndDate = endDate.ToShortDateString(),
|
||||||
|
ReactorPSNWORuns = reactorPSNWORuns
|
||||||
|
};
|
||||||
|
|
||||||
return View(weeklyPartChanges);
|
return View(weeklyPartChanges);
|
||||||
}
|
}
|
@ -1,10 +1,10 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using ReportingServices.Dependency_Injections;
|
using ReportingServices.Shared.Repositories;
|
||||||
using ReportingServices.HelperClasses;
|
using ReportingServices.Shared.HelperClasses;
|
||||||
using ReportingServices.Models.ProductionReport;
|
using ReportingServices.Shared.Models.ProductionReport;
|
||||||
using ReportingServices.ViewModels.ProductionReport;
|
using ReportingServices.Shared.ViewModels.ProductionReport;
|
||||||
|
|
||||||
namespace ReportingServices.Controllers
|
namespace ReportingServices.UI.Controllers
|
||||||
{
|
{
|
||||||
public class ProductionReportController : Controller
|
public class ProductionReportController : Controller
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace ReportingServices.Models
|
namespace ReportingServices.UI.Models
|
||||||
{
|
{
|
||||||
public class ErrorViewModel
|
public class ErrorViewModel
|
||||||
{
|
{
|
@ -1,5 +1,4 @@
|
|||||||
using ReportingServices.Dependency_Injections;
|
using ReportingServices.Shared.Repositories;
|
||||||
using ReportingServices.HelperClasses;
|
|
||||||
using Serilog;
|
using Serilog;
|
||||||
|
|
||||||
LoggerConfiguration loggerConfiguration = new();
|
LoggerConfiguration loggerConfiguration = new();
|
@ -13,4 +13,13 @@
|
|||||||
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ReportingServices.Shared\ReportingServices.Shared.csproj" />
|
||||||
|
<ProjectReference Include="..\ReportingServicesAPIs\ReportingServices.API.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="HelperClasses\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
@ -1,6 +1,4 @@
|
|||||||
@using ReportingServices.Models.PlanningReport
|
@model WeeklyPartChanges
|
||||||
@using ReportingServices.HelperClasses
|
|
||||||
@model ReportingServices.Models.PlanningReport.WeeklyPartChanges
|
|
||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Weekly Part Changes | Mesa Reporting Services";
|
ViewData["Title"] = "Weekly Part Changes | Mesa Reporting Services";
|
@ -1,6 +1,4 @@
|
|||||||
@using ReportingServices.ViewModels.ProductionReport
|
@model DailyReport
|
||||||
@using ReportingServices.Models.ProductionReport
|
|
||||||
@model DailyReport
|
|
||||||
@{
|
@{
|
||||||
int ASMAvailablePct = 0;
|
int ASMAvailablePct = 0;
|
||||||
int EPPAvailablePct = 0;
|
int EPPAvailablePct = 0;
|
@ -1,5 +1,4 @@
|
|||||||
@using ReportingServices.Models.ProductionReport
|
@model ManualReportEntries
|
||||||
@model ManualReportEntries
|
|
||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Edit Daily Passdown | Mesa Reporting Services";
|
ViewData["Title"] = "Edit Daily Passdown | Mesa Reporting Services";
|
@ -1,4 +1,4 @@
|
|||||||
@model ReportingServices.Models.ProductionReport.YieldStatistics
|
@model YieldStatistics
|
||||||
|
|
||||||
@{
|
@{
|
||||||
int totalWafersOut = 0;
|
int totalWafersOut = 0;
|
6
ReportingServices.UI/Views/_ViewImports.cshtml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
@using ReportingServices
|
||||||
|
@using ReportingServices.UI.Models
|
||||||
|
@using ReportingServices.Shared.Models.PlanningReport
|
||||||
|
@using ReportingServices.Shared.Models.ProductionReport
|
||||||
|
@using ReportingServices.Shared.ViewModels.ProductionReport
|
||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
Before Width: | Height: | Size: 886 B After Width: | Height: | Size: 886 B |
Before Width: | Height: | Size: 721 B After Width: | Height: | Size: 721 B |
Before Width: | Height: | Size: 428 B After Width: | Height: | Size: 428 B |
Before Width: | Height: | Size: 571 B After Width: | Height: | Size: 571 B |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |