Host from Windows
This commit is contained in:
parent
6737ddfb59
commit
da3e839a48
@ -4,6 +4,7 @@ namespace OI.Metrology.Server.ApiControllers;
|
||||
|
||||
using OI.Metrology.Shared.DataModels;
|
||||
using OI.Metrology.Shared.Models.Stateless;
|
||||
using System.Data;
|
||||
using System.Text.Json;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@ -11,9 +12,13 @@ public class ExportController : Controller, IExportController<IActionResult>
|
||||
{
|
||||
|
||||
private readonly IExportRepository _ExportRepository;
|
||||
private readonly IMetrologyRepository _MetrologyRepository;
|
||||
|
||||
public ExportController(IExportRepository exportRepository) =>
|
||||
public ExportController(IExportRepository exportRepository, IMetrologyRepository metrologyRepository)
|
||||
{
|
||||
_ExportRepository = exportRepository;
|
||||
_MetrologyRepository = metrologyRepository;
|
||||
}
|
||||
|
||||
private static string? GetJson(Stream stream)
|
||||
{
|
||||
@ -79,4 +84,21 @@ public class ExportController : Controller, IExportController<IActionResult>
|
||||
public IActionResult PostProcessDataStandardFormat() =>
|
||||
Content(_ExportRepository.GetProcessDataStandardFormat(GetHeaderCommon(Request.Body)));
|
||||
|
||||
[HttpGet]
|
||||
[Route("{toolTypeId}/export")]
|
||||
public IActionResult GetExportData(int toolTypeId, [FromQuery] string? datebegin, [FromQuery] string? dateend)
|
||||
{
|
||||
Result<DataTable> r = _ExportRepository.GetExportData(_MetrologyRepository, toolTypeId, datebegin, dateend);
|
||||
string json = Newtonsoft.Json.JsonConvert.SerializeObject(r);
|
||||
return Content(json);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("{toolTypeId}/csv")]
|
||||
public IActionResult GetCSVExport(int toolTypeId, [FromQuery] string? datebegin, [FromQuery] string? dateend, [FromQuery] string? filename)
|
||||
{
|
||||
string r = _ExportRepository.GetCSVExport(_MetrologyRepository, toolTypeId, datebegin, dateend);
|
||||
return File(r, "application/octet-stream", filename);
|
||||
}
|
||||
|
||||
}
|
@ -66,23 +66,6 @@ public class ToolTypesController : Controller, IToolTypesController<IActionResul
|
||||
return Content(json);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("{toolTypeId}/export")]
|
||||
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);
|
||||
return Content(json);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("{toolTypeId}/csv")]
|
||||
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);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("{toolTypeId}/{tabletype}/files/{attachmentId}/{filename}")]
|
||||
public IActionResult GetAttachment(int toolTypeId, string tabletype, string attachmentId, string filename)
|
||||
|
@ -1,160 +0,0 @@
|
||||
using Infineon.Monitoring.MonA;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Filters;
|
||||
using OI.Metrology.Server.Models;
|
||||
using OI.Metrology.Shared.DataModels;
|
||||
using OI.Metrology.Shared.Models.Stateless;
|
||||
using OI.Metrology.Shared.ViewModels;
|
||||
using System.Text;
|
||||
|
||||
namespace OI.Metrology.Server.Controllers;
|
||||
|
||||
public class ExportController : Controller
|
||||
{
|
||||
|
||||
private readonly ILogger _Logger;
|
||||
private readonly AppSettings _AppSettings;
|
||||
private readonly bool _IsTestDatabase;
|
||||
private readonly IMetrologyRepository _MetrologyRepository;
|
||||
|
||||
public ExportController(AppSettings appSettings, ILogger<ExportController> logger, IMetrologyRepository metrologyRepository)
|
||||
{
|
||||
_Logger = logger;
|
||||
_AppSettings = appSettings;
|
||||
_MetrologyRepository = metrologyRepository;
|
||||
_IsTestDatabase = appSettings.ConnectionString.Contains("test", StringComparison.InvariantCultureIgnoreCase);
|
||||
}
|
||||
|
||||
public override void OnActionExecuted(ActionExecutedContext context)
|
||||
{
|
||||
base.OnActionExecuted(context);
|
||||
ViewBag.IsTestDatabase = _IsTestDatabase;
|
||||
}
|
||||
|
||||
private string GetApiUrl() => string.IsNullOrEmpty(_AppSettings.ApiUrl) ? Url.Content("~/") : _AppSettings.ApiUrl[0] == '~' ? Url.Content(_AppSettings.ApiUrl) : _AppSettings.ApiUrl;
|
||||
|
||||
[HttpGet]
|
||||
[Route("/Export")]
|
||||
public ActionResult Index()
|
||||
{
|
||||
Export model = new()
|
||||
{
|
||||
StartTime = DateTime.Now.AddMonths(-1),
|
||||
EndTime = DateTime.Now
|
||||
};
|
||||
MonIn monIn = MonIn.GetInstance();
|
||||
_ = monIn.SendStatus(_AppSettings.MonASite, _AppSettings.MonAResource, "Heartbeat", State.Up);
|
||||
ViewBag.ApiUrl = GetApiUrl();
|
||||
return View(model);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("/ExportData")]
|
||||
public ActionResult ExportData(Export model)
|
||||
{
|
||||
ToolType? toolType = null;
|
||||
if (string.IsNullOrEmpty(model.ToolType))
|
||||
ModelState.AddModelError("Exception", "Invalid selection");
|
||||
else
|
||||
{
|
||||
if (model.StartTime > model.EndTime)
|
||||
ModelState.AddModelError("EndTime", "End time must be after start time");
|
||||
IEnumerable<ToolType> toolTypes = _MetrologyRepository.GetToolTypes();
|
||||
toolType = toolTypes.Where(tt => tt.ID.ToString() == model.ToolType).SingleOrDefault();
|
||||
if (toolType is null)
|
||||
ModelState.AddModelError("ToolType", "Invalid selection");
|
||||
else if (string.IsNullOrWhiteSpace(toolType.ExportSPName))
|
||||
ModelState.AddModelError("ToolType", "Tool type is not exportable");
|
||||
}
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
DateTime startDT = model.StartDate.Date.Add(model.StartTime.TimeOfDay);
|
||||
DateTime endDT = model.EndDate.Date.Add(model.EndTime.TimeOfDay);
|
||||
|
||||
return DoCSVExport(toolType?.ToolTypeName, toolType?.ExportSPName, startDT, endDT);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ModelState.AddModelError("Exception", "Error exporting data");
|
||||
ModelState.AddModelError("Exception", ex.Message);
|
||||
string errorMessage = $"Error exporting: {ex}";
|
||||
_Logger.LogError(message: errorMessage);
|
||||
MonIn monIn = MonIn.GetInstance();
|
||||
_ = monIn.SendStatus(_AppSettings.MonASite, _AppSettings.MonAResource, "Heartbeat", State.Warning);
|
||||
}
|
||||
}
|
||||
ViewBag.ApiUrl = GetApiUrl();
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
protected ActionResult DoCSVExport(string? toolTypeName, string? spName, DateTime startTime, DateTime endTime)
|
||||
{
|
||||
string fileName = string.Format("Export_{0}_{1:yyyyMMddHHmm}_to_{2:yyyyMMddHHmm}.csv", toolTypeName, startTime, endTime);
|
||||
StringBuilder sb = new();
|
||||
if (spName is null)
|
||||
throw new NullReferenceException(nameof(spName));
|
||||
System.Data.DataTable dt = _MetrologyRepository.ExportData(spName, startTime, endTime);
|
||||
_ = sb.AppendLine(GetColumnHeaders(dt));
|
||||
foreach (System.Data.DataRow dr in dt.Rows)
|
||||
_ = sb.AppendLine(GetRowData(dr));
|
||||
byte[] contents = Encoding.UTF8.GetBytes(sb.ToString());
|
||||
return File(contents, "application/octet-stream", fileName);
|
||||
}
|
||||
|
||||
protected static string GetRowData(System.Data.DataRow dr)
|
||||
{
|
||||
StringBuilder r = new();
|
||||
for (int i = 0; i < dr.Table.Columns.Count; i++)
|
||||
{
|
||||
if (i > 0)
|
||||
_ = r.Append(',');
|
||||
object v = dr[i];
|
||||
if (!Convert.IsDBNull(v))
|
||||
{
|
||||
string? c = Convert.ToString(v);
|
||||
if (c is not null)
|
||||
_ = r.Append(FormatForCSV(c));
|
||||
}
|
||||
}
|
||||
return r.ToString();
|
||||
}
|
||||
|
||||
protected static string GetColumnHeaders(System.Data.DataTable dt)
|
||||
{
|
||||
StringBuilder r = new();
|
||||
for (int i = 0; i < dt.Columns.Count; i++)
|
||||
{
|
||||
if (i > 0)
|
||||
_ = r.Append(',');
|
||||
|
||||
_ = r.Append(FormatForCSV(dt.Columns[i].ColumnName.TrimEnd('_')));
|
||||
}
|
||||
return r.ToString();
|
||||
}
|
||||
|
||||
protected static string FormatForCSV(string v)
|
||||
{
|
||||
bool doubleQuoted = false;
|
||||
StringBuilder r = new(v.Length + 2);
|
||||
if (v.StartsWith(' ') || v.EndsWith(' ') || v.Contains(',') || v.Contains('"'))
|
||||
{
|
||||
_ = r.Append('"');
|
||||
doubleQuoted = true;
|
||||
}
|
||||
foreach (char c in v)
|
||||
{
|
||||
_ = c switch
|
||||
{
|
||||
'\r' or '\n' => r.Append(' '),
|
||||
'"' => r.Append("\"\""),
|
||||
_ => r.Append(c),
|
||||
};
|
||||
}
|
||||
if (doubleQuoted)
|
||||
_ = r.Append('"');
|
||||
return r.ToString();
|
||||
}
|
||||
|
||||
}
|
@ -2,7 +2,9 @@ using OI.Metrology.Server.Models;
|
||||
using OI.Metrology.Shared.DataModels;
|
||||
using OI.Metrology.Shared.Models;
|
||||
using OI.Metrology.Shared.Models.Stateless;
|
||||
using System.Data;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace OI.Metrology.Server.Repository;
|
||||
@ -160,4 +162,86 @@ public class ExportRepository : IExportRepository
|
||||
return result;
|
||||
}
|
||||
|
||||
Result<DataTable> IExportRepository.GetExportData(IMetrologyRepository metrologyRepository, int toolTypeId, string? datebegin, string? dateend)
|
||||
{
|
||||
Result<DataTable>? r;
|
||||
DateTime dateEnd = dateend is null ? DateTime.Now : DateTime.Parse(dateend);
|
||||
DateTime dateBegin = datebegin is null ? dateEnd.AddMonths(-1) : DateTime.Parse(datebegin);
|
||||
ToolType tt = metrologyRepository.GetToolTypeByID(toolTypeId);
|
||||
if (string.IsNullOrEmpty(tt.ExportSPName))
|
||||
throw new NullReferenceException(nameof(tt.ExportSPName));
|
||||
DataTable dataTable = metrologyRepository.ExportData(tt.ExportSPName, dateBegin, dateEnd);
|
||||
r = new()
|
||||
{
|
||||
Results = dataTable,
|
||||
TotalRows = dataTable.Rows.Count,
|
||||
};
|
||||
return r;
|
||||
}
|
||||
|
||||
protected static string FormatForCSV(string v)
|
||||
{
|
||||
StringBuilder result = new(v.Length + 2);
|
||||
bool doubleQuoted = false;
|
||||
if (v.StartsWith(' ') || v.EndsWith(' ') || v.Contains(',') || v.Contains('"'))
|
||||
{
|
||||
_ = result.Append('"');
|
||||
doubleQuoted = true;
|
||||
}
|
||||
foreach (char c in v)
|
||||
{
|
||||
_ = c switch
|
||||
{
|
||||
'\r' or '\n' => result.Append(' '),
|
||||
'"' => result.Append("\"\""),
|
||||
_ => result.Append(c),
|
||||
};
|
||||
}
|
||||
if (doubleQuoted)
|
||||
_ = result.Append('"');
|
||||
return result.ToString();
|
||||
}
|
||||
|
||||
protected static string GetColumnHeaders(DataTable dataTable)
|
||||
{
|
||||
StringBuilder result = new();
|
||||
for (int i = 0; i < dataTable.Columns.Count; i++)
|
||||
{
|
||||
if (i > 0)
|
||||
_ = result.Append(',');
|
||||
_ = result.Append(FormatForCSV(dataTable.Columns[i].ColumnName.TrimEnd('_')));
|
||||
}
|
||||
return result.ToString();
|
||||
}
|
||||
|
||||
protected static string GetRowData(DataRow dr)
|
||||
{
|
||||
StringBuilder result = new();
|
||||
for (int i = 0; i < dr.Table.Columns.Count; i++)
|
||||
{
|
||||
if (i > 0)
|
||||
_ = result.Append(',');
|
||||
object v = dr[i];
|
||||
if (v is not null && !Convert.IsDBNull(v))
|
||||
_ = result.Append(FormatForCSV(string.Concat(Convert.ToString(v))));
|
||||
}
|
||||
return result.ToString();
|
||||
}
|
||||
|
||||
string IExportRepository.GetCSVExport(IMetrologyRepository metrologyRepository, int toolTypeId, string? datebegin, string? dateend)
|
||||
{
|
||||
string results;
|
||||
Result<DataTable> result;
|
||||
IExportRepository repository = this;
|
||||
result = repository.GetExportData(metrologyRepository, toolTypeId, datebegin, dateend);
|
||||
if (result.Results is null)
|
||||
throw new NullReferenceException(nameof(result.Results));
|
||||
StringBuilder stringBuilder = new();
|
||||
_ = stringBuilder.AppendLine(GetColumnHeaders(result.Results));
|
||||
foreach (DataRow dr in result.Results.Rows)
|
||||
_ = stringBuilder.AppendLine(GetRowData(dr));
|
||||
results = stringBuilder.ToString();
|
||||
return results;
|
||||
}
|
||||
|
||||
}
|
@ -3,7 +3,6 @@ using OI.Metrology.Shared.DataModels;
|
||||
using OI.Metrology.Shared.Models.Stateless;
|
||||
using OI.Metrology.Shared.Services;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace OI.Metrology.Server.Repository;
|
||||
@ -237,96 +236,4 @@ public class ToolTypesRepository : IToolTypesRepository
|
||||
return result;
|
||||
}
|
||||
|
||||
Result<DataTable> IToolTypesRepository.GetExportData(IMetrologyRepository metrologyRepository, int toolTypeId, string? datebegin, string? dateend)
|
||||
{
|
||||
Result<DataTable>? r;
|
||||
if (!string.IsNullOrEmpty(_MockRoot))
|
||||
{
|
||||
string json = File.ReadAllText(Path.Combine(string.Concat(AppContext.BaseDirectory, _MockRoot), $"{_RepositoryName}-{nameof(IToolTypesRepository.GetExportData)}.json"));
|
||||
r = Newtonsoft.Json.JsonConvert.DeserializeObject<Result<DataTable>>(json);
|
||||
if (r is null)
|
||||
throw new NullReferenceException(nameof(r));
|
||||
}
|
||||
else
|
||||
{
|
||||
DateTime dateEnd = dateend is null ? DateTime.Now : DateTime.Parse(dateend);
|
||||
DateTime dateBegin = datebegin is null ? dateEnd.AddMonths(-1) : DateTime.Parse(datebegin);
|
||||
ToolType tt = metrologyRepository.GetToolTypeByID(toolTypeId);
|
||||
if (string.IsNullOrEmpty(tt.ExportSPName))
|
||||
throw new NullReferenceException(nameof(tt.ExportSPName));
|
||||
DataTable dataTable = metrologyRepository.ExportData(tt.ExportSPName, dateBegin, dateEnd);
|
||||
r = new()
|
||||
{
|
||||
Results = dataTable,
|
||||
TotalRows = dataTable.Rows.Count,
|
||||
};
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
protected static string FormatForCSV(string v)
|
||||
{
|
||||
StringBuilder result = new(v.Length + 2);
|
||||
bool doubleQuoted = false;
|
||||
if (v.StartsWith(' ') || v.EndsWith(' ') || v.Contains(',') || v.Contains('"'))
|
||||
{
|
||||
_ = result.Append('"');
|
||||
doubleQuoted = true;
|
||||
}
|
||||
foreach (char c in v)
|
||||
{
|
||||
_ = c switch
|
||||
{
|
||||
'\r' or '\n' => result.Append(' '),
|
||||
'"' => result.Append("\"\""),
|
||||
_ => result.Append(c),
|
||||
};
|
||||
}
|
||||
if (doubleQuoted)
|
||||
_ = result.Append('"');
|
||||
return result.ToString();
|
||||
}
|
||||
|
||||
protected static string GetColumnHeaders(DataTable dataTable)
|
||||
{
|
||||
StringBuilder result = new();
|
||||
for (int i = 0; i < dataTable.Columns.Count; i++)
|
||||
{
|
||||
if (i > 0)
|
||||
_ = result.Append(',');
|
||||
_ = result.Append(FormatForCSV(dataTable.Columns[i].ColumnName.TrimEnd('_')));
|
||||
}
|
||||
return result.ToString();
|
||||
}
|
||||
|
||||
protected static string GetRowData(DataRow dr)
|
||||
{
|
||||
StringBuilder result = new();
|
||||
for (int i = 0; i < dr.Table.Columns.Count; i++)
|
||||
{
|
||||
if (i > 0)
|
||||
_ = result.Append(',');
|
||||
object v = dr[i];
|
||||
if (v is not null && !Convert.IsDBNull(v))
|
||||
_ = result.Append(FormatForCSV(string.Concat(Convert.ToString(v))));
|
||||
}
|
||||
return result.ToString();
|
||||
}
|
||||
|
||||
byte[] IToolTypesRepository.GetCSVExport(IMetrologyRepository metrologyRepository, int toolTypeId, string? datebegin, string? dateend)
|
||||
{
|
||||
byte[] results;
|
||||
Result<DataTable> result;
|
||||
IToolTypesRepository repository = this;
|
||||
result = repository.GetExportData(metrologyRepository, toolTypeId, datebegin, dateend);
|
||||
if (result.Results is null)
|
||||
throw new NullReferenceException(nameof(result.Results));
|
||||
StringBuilder stringBuilder = new();
|
||||
_ = stringBuilder.AppendLine(GetColumnHeaders(result.Results));
|
||||
foreach (DataRow dr in result.Results.Rows)
|
||||
_ = stringBuilder.AppendLine(GetRowData(dr));
|
||||
results = Encoding.UTF8.GetBytes(stringBuilder.ToString());
|
||||
return results;
|
||||
}
|
||||
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
@using OI.Metrology.Shared.ViewModels
|
||||
@model OI.Metrology.Shared.ViewModels.Export
|
||||
@{
|
||||
ViewData["Title"] = "Export Data";
|
||||
}
|
||||
|
||||
<style>
|
||||
td {
|
||||
padding-bottom: 2em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h3>Export Data</h3>
|
||||
|
||||
<hr />
|
||||
|
||||
<form asp-controller="Export" asp-action="ExportData" method="post" class="form-inline">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType" name="ToolType"></div>
|
||||
@Html.ValidationMessage("ToolType", new { @class = "text-danger" })
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDateControl"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTimeControl"></div>
|
||||
@Html.ValidationMessage("StartDate", new { @class = "text-danger" })
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDateControl"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTimeControl"></div>
|
||||
@Html.ValidationMessage("EndDate", new { @class = "text-danger" })
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-primary">Export Data</button>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.ValidationMessage("Exception", new { @class = "text-danger" })
|
||||
</div>
|
||||
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
var apiUrl = "@ViewBag.ApiUrl";
|
||||
|
||||
$("#ToolType").igCombo({
|
||||
dataSource: apiUrl + '/tooltypes',
|
||||
responseDataKey: "Results",
|
||||
textKey: "ToolTypeName",
|
||||
valueKey: "ID",
|
||||
mode: "dropdown",
|
||||
width: 150
|
||||
});
|
||||
|
||||
var startTime = new Date("@Model.StartTime.ToString("yyyy-MM-ddTHH:mm")");
|
||||
|
||||
$("#StartDateControl").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: startTime,
|
||||
width: 125,
|
||||
inputName: "StartDate",
|
||||
});
|
||||
|
||||
$("#StartTimeControl").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: startTime,
|
||||
width: 110,
|
||||
inputName: "StartTime",
|
||||
});
|
||||
|
||||
var endTime = new Date("@Model.EndTime.ToString("yyyy-MM-ddTHH:mm")");
|
||||
|
||||
$("#EndDateControl").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: endTime,
|
||||
width: 125,
|
||||
inputName: "EndDate",
|
||||
});
|
||||
|
||||
$("#EndTimeControl").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: endTime,
|
||||
width: 110,
|
||||
inputName: "EndTime",
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -6,41 +6,41 @@
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>@ViewBag.Title</title>
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/modernizr-3.6.0-custom.js?no-cache=2024-06-14-16-48"
|
||||
<script src="https://oi-metrology-viewer-prod.mes.infineon.com/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
|
||||
<link href="https://metrology-viewer-prod.mes.infineon.com/styles/bootstrap.min.css?no-cache=2024-06-14-16-48"
|
||||
<link href="https://oi-metrology-viewer-prod.mes.infineon.com/styles/bootstrap.min.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link
|
||||
href="https://metrology-viewer-prod.mes.infineon.com/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-14-16-48"
|
||||
href="https://oi-metrology-viewer-prod.mes.infineon.com/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link
|
||||
href="https://metrology-viewer-prod.mes.infineon.com/igniteui/css/structure/infragistics.css?no-cache=2024-06-14-16-48"
|
||||
href="https://oi-metrology-viewer-prod.mes.infineon.com/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="https://metrology-viewer-prod.mes.infineon.com/styles/site-server.css?no-cache=2024-06-14-16-48"
|
||||
<link href="https://oi-metrology-viewer-prod.mes.infineon.com/styles/site-server.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="https://metrology-viewer-prod.mes.infineon.com/styles/index.css?no-cache=2024-06-14-16-48"
|
||||
<link href="https://oi-metrology-viewer-prod.mes.infineon.com/styles/index.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/jquery-3.6.0.min.js?no-cache=2024-06-14-16-48"
|
||||
<script src="https://oi-metrology-viewer-prod.mes.infineon.com/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/jquery-ui.min.js?no-cache=2024-06-14-16-48"
|
||||
<script src="https://oi-metrology-viewer-prod.mes.infineon.com/js/jquery-ui.min.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.core.js?no-cache=2024-06-14-16-48"
|
||||
src="https://oi-metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.lob.js?no-cache=2024-06-14-16-48"
|
||||
src="https://oi-metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.dv.js?no-cache=2024-06-14-16-48"
|
||||
src="https://oi-metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/chart-4.3.0.min.js" type="module"></script>
|
||||
<script src="https://oi-metrology-viewer-prod.mes.infineon.com/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/common.js?no-cache=2024-06-14-16-48"
|
||||
<script src="https://oi-metrology-viewer-prod.mes.infineon.com/js/common.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/site-server.js?no-cache=2024-06-14-16-48"
|
||||
<script src="https://oi-metrology-viewer-prod.mes.infineon.com/js/site-server.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
@ -63,8 +63,8 @@
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="https://metrology-viewer-prod.mes.infineon.com"><img
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/images/IFX_LOGO_RGB.png"
|
||||
<a href="https://oi-metrology-viewer-prod.mes.infineon.com"><img
|
||||
src="https://oi-metrology-viewer-prod.mes.infineon.com/images/IFX_LOGO_RGB.png"
|
||||
height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
@ -99,9 +99,9 @@
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/bootstrap.min.js?no-cache=2024-06-14-16-48"
|
||||
<script src="https://oi-metrology-viewer-prod.mes.infineon.com/js/bootstrap.min.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/respond.min.js?no-cache=2024-06-14-16-48"
|
||||
<script src="https://oi-metrology-viewer-prod.mes.infineon.com/js/respond.min.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
@RenderSection("scripts", required: false)
|
||||
</body>
|
||||
|
@ -6,41 +6,41 @@
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/modernizr-3.6.0-custom.js?no-cache=2024-06-14-15-53"
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
|
||||
<link href="https://metrology-viewer-prod.mes.infineon.com/styles/bootstrap.min.css?no-cache=2024-06-14-15-53"
|
||||
<link href="https://metrology-viewer-prod.mes.infineon.com/styles/bootstrap.min.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link
|
||||
href="https://metrology-viewer-prod.mes.infineon.com/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-14-15-53"
|
||||
href="https://metrology-viewer-prod.mes.infineon.com/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link
|
||||
href="https://metrology-viewer-prod.mes.infineon.com/igniteui/css/structure/infragistics.css?no-cache=2024-06-14-15-53"
|
||||
href="https://metrology-viewer-prod.mes.infineon.com/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="https://metrology-viewer-prod.mes.infineon.com/styles/site-server.css?no-cache=2024-06-14-15-53"
|
||||
<link href="https://metrology-viewer-prod.mes.infineon.com/styles/site-server.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="https://metrology-viewer-prod.mes.infineon.com/styles/index.css?no-cache=2024-06-14-15-53"
|
||||
<link href="https://metrology-viewer-prod.mes.infineon.com/styles/index.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/jquery-3.6.0.min.js?no-cache=2024-06-14-15-53"
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/jquery-ui.min.js?no-cache=2024-06-14-15-53"
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/jquery-ui.min.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.core.js?no-cache=2024-06-14-15-53"
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.lob.js?no-cache=2024-06-14-15-53"
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.dv.js?no-cache=2024-06-14-15-53"
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/common.js?no-cache=2024-06-14-15-53"
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/common.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/site-server.js?no-cache=2024-06-14-15-53"
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/site-server.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
@ -54,7 +54,8 @@
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="https://metrology-viewer-prod.mes.infineon.com"><img src="images/IFX_LOGO_RGB.png"
|
||||
<a href="https://metrology-viewer-prod.mes.infineon.com"><img
|
||||
src="https://metrology-viewer-prod.mes.infineon.com/images/IFX_LOGO_RGB.png"
|
||||
height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
@ -171,11 +172,11 @@
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/bootstrap.min.js?no-cache=2024-06-14-15-53"
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/bootstrap.min.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/respond.min.js?no-cache=2024-06-14-15-53"
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/respond.min.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/index.js?no-cache=2024-06-14-15-53"
|
||||
<script src="https://metrology-viewer-prod.mes.infineon.com/js/index.js?no-cache=2024-06-17-17-10"
|
||||
type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
using OI.Metrology.Shared.DataModels;
|
||||
using System.Data;
|
||||
|
||||
namespace OI.Metrology.Shared.Models.Stateless;
|
||||
|
||||
@ -9,5 +10,7 @@ public interface IExportRepository
|
||||
Result<HeaderCommon[]> GetHeaders(HeaderCommon headerCommon);
|
||||
Result<HeaderCommon[]> GetLogistics(HeaderCommon headerCommon);
|
||||
string GetProcessDataStandardFormat(HeaderCommon headerCommon);
|
||||
string GetCSVExport(IMetrologyRepository metrologyRepository, int toolTypeId, string? datebegin, string? dateend);
|
||||
Result<DataTable> GetExportData(IMetrologyRepository metrologyRepository, int toolTypeId, string? datebegin, string? dateend);
|
||||
|
||||
}
|
@ -10,10 +10,8 @@ public interface IToolTypesRepository
|
||||
Result<ToolTypeNameId[]> Index(IMetrologyRepository metrologyRepository);
|
||||
Result<DataTable> GetData(IMetrologyRepository metrologyRepository, int id, long headerid);
|
||||
Result<ColumnValue[]> GetHeaderFields(IMetrologyRepository metrologyRepository, int id, long headerid);
|
||||
byte[] GetCSVExport(IMetrologyRepository metrologyRepository, int toolTypeId, string? datebegin, string? dateend);
|
||||
Result<HeaderCommon[]> GetHeaderTitles(IMetrologyRepository metrologyRepository, int id, int? page, int? pagesize);
|
||||
Result<ToolTypeMetadataResult> GetToolTypeMetadata(IMetrologyRepository metrologyRepository, int id, string sortby = "");
|
||||
Result<DataTable> GetExportData(IMetrologyRepository metrologyRepository, int toolTypeId, string? datebegin, string? dateend);
|
||||
string? OIExport(IMetrologyRepository metrologyRepository, IAttachmentsService attachmentsService, int toolTypeId, long headerid);
|
||||
Result<DataTable> GetHeaders(IMetrologyRepository metrologyRepository, int id, string? datebegin, string? dateend, int? page, int? pagesize, long? headerid);
|
||||
(string?, string?, Stream?) GetAttachment(IMetrologyRepository metrologyRepository, IAttachmentsService attachmentsService, int toolTypeId, string tabletype, string attachmentId, string filename);
|
||||
|
28
Static/.vscode/tasks.json
vendored
Normal file
28
Static/.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "shell",
|
||||
"label": "MakeDirctory",
|
||||
"command": "mkdir",
|
||||
"args": [
|
||||
"D:\\web-sites\\OI-Metrology\\pp-6737ddfb-_______-OI-Metrology-Release"
|
||||
],
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"label": "CopySite",
|
||||
"command": "robocopy",
|
||||
"args": [
|
||||
"L:\\DevOps\\Mesa_FI\\OI-Metrology\\Static",
|
||||
"D:\\web-sites\\OI-Metrology\\pp-6737ddfb-_______-OI-Metrology-Release\\Static",
|
||||
"/E",
|
||||
"/MT:6",
|
||||
"/NFL",
|
||||
"/NDL",
|
||||
"/NJH",
|
||||
"/NJS"
|
||||
],
|
||||
}
|
||||
]
|
||||
}
|
158
Static/AwaitingDispo/index.html
Normal file
158
Static/AwaitingDispo/index.html
Normal file
@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkCopyOnGet">
|
||||
Copy-On-Get
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkCopyOnGet">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© 2024 - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
158
Static/Export/index.html
Normal file
158
Static/Export/index.html
Normal file
@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkCopyOnGet">
|
||||
Copy-On-Get
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkCopyOnGet">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© 2024 - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
158
Static/Metrology/AwaitingDispo/index.html
Normal file
158
Static/Metrology/AwaitingDispo/index.html
Normal file
@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkCopyOnGet">
|
||||
Copy-On-Get
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkCopyOnGet">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© 2024 - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
158
Static/Metrology/Export/index.html
Normal file
158
Static/Metrology/Export/index.html
Normal file
@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkCopyOnGet">
|
||||
Copy-On-Get
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkCopyOnGet">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© 2024 - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
158
Static/Metrology/RunHeaders/index.html
Normal file
158
Static/Metrology/RunHeaders/index.html
Normal file
@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkCopyOnGet">
|
||||
Copy-On-Get
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkCopyOnGet">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© 2024 - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
158
Static/Metrology/RunInfo/index.html
Normal file
158
Static/Metrology/RunInfo/index.html
Normal file
@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkCopyOnGet">
|
||||
Copy-On-Get
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkCopyOnGet">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© 2024 - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
158
Static/Metrology/index.html
Normal file
158
Static/Metrology/index.html
Normal file
@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkCopyOnGet">
|
||||
Copy-On-Get
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkCopyOnGet">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© 2024 - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
158
Static/RunHeaders/index.html
Normal file
158
Static/RunHeaders/index.html
Normal file
@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkCopyOnGet">
|
||||
Copy-On-Get
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkCopyOnGet">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© 2024 - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
158
Static/RunInfo/index.html
Normal file
158
Static/RunInfo/index.html
Normal file
@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-check-label" for="chkCopyOnGet">
|
||||
Copy-On-Get
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkCopyOnGet">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© 2024 - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -6,24 +6,24 @@
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Awaiting Disposition</title>
|
||||
|
||||
<script src="js/modernizr-3.6.0-custom.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="styles/bootstrap.min.css?no-cache=2024-06-14-15-41" rel="stylesheet" />
|
||||
<link href="igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-14-15-41"
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="igniteui/css/structure/infragistics.css?no-cache=2024-06-14-15-41" rel="stylesheet" />
|
||||
<link href="styles/site-server.css?no-cache=2024-06-14-15-41" rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="js/jquery-3.6.0.min.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="js/jquery-ui.min.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="igniteui/js/infragistics.core.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="igniteui/js/infragistics.lob.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="igniteui/js/infragistics.dv.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="js/chart-4.3.0.min.js" type="module"></script>
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="js/common.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="js/site-server.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -36,16 +36,16 @@
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="awaiting-disposition.html" class="alert-info">Awaiting Disposition</a></li>
|
||||
<li><a href="index.html">Run Information</a></li>
|
||||
<li><a href="run-headers.html">Run Headers</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-prod.mes.infineon.com/Export" target="_blank">Export</a></li>
|
||||
<li><a href="/awaiting-disposition.html" class="alert-info">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
@ -77,9 +77,9 @@
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="js/bootstrap.min.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="js/respond.min.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="js/awaiting-disposition.js?no-cache=2024-06-14-15-41" type="text/javascript"></script>
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/awaiting-disposition.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
93
Static/export.html
Normal file
93
Static/export.html
Normal file
@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Export Data</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/export.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html" class="alert-info">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
<h3>Export Data</h3>
|
||||
|
||||
<hr />
|
||||
|
||||
<form class="form-inline">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType" name="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button type="button" id="ExportButton" class="btn btn-primary">Export Data</button>
|
||||
</div>
|
||||
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/export.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/FileSaver.min.js" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -6,25 +6,25 @@
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Information</title>
|
||||
|
||||
<script src="js/modernizr-3.6.0-custom.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="styles/bootstrap.min.css?no-cache=2024-06-14-16-48" rel="stylesheet" />
|
||||
<link href="igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-14-16-48"
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="igniteui/css/structure/infragistics.css?no-cache=2024-06-14-16-48" rel="stylesheet" />
|
||||
<link href="styles/site-server.css?no-cache=2024-06-14-16-48" rel="stylesheet" />
|
||||
<link href="styles/index.css?no-cache=2024-06-14-16-48" rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="js/jquery-3.6.0.min.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="js/jquery-ui.min.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="igniteui/js/infragistics.core.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="igniteui/js/infragistics.lob.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="igniteui/js/infragistics.dv.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="js/chart-4.3.0.min.js" type="module"></script>
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="js/common.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="js/site-server.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -37,16 +37,16 @@
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="run-headers.html">Run Headers</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-prod.mes.infineon.com/Export" target="_blank">Export</a></li>
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html" class="alert-info">Run Information</a></li>
|
||||
<li><a href="/run-headers.html">Run Headers</a></li>
|
||||
<li><a href="/export.html">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
@ -150,9 +150,9 @@
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="js/bootstrap.min.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="js/respond.min.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="js/index.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/index.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
3
Static/js/FileSaver.min.js
vendored
Normal file
3
Static/js/FileSaver.min.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
(function(a,b){if("function"==typeof define&&define.amd)define([],b);else if("undefined"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){"use strict";function b(a,b){return"undefined"==typeof b?b={autoBom:!1}:"object"!=typeof b&&(console.warn("Depricated: Expected third argument to be a object"),b={autoBom:!b}),b.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function c(b,c,d){var e=new XMLHttpRequest;e.open("GET",b),e.responseType="blob",e.onload=function(){a(e.response,c,d)},e.onerror=function(){console.error("could not download file")},e.send()}function d(a){var b=new XMLHttpRequest;return b.open("HEAD",a,!1),b.send(),200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent("click"))}catch(c){var b=document.createEvent("MouseEvents");b.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,a=f.saveAs||"object"!=typeof window||window!==f?function(){}:"download"in HTMLAnchorElement.prototype?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement("a");g=g||b.name||"download",j.download=g,j.rel="noopener","string"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target="_blank")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:"msSaveOrOpenBlob"in navigator?function(f,g,h){if(g=g||f.name||"download","string"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement("a");i.href=f,i.target="_blank",setTimeout(function(){e(i)})}}:function(a,b,d,e){if(e=e||open("","_blank"),e&&(e.document.title=e.document.body.innerText="downloading..."),"string"==typeof a)return c(a,b,d);var g="application/octet-stream"===a.type,h=/constructor/i.test(f.HTMLElement)||f.safari,i=/CriOS\/[\d]+/.test(navigator.userAgent);if((i||g&&h)&&"object"==typeof FileReader){var j=new FileReader;j.onloadend=function(){var a=j.result;a=i?a:a.replace(/^data:[^;]*;/,"data:attachment/file;"),e?e.location.href=a:location=a,e=null},j.readAsDataURL(a)}else{var k=f.URL||f.webkitURL,l=k.createObjectURL(a);e?e.location=l:location.href=l,e=null,setTimeout(function(){k.revokeObjectURL(l)},4E4)}};f.saveAs=a.saveAs=a,"undefined"!=typeof module&&(module.exports=a)});
|
||||
|
||||
//# sourceMappingURL=FileSaver.min.js.map
|
@ -1,5 +1,5 @@
|
||||
$(document).ready(function () {
|
||||
|
||||
initAwaitingDisposition("https://oi-metrology-viewer-prod.mes.infineon.com/api", "https://metrology-viewer-prod.mes.infineon.com");
|
||||
initAwaitingDisposition("https://oi-metrology-viewer-prod.mes.infineon.com:4433/api", "https://oi-metrology-viewer-prod.mes.infineon.com");
|
||||
|
||||
});
|
88
Static/js/export.js
Normal file
88
Static/js/export.js
Normal file
@ -0,0 +1,88 @@
|
||||
var _apiUrl = null;
|
||||
var _StaticUrl = null;
|
||||
|
||||
function getParams() {
|
||||
var endDate = $("#EndDate").igDatePicker("value");
|
||||
var endTime = $("#EndTime").igTimePicker("value");
|
||||
var startDate = $("#StartDate").igDatePicker("value");
|
||||
var startTime = $("#StartTime").igTimePicker("value");
|
||||
var result = {
|
||||
datebegin: new Date(
|
||||
startDate.getFullYear(), startDate.getMonth(), startDate.getDate(),
|
||||
startTime.getHours(), startTime.getMinutes(), startTime.getSeconds()).toISOString(),
|
||||
dateend: new Date(
|
||||
endDate.getFullYear(), endDate.getMonth(), endDate.getDate(),
|
||||
endTime.getHours(), endTime.getMinutes(), endTime.getSeconds()).toISOString(),
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function postExport() {
|
||||
parms = getParams();
|
||||
var toolTypeID = $("#ToolType").igCombo("value");
|
||||
var url = _apiUrl + "/Export/" + toolTypeID + "/csv";
|
||||
// var url = _apiUrl + "/ToolTypes/" + toolTypeID + "/csv";
|
||||
$.get(url, parms, function (data) {
|
||||
var blob = new Blob([data], {
|
||||
type: "text/plain;charset=utf-8",
|
||||
});
|
||||
parms = getParams();
|
||||
var toolType = $("#ToolType").igCombo("text");
|
||||
saveAs(blob, "Export_" + toolType + "_" + parms.datebegin + "_to_" + parms.dateend + ".csv");
|
||||
}).fail(function () {
|
||||
ShowErrorMessage("Error");
|
||||
});
|
||||
}
|
||||
|
||||
function initExport(apiUrl, staticUrl, startTimeValue, endTimeValue) {
|
||||
_apiUrl = apiUrl;
|
||||
_StaticUrl = staticUrl;
|
||||
var endTime = new Date(endTimeValue);
|
||||
var startTime = new Date(startTimeValue);
|
||||
$.getJSON(_apiUrl + '/tooltypes', function (data) {
|
||||
$("#ToolType").igCombo({
|
||||
dataSource: data,
|
||||
responseDataKey: "Results",
|
||||
textKey: "ToolTypeName",
|
||||
valueKey: "ID",
|
||||
mode: "dropdown",
|
||||
width: 150
|
||||
});
|
||||
});
|
||||
$("#StartDate").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: startTime,
|
||||
width: 125,
|
||||
inputName: "StartDate",
|
||||
});
|
||||
$("#StartTime").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: startTime,
|
||||
width: 110,
|
||||
inputName: "StartTime",
|
||||
});
|
||||
$("#EndDate").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: endTime,
|
||||
width: 125,
|
||||
inputName: "EndDate",
|
||||
});
|
||||
$("#EndTime").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: endTime,
|
||||
width: 110,
|
||||
inputName: "EndTime",
|
||||
});
|
||||
$("#ExportButton").click(postExport);
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
var endTimeValue = Date.now();
|
||||
var startTimeValue = new Date();
|
||||
// startTimeValue.setDate(startTimeValue.getDate() - 1);
|
||||
startTimeValue.setMonth(startTimeValue.getMonth() - 1);
|
||||
initExport("https://oi-metrology-viewer-prod.mes.infineon.com:4433/api", "https://oi-metrology-viewer-prod.mes.infineon.com", startTimeValue, endTimeValue);
|
||||
|
||||
});
|
||||
// string fileName = string.Format("Export_{0}_{1:yyyyMMddHHmm}_to_{2:yyyyMMddHHmm}.csv", export.ToolType, export.StartTime, export.EndTime);
|
@ -5,6 +5,6 @@ $(document).ready(function () {
|
||||
const urlParams = new URLSearchParams(queryString);
|
||||
const initialHeaderId = urlParams.get('headerid');
|
||||
const initialToolTypeID = urlParams.get('tooltypeid');
|
||||
initRunInfo("https://oi-metrology-viewer-prod.mes.infineon.com/api", "https://metrology-viewer-prod.mes.infineon.com", initialToolTypeID, initialHeaderId, initialHeaderAttachmentId);
|
||||
initRunInfo("https://oi-metrology-viewer-prod.mes.infineon.com:4433/api", "https://oi-metrology-viewer-prod.mes.infineon.com", initialToolTypeID, initialHeaderId, initialHeaderAttachmentId);
|
||||
|
||||
});
|
@ -1,5 +1,5 @@
|
||||
$(document).ready(function () {
|
||||
|
||||
initRunHeaders("https://oi-metrology-viewer-prod.mes.infineon.com/api", "https://metrology-viewer-prod.mes.infineon.com");
|
||||
initRunHeaders("https://oi-metrology-viewer-prod.mes.infineon.com:4433/api", "https://oi-metrology-viewer-prod.mes.infineon.com");
|
||||
|
||||
});
|
@ -58,47 +58,6 @@ function initAwaitingDisposition(apiUrl, staticUrl) {
|
||||
$("#grid").on("dblclick", "tr", loadRunInfoAwaitingDisposition);
|
||||
};
|
||||
|
||||
function initExport(apiUrl, staticUrl, startTimeValue, endTimeValue) {
|
||||
_apiUrl = apiUrl;
|
||||
_StaticUrl = staticUrl;
|
||||
var endTime = new Date(endTimeValue);
|
||||
var startTime = new Date(startTimeValue);
|
||||
$.getJSON(_apiUrl + '/tooltypes', function (data) {
|
||||
$("#ToolType").igCombo({
|
||||
dataSource: data,
|
||||
responseDataKey: "Results",
|
||||
textKey: "ToolTypeName",
|
||||
valueKey: "ID",
|
||||
mode: "dropdown",
|
||||
width: 150
|
||||
});
|
||||
});
|
||||
$("#StartDateControl").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: startTime,
|
||||
width: 125,
|
||||
inputName: "StartDate",
|
||||
});
|
||||
$("#StartTimeControl").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: startTime,
|
||||
width: 110,
|
||||
inputName: "StartTime",
|
||||
});
|
||||
$("#EndDateControl").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: endTime,
|
||||
width: 125,
|
||||
inputName: "EndDate",
|
||||
});
|
||||
$("#EndTimeControl").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: endTime,
|
||||
width: 110,
|
||||
inputName: "EndTime",
|
||||
});
|
||||
};
|
||||
|
||||
function loadHeaderGridRunHeaders() {
|
||||
var toolTypeID = -1; // $("#ToolType").igCombo("value");
|
||||
var gridCreated = $("#HeaderGrid").data("igGrid");
|
||||
@ -853,7 +812,7 @@ function recipeParametersButtonRunInfo() {
|
||||
var gridCreated = $("#ModalBodyGrid").data("igGrid");
|
||||
if (gridCreated)
|
||||
$("#ModalBodyGrid").igGrid("destroy");
|
||||
$.getJSON('https://oi-prod-ec-api.mes.infineon.com/api/oiWizard/materials/rds/' + jsonObject.RDS, function (data) {
|
||||
$.getJSON('https://oi-prod-ec-api.mes.infineon.com:4433/api/oiWizard/materials/rds/' + jsonObject.RDS, function (data) {
|
||||
$("#RecipeParametersButton").prop("disabled", false);
|
||||
var text = "";
|
||||
var seperator = '\t';
|
||||
|
@ -6,25 +6,25 @@
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Run Headers</title>
|
||||
|
||||
<script src="js/modernizr-3.6.0-custom.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<link href="styles/bootstrap.min.css?no-cache=2024-06-14-16-48" rel="stylesheet" />
|
||||
<link href="igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-14-16-48"
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-17-17-10"
|
||||
rel="stylesheet" />
|
||||
<link href="igniteui/css/structure/infragistics.css?no-cache=2024-06-14-16-48" rel="stylesheet" />
|
||||
<link href="styles/site-server.css?no-cache=2024-06-14-16-48" rel="stylesheet" />
|
||||
<link href="styles/run-headers.css?no-cache=2024-06-14-16-48" rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
<link href="/styles/run-headers.css?no-cache=2024-06-17-17-10" rel="stylesheet" />
|
||||
|
||||
<script src="js/jquery-3.6.0.min.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="js/jquery-ui.min.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="igniteui/js/infragistics.core.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="igniteui/js/infragistics.lob.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="igniteui/js/infragistics.dv.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
|
||||
<script src="js/chart-4.3.0.min.js" type="module"></script>
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="js/common.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="js/site-server.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="/js/common.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -37,15 +37,15 @@
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
<a href="/"><img src="/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="index.html">Run Information</a></li>
|
||||
<li><a href="run-headers.html" class="alert-info">Run Headers</a></li>
|
||||
<li><a href="/awaiting-disposition.html">Awaiting Disposition</a></li>
|
||||
<li><a href="/index.html">Run Information</a></li>
|
||||
<li><a href="/run-headers.html" class="alert-info">Run Headers</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-prod.mes.infineon.com/Export" target="_blank">Export</a></li>
|
||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||
</ul>
|
||||
@ -87,9 +87,9 @@
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="js/bootstrap.min.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="js/respond.min.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="js/run-headers.js?no-cache=2024-06-14-16-48" type="text/javascript"></script>
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
<script src="/js/run-headers.js?no-cache=2024-06-17-17-10" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
4
Static/styles/export.css
Normal file
4
Static/styles/export.css
Normal file
@ -0,0 +1,4 @@
|
||||
td {
|
||||
padding-bottom: 2em;
|
||||
padding-right: 1em;
|
||||
}
|
@ -6,12 +6,12 @@
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Wafer Counter</title>
|
||||
|
||||
<script src="js/jquery-3.6.0.min.js?v=2024-03-13_13-22" type="text/javascript"></script>
|
||||
<script src="js/wafer-counter.js?v=2024-03-13_13-22" type="text/javascript"></script>
|
||||
<script src="js/common.js?v=2024-03-13_13-22" type="text/javascript"></script>
|
||||
<script src="/js/jquery-3.6.0.min.js?v=2024-03-13_13-22" type="text/javascript"></script>
|
||||
<script src="/js/wafer-counter.js?v=2024-03-13_13-22" type="text/javascript"></script>
|
||||
<script src="/js/common.js?v=2024-03-13_13-22" type="text/javascript"></script>
|
||||
|
||||
<script type="module"
|
||||
src="package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js"></script>
|
||||
src="/package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js"></script>
|
||||
|
||||
<style>
|
||||
body {
|
||||
|
5
Tests/.vscode/settings.json
vendored
5
Tests/.vscode/settings.json
vendored
@ -1,3 +1,6 @@
|
||||
{
|
||||
"coverage-gutters.coverageBaseDir": "../.vscode/TestResults/**"
|
||||
"coverage-gutters.coverageBaseDir": "../.vscode/TestResults/**",
|
||||
"cSpell.words": [
|
||||
"datebegin"
|
||||
]
|
||||
}
|
@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using OI.Metrology.Shared.DataModels;
|
||||
using OI.Metrology.Shared.Models.Stateless;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
|
||||
namespace OI.Metrology.Tests;
|
||||
@ -202,4 +203,61 @@ public class UnitTestExportController
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[TestMethod]
|
||||
public void GetExportData()
|
||||
{
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider;
|
||||
IMetrologyRepository? metrologyRepository = serviceProvider?.GetRequiredService<IMetrologyRepository>();
|
||||
IExportRepository? exportRepository = serviceProvider?.GetRequiredService<IExportRepository>();
|
||||
Assert.IsTrue(metrologyRepository is not null);
|
||||
Result<DataTable>? result = exportRepository?.GetExportData(metrologyRepository, toolTypeId: 1, datebegin: null, dateend: null);
|
||||
Assert.IsNotNull(result?.Results);
|
||||
Assert.IsNotNull(result.Results.Rows.Count > 0);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[TestMethod]
|
||||
public async Task GetExportDataApi()
|
||||
{
|
||||
HttpClient? httpClient = _WebApplicationFactory?.CreateClient();
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
Assert.IsTrue(httpClient is not null);
|
||||
string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/1/export?datebegin=&dateend=");
|
||||
File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_ControllerName}-{nameof(GetExportData)}.json"), json);
|
||||
Result<DataTable>? result = Newtonsoft.Json.JsonConvert.DeserializeObject<Result<DataTable>>(json);
|
||||
Assert.IsNotNull(result?.Results);
|
||||
Assert.IsNotNull(result.Results.Rows.Count > 0);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[TestMethod]
|
||||
public void GetCSVExport()
|
||||
{
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider;
|
||||
IMetrologyRepository? metrologyRepository = serviceProvider?.GetRequiredService<IMetrologyRepository>();
|
||||
IExportRepository? exportRepository = serviceProvider?.GetRequiredService<IExportRepository>();
|
||||
Assert.IsTrue(metrologyRepository is not null);
|
||||
string? result = exportRepository?.GetCSVExport(metrologyRepository, toolTypeId: 1, datebegin: null, dateend: null);
|
||||
Assert.IsNotNull(result);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
}
|
||||
|
||||
// [Ignore]
|
||||
[TestMethod]
|
||||
public async Task GetCSVExportDat()
|
||||
{
|
||||
HttpClient? httpClient = _WebApplicationFactory?.CreateClient();
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
Assert.IsTrue(httpClient is not null);
|
||||
string? result = await httpClient.GetStringAsync($"api/{_ControllerName}/1/csv?datebegin=&dateend=");
|
||||
File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_ControllerName}-{nameof(GetCSVExport)}.csv"), result);
|
||||
Assert.IsNotNull(result);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
}
|
||||
|
||||
}
|
@ -221,36 +221,6 @@ public class UnitTestToolTypesController
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[TestMethod]
|
||||
public void GetExportData()
|
||||
{
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider;
|
||||
IMetrologyRepository? metrologyRepository = serviceProvider?.GetRequiredService<IMetrologyRepository>();
|
||||
IToolTypesRepository? toolTypesRepository = serviceProvider?.GetRequiredService<IToolTypesRepository>();
|
||||
Assert.IsTrue(metrologyRepository is not null);
|
||||
Result<DataTable>? result = toolTypesRepository?.GetExportData(metrologyRepository, toolTypeId: 1, datebegin: null, dateend: null);
|
||||
Assert.IsNotNull(result?.Results);
|
||||
Assert.IsNotNull(result.Results.Rows.Count > 0);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[TestMethod]
|
||||
public async Task GetExportDataApi()
|
||||
{
|
||||
HttpClient? httpClient = _WebApplicationFactory?.CreateClient();
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
Assert.IsTrue(httpClient is not null);
|
||||
string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/1/export");
|
||||
File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_ControllerName}-{nameof(GetExportData)}.json"), json);
|
||||
Result<DataTable>? result = Newtonsoft.Json.JsonConvert.DeserializeObject<Result<DataTable>>(json);
|
||||
Assert.IsNotNull(result?.Results);
|
||||
Assert.IsNotNull(result.Results.Rows.Count > 0);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[TestMethod]
|
||||
public void GetAttachment()
|
||||
|
@ -1,119 +0,0 @@
|
||||
using Microsoft.AspNetCore.Mvc.Testing;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using OI.Metrology.Shared.DataModels;
|
||||
using OI.Metrology.Shared.Models.Stateless;
|
||||
|
||||
namespace OI.Metrology.Tests;
|
||||
|
||||
[TestClass]
|
||||
public class UnitTestWaferCounterController
|
||||
{
|
||||
|
||||
#pragma warning disable CS8618
|
||||
|
||||
private static ILogger? _Logger;
|
||||
private static string _ControllerName;
|
||||
private static TestContext _TestContext;
|
||||
private static WebApplicationFactory<Server.Program>? _WebApplicationFactory;
|
||||
|
||||
#pragma warning restore
|
||||
|
||||
[ClassInitialize]
|
||||
public static void ClassInitAsync(TestContext testContext)
|
||||
{
|
||||
_TestContext = testContext;
|
||||
_WebApplicationFactory = new WebApplicationFactory<Server.Program>();
|
||||
IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider;
|
||||
_Logger = serviceProvider.GetRequiredService<ILogger<Server.Program>>();
|
||||
_ControllerName = nameof(Server.ApiControllers.WaferCounterController)[..^10];
|
||||
}
|
||||
|
||||
private static void NonThrowTryCatch()
|
||||
{
|
||||
try
|
||||
{ throw new Exception(); }
|
||||
catch (Exception) { }
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestControllerName()
|
||||
{
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
Assert.AreEqual(IWaferCounterController<string>.GetRouteName(), _ControllerName);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void GetSlotMap()
|
||||
{
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
string? result;
|
||||
IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider;
|
||||
IWaferCounterRepository? waferCounterRepository = serviceProvider?.GetRequiredService<IWaferCounterRepository>();
|
||||
result = waferCounterRepository?.GetSlotMap("T00", "P0000000");
|
||||
Assert.AreEqual("0000000000000000000000000", result);
|
||||
result = waferCounterRepository?.GetSlotMap("T25", "P1FFFFFF");
|
||||
Assert.AreEqual("1111111111111111111111111", result);
|
||||
result = waferCounterRepository?.GetSlotMap("T12", "P0AAAAAA");
|
||||
Assert.AreEqual("0101010101010101010101010", result);
|
||||
result = waferCounterRepository?.GetSlotMap("T13", "P1555555");
|
||||
Assert.AreEqual("1010101010101010101010101", result);
|
||||
result = waferCounterRepository?.GetSlotMap("T20", "P0EFFFF8");
|
||||
Assert.AreEqual("0111011111111111111111000", result);
|
||||
result = waferCounterRepository?.GetSlotMap("T20", "P07FFFF8");
|
||||
Assert.AreEqual("0011111111111111111111000", result);
|
||||
result = waferCounterRepository?.GetSlotMap("T20", "P17FFFF0");
|
||||
Assert.AreEqual("1011111111111111111110000", result);
|
||||
result = waferCounterRepository?.GetSlotMap("T03", "P1002002");
|
||||
Assert.AreEqual("1000000000010000000000010", result);
|
||||
result = waferCounterRepository?.GetSlotMap("T02", "P1000002");
|
||||
Assert.AreEqual("1000000000000000000000010", result);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[TestMethod]
|
||||
public void GetLastQuantityAndSlotMap()
|
||||
{
|
||||
WaferCounter? result;
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider;
|
||||
IWaferCounterRepository? waferCounterRepository = serviceProvider?.GetRequiredService<IWaferCounterRepository>();
|
||||
result = waferCounterRepository?.GetLastQuantityAndSlotMap("EPP-East", "6INCH");
|
||||
Assert.IsNotNull(result);
|
||||
result = waferCounterRepository?.GetLastQuantityAndSlotMap("EPP-East", "8INCH");
|
||||
Assert.IsNotNull(result);
|
||||
result = waferCounterRepository?.GetLastQuantityAndSlotMap("EPP-West", "6INCH");
|
||||
Assert.IsNotNull(result);
|
||||
result = waferCounterRepository?.GetLastQuantityAndSlotMap("EPP-West", "8INCH");
|
||||
Assert.IsNotNull(result);
|
||||
result = waferCounterRepository?.GetLastQuantityAndSlotMap("FQA", "6INCH");
|
||||
Assert.IsNotNull(result);
|
||||
result = waferCounterRepository?.GetLastQuantityAndSlotMap("FQA", "8INCH");
|
||||
Assert.IsNotNull(result);
|
||||
result = waferCounterRepository?.GetLastQuantityAndSlotMap("MU", "6INCH");
|
||||
Assert.IsNotNull(result);
|
||||
result = waferCounterRepository?.GetLastQuantityAndSlotMap("MU", "8INCH");
|
||||
Assert.IsNotNull(result);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
[Ignore]
|
||||
[TestMethod]
|
||||
public async Task GetLastQuantityAndSlotMapApi()
|
||||
{
|
||||
HttpClient? httpClient = _WebApplicationFactory?.CreateClient();
|
||||
_Logger?.LogInformation("Starting Web Application");
|
||||
Assert.IsTrue(httpClient is not null);
|
||||
string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/8INCH/last-quantity-and-slot-map/?area=EPP-East");
|
||||
File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_ControllerName}-{nameof(GetLastQuantityAndSlotMap)}.json"), json);
|
||||
Assert.IsNotNull(json);
|
||||
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
|
||||
NonThrowTryCatch();
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user