Remove with Text

Remove GetEngineeringSpcReview
Better error message
EnforceCodeStyleInBuild
NginxFileSystem
Remove Reactors and Working Directory
AppSettings
Delete self contained Thunder Tests
Back to .net8.0
api/v4/InfinityQS
ApiExplorerSettings
Wafer Counter
This commit is contained in:
2024-04-15 13:13:55 -07:00
parent 7e16ee7f98
commit 5c9f0d1aff
974 changed files with 205399 additions and 1385 deletions

View File

@ -0,0 +1,36 @@
using Microsoft.AspNetCore.Mvc;
using OI.Metrology.Shared.Models.Stateless;
namespace OI.Metrology.Server.ApiControllers;
[Route("api/v1/file-share")]
public class FileShareController : Controller, IFileShareController<IResult>
{
private readonly IFileShareRepository _FileShareRepository;
public FileShareController(IFileShareRepository fileShareRepository) =>
_FileShareRepository = fileShareRepository;
[HttpGet("copy-file")]
public IResult CopyFile(string from, string to)
{
_FileShareRepository.CopyFile(from, to);
return Results.Ok();
}
[HttpGet("move-file")]
public IResult MoveFile(string from, string to)
{
_FileShareRepository.CopyFile(from, to);
return Results.Ok();
}
[HttpGet("file-write")]
public IResult FileWrite(string path, string contents)
{
_FileShareRepository.FileWrite(path, contents);
return Results.Ok();
}
}

View File

@ -0,0 +1,82 @@
using Microsoft.AspNetCore.Mvc;
namespace OI.Metrology.Server.ApiControllers;
using OI.Metrology.Shared.DataModels;
using OI.Metrology.Shared.Models.Stateless;
using System.Text.Json;
[Route("api/v4/InfinityQS")]
public class InfinityQSV4Controller : Controller, IInfinityQSV4Controller<IActionResult>
{
private readonly IInfinityQSV4Repository _InfinityQSRepositoryV4;
public InfinityQSV4Controller(IInfinityQSV4Repository InfinityQSRepositoryV4) => _InfinityQSRepositoryV4 = InfinityQSRepositoryV4;
[HttpGet("{sub_group_id}/commandText")]
public IActionResult GetCommandText(string sub_group_id, string process, string job, string part, string lot, string date_time)
{
string commandText = _InfinityQSRepositoryV4.GetCommandText(sub_group_id, process, job, part, lot, date_time);
return Content(commandText, "text/plain; charset=utf-8");
}
[HttpGet("{sub_group_id}/data")]
public IActionResult GetData(string sub_group_id)
{
Result<InfinityQSV4[]> result = _InfinityQSRepositoryV4.GetData(sub_group_id);
string json = JsonSerializer.Serialize(result, ResultInfinityQSV4SourceGenerationContext.Default.ResultInfinityQSV4Array);
return Content(json, "application/json", System.Text.Encoding.UTF8);
}
[HttpGet("{sub_group_id}/descriptors")]
public IActionResult GetDescriptors(string sub_group_id)
{
Result<InfinityQSDescriptorV4[]> result = _InfinityQSRepositoryV4.GetDescriptors(sub_group_id);
string json = JsonSerializer.Serialize(result, ResultInfinityQSDescriptorV4SourceGenerationContext.Default.ResultInfinityQSDescriptorV4Array);
return Content(json, "application/json", System.Text.Encoding.UTF8);
}
[HttpGet("{sub_group_id}/header")]
public IActionResult GetHeader(string sub_group_id)
{
Result<InfinityQSV4[]> result = _InfinityQSRepositoryV4.GetHeader(sub_group_id);
string json = JsonSerializer.Serialize(result, ResultInfinityQSV4SourceGenerationContext.Default.ResultInfinityQSV4Array);
return Content(json, "application/json", System.Text.Encoding.UTF8);
}
[HttpGet("{process}/product-data-average-sum-of-defects-process-mean-process-sigma")]
public IActionResult GetProductDataAverageSumOfDefectsProcessMeanProcessSigma(string process, string? recipe)
{
string result = _InfinityQSRepositoryV4.GetProductDataAverageSumOfDefectsProcessMeanProcessSigma(process, recipe);
return Content(result, "application/json", System.Text.Encoding.UTF8);
}
[HttpGet("epi-pro-temp-verification")]
public IActionResult GetEpiProTempVerification(int[] night)
{
string result = _InfinityQSRepositoryV4.GetEpiProTempVerification(night);
return Content(result, "text/html", System.Text.Encoding.UTF8);
}
[HttpGet("epi-pro-temp-verification-rows")]
public IActionResult GetEpiProTempVerificationRows(int[] night)
{
List<string[]> results = _InfinityQSRepositoryV4.GetEpiProTempVerificationRows(night);
string json = JsonSerializer.Serialize(results);
return Content(json, "application/json", System.Text.Encoding.UTF8);
}
[HttpGet("reactors")]
public IActionResult GetReactors() =>
Json(_InfinityQSRepositoryV4.GetReactors());
[HttpGet("{rds}/run-data-sheet")]
public IActionResult GetRunDataSheet(string rds) =>
Content(_InfinityQSRepositoryV4.GetRunDataSheet(rds));
[HttpGet("{part}/production-specification")]
public IActionResult GetProductionSpecification(string part) =>
Content(_InfinityQSRepositoryV4.GetProductionSpecification(part));
}

View File

@ -1,24 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using OI.Metrology.Shared.Models.Stateless;
using System.Text.Json;
namespace OI.Metrology.Server.ApiControllers;
[Route("api/[controller]")]
public class ReactorsController : Controller, IReactorsController<IActionResult>
{
private readonly IReactorsRepository _ReactorsRepository;
public ReactorsController(IReactorsRepository reactorsRepository) =>
_ReactorsRepository = reactorsRepository;
[HttpGet("{even}")]
public IActionResult Get(bool even) =>
Json(even ? _ReactorsRepository.EvenReactors() : _ReactorsRepository.OddReactors(), new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true });
[HttpPost()]
public IActionResult Post(Shared.DataModels.WorkMaterialOut workMaterialOut) =>
Ok(_ReactorsRepository.GetKey(workMaterialOut, save: true));
}

View File

@ -40,7 +40,7 @@ public class ToolTypesController : Controller, IToolTypesController<IActionResul
[HttpGet]
[Route("{id}/headers")]
public IActionResult GetHeaders(int id, [FromQuery] DateTime? datebegin, [FromQuery] DateTime? dateend, [FromQuery] int? page, [FromQuery] int? pagesize, [FromQuery] long? headerid)
public IActionResult GetHeaders(int id, [FromQuery] string? datebegin, [FromQuery] string? dateend, [FromQuery] int? page, [FromQuery] int? pagesize, [FromQuery] long? headerid)
{
Shared.DataModels.Result<DataTable> r = _ToolTypesRepository.GetHeaders(_MetrologyRepo, id, datebegin, dateend, page, pagesize, headerid);
string json = JsonConvert.SerializeObject(r);
@ -68,7 +68,7 @@ public class ToolTypesController : Controller, IToolTypesController<IActionResul
[HttpGet]
[Route("{toolTypeId}/export")]
public IActionResult GetExportData(int toolTypeId, [FromQuery] DateTime? datebegin, [FromQuery] DateTime? dateend)
public IActionResult GetExportData(int toolTypeId, [FromQuery] string? datebegin, [FromQuery] string? dateend)
{
Shared.DataModels.Result<DataTable> r = _ToolTypesRepository.GetExportData(_MetrologyRepo, toolTypeId, datebegin, dateend);
string json = JsonConvert.SerializeObject(r);
@ -77,7 +77,7 @@ public class ToolTypesController : Controller, IToolTypesController<IActionResul
[HttpGet]
[Route("{toolTypeId}/csv")]
public IActionResult GetCSVExport(int toolTypeId, [FromQuery] DateTime? datebegin, [FromQuery] DateTime? dateend, [FromQuery] string? filename)
public IActionResult GetCSVExport(int toolTypeId, [FromQuery] string? datebegin, [FromQuery] string? dateend, [FromQuery] string? filename)
{
byte[] r = _ToolTypesRepository.GetCSVExport(_MetrologyRepo, toolTypeId, datebegin, dateend);
return File(r, "application/octet-stream", filename);
@ -100,7 +100,7 @@ public class ToolTypesController : Controller, IToolTypesController<IActionResul
[Route("{toolTypeId}/headers/{headerid}/oiexport")]
public IActionResult OIExport(int toolTypeId, long headerid)
{
string? message = _ToolTypesRepository.OIExport(_MetrologyRepo, _AttachmentsService, _AppSettings.AttachmentPath, _AppSettings.TableToPath, toolTypeId, headerid);
string? message = _ToolTypesRepository.OIExport(_MetrologyRepo, _AttachmentsService, toolTypeId, headerid);
if (message is null)
return Ok(new { Message = "OK" });
else

View File

@ -0,0 +1,18 @@
using Microsoft.AspNetCore.Mvc;
using OI.Metrology.Shared.Models.Stateless;
namespace OI.Metrology.Server.ApiControllers;
[Route("api/v1/[controller]")]
public class WaferCounterController : Controller, IWaferCounterController<IActionResult>
{
private readonly IWaferCounterRepository _WaferCounterRepository;
public WaferCounterController(IWaferCounterRepository waferCounterRepository) =>
_WaferCounterRepository = waferCounterRepository;
[HttpGet("{waferSize}/last-quantity-and-slot-map")]
public IActionResult GetLastQuantityAndSlotMap(string area, string waferSize) =>
Json(_WaferCounterRepository.GetLastQuantityAndSlotMap(area, waferSize));
}