76 lines
2.4 KiB
C#

using Microsoft.AspNetCore.Mvc;
using ReportingServices.Shared.Models.PlanningReport;
using ReportingServices.Shared.Models.ProductionReport;
using ReportingServices.Shared.Repositories;
using ReportingServices.Shared.ViewModels.ProductionReport;
namespace ReportingServices.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ScrapeDBController : ControllerBase
{
private readonly IScrapeDatabaseRepository _scrapeDBRepository;
public ScrapeDBController(IScrapeDatabaseRepository scrapeDBRepository)
{
_scrapeDBRepository = scrapeDBRepository;
}
[HttpGet("ReactorOuts")]
public YieldInformation GetReactorOuts(string startDate, string endDate)
{
List<ReactorOutsByRDS> outs = _scrapeDBRepository.GetRDSRunBetweenDates(startDate, endDate);
YieldInformation yieldInformation = new()
{
Outs = outs,
Scrap = _scrapeDBRepository.GetScrapByDay(outs)
};
return yieldInformation;
}
[HttpGet("PSNWO")]
public List<ReactorPSNWORuns> GetReactorPSNWORuns(string startDate, string endDate)
{
return _scrapeDBRepository.GetReactorPSNWORuns(startDate, endDate);
}
[HttpGet("PartChanges")]
public int GetNumberOfPartChanges(string startDate, string endDate)
{
return _scrapeDBRepository.GetNumberOfPartChanges(startDate, endDate);
}
[HttpGet("Targets")]
public QuarterlyTargets GetQuarterlyTargets()
{
return _scrapeDBRepository.GetQuarterlyTargets();
}
[HttpGet("Reactors")]
public List<Reactor> GetReactors()
{
return _scrapeDBRepository.GetReactors();
}
[HttpGet("RDS")]
public List<RDS> GetRDSForLastDay(string date)
{
return _scrapeDBRepository.GetRDSForLastDay(date);
}
[HttpGet("ReactorEvents")]
public List<ReactorEvent> GetReactorEvents(string startDate, string endDate, string reactorNumber)
{
return _scrapeDBRepository.GetReactorEvents(startDate, endDate, reactorNumber);
}
[HttpGet("ToolEvents")]
public ToolEvent GetLatestToolEvent(string toolID)
{
return _scrapeDBRepository.GetLatestToolEvent(toolID);
}
}
}