initial add

This commit is contained in:
Jonathan Ouellette
2022-09-27 14:10:30 -07:00
parent 91fd8a50a9
commit 580e90f6a2
3941 changed files with 954648 additions and 19 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,47 @@
@model Fab2ApprovalSystem.ViewModels.ECNPdf
<table border="1">
<tr bgcolor="#c4baba" color="#ffffff">
<td>
Full Name
</td>
<td>
Role
</td>
<td>
Approved/Denied
</td>
<td>
Date Time
</td>
</tr>
@foreach (Fab2ApprovalSystem.ViewModels.ECNApprovalLog ecnApp in Model.Approvalog)
{
<tr>
<td>
<font size="1">
@ecnApp.FullName
</font>
</td>
<td>
<font size="1">
@ecnApp.SubRole
</font>
</td>
<td>
<font size="1">
@ecnApp.Operation
</font>
</td>
<td>
<font size="1">
@ecnApp.OperationTime
</font>
</td>
</tr>
}
</table>

View File

@ -0,0 +1,497 @@
@model Fab2ApprovalSystem.ViewModels.ECNPdf
<table style="width:100%;">
<tr>
<td>
<table cellpadding="3" cellspacing="3" border="1">
<tr bgcolor="#c4baba" color="#000000">
<td colspan="2">
@Model.Title
</td>
</tr>
<tr>
<td>
<table border="0">
@if (@Model.ConvertedFromNumber != null)
{
<tr>
<td>
ECN# @Model.ECNNumber (Converted from TECN#:@Model.ConvertedFromNumber)
</td>
</tr>
}
@if (@Model.ConvertedToNumber != null)
{
<tr>
<td>
ECN# @Model.ECNNumber (Converted to ECN#:@Model.ConvertedToNumber)
</td>
</tr>
}
@if (@Model.ConvertedFromNumber == null && @Model.ConvertedToNumber == null)
{
<tr>
<td>
ECN# @Model.ECNNumber
</td>
</tr>
}
<tr>
<td>
<font size="2">
Submit Date#:&nbsp;
</font>
<font size="1">
@Model.SubmitedDate
</font>
</td>
</tr>
<tr>
<td>
<font size="2">
Originator Name:&nbsp;
</font>
<font size="1">
@Model.OriginatorName
</font>
</td>
</tr>
</table>
</td>
<td>
<table border="0">
@*<tr>
<td>
<font size="2">
Affected Department:&nbsp;
</font>
<font size="1">
@Model.AffectedDepartments
</font>
</td>
</tr>*@
<tr>
<td>
<font size="2">
Affected Area:&nbsp;
</font>
<font size="1">
@Model.AffectedModules
@*@Model.AffectedAreas*@
</font>
</td>
</tr>
<tr>
<td>
<font size="2">
ITAR/EC:&nbsp;
</font>
<font size="1">
@(Model.IsDocEC ? "Yes" : "No")
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="1">
<tr bgcolor="#c4baba" color="#000000">
<td> ECN - TECN Details</td>
</tr>
<tr>
<td>
<table border="0">
<tr>
<td>
<font size="2">
ECN: &nbsp;
</font>
<font size="1">
@(Model.IsECN ? "Yes" : "No")
</font>
</td>
<td>
<font size="2">
TECN:&nbsp;
@(Model.IsTECN ? "Yes" : "No")
</font>
</td>
<td>
<font size="2">
Emergency: &nbsp;
</font>
<font size="1">
@(Model.IsEmergencyTECN ? "Yes" : "No")
</font>
</td>
</tr>
<tr>
<td>
<font size="2">
Expiration Date:
</font>
<font size="1">
@Convert.ToString(string.Format("{0:MM/dd/yyyy}", Model.ExpirationDate))
</font>
</td>
<td>
<font size="2">
Extension Date:
</font>
<font size="1">
@Convert.ToString(string.Format("{0:dd/MM/yyyy}", @Model.ExtensionDate))
</font>
</td>
<td>
<font size="2">
Cancellation Date:
</font>
<font size="1">
@Model.CancellationApprovalDate
</font>
</td>
</tr>
<tr>
<td>
<font size="2">
# lots affected:
</font>
<font size="1">
@Model.NumberOfLotsAffected
</font>
</td>
<td>
<font size="2">
Recipe Or/And Flow Change:
</font>
<font size="1">
@Model.RecipeChange
</font>
</td>
<td>
<font size="2">
Affected product families:
</font>
<font size="1">
@Model.AffectedProductFamilies
</font>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="0">
<tr>
<td colspan="3" style="background-color:ActiveCaption">
<font size="2">
Affected Documents:&nbsp;
</font>
</td>
</tr>
<tr>
@foreach (string attachmentName in Model.Attachments)
{
<td colspan="3">
<font size="1">
@attachmentName
</font>
</td>
}
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="1" >
<tr bgcolor="#c4baba" color="#000000">
<td> Description of Change</td>
<td> Reason for Change</td>
</tr>
<tr>
<td>
<font size="1">
@Html.Raw(@Model.DescriptionOfChange)
</font>
</td>
<td>
<font size="1">
@Html.Raw(@Model.ReasonForChange)
</font>
</td>
</tr>
</table>
</td>
</tr>
@*<tr>
<td>
<table border="1">
<tr bgcolor="#c4baba" color="#000000">
<td colspan="3">Training Notification</td>
</tr>
<tr>
<td>
<table border="0">
<tr>
<td>
<font size="1">
Training:
@(Model.TrainingRequired ? "Yes" : "No")
</font>
<font size="1">
@(Model.TrainingBy.Length > 0 ? "(" + Model.TrainingBy + ")" : Model.TrainingBy)
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>*@
<tr>
<td>
<table border="1">
<tr bgcolor="#c4baba" color="#000000">
<td colspan="5">Systems</td>
</tr>
<tr style="display:block;">
<td>
<font size="2">
PCRB:
</font>
<font size="1">
@(Model.PCRBRequired ? "Yes": "No")
</font>
</td>
<td>
<font size="2">
PCRB#: &nbsp;
@Model.PCRBNumber
</font>
</td>
<td>
<font size="2">
Metrology Change: &nbsp;&nbsp;
</font>
<font size="1">
@(Model.MetrologyChangeRequired ? "Yes": "No")
</font>
</td>
<td>
<font size="2">
SPC Change:
</font>
<font size="1">
@(Model.SPCChangeRequired ? "Yes": "No")
</font>
</td>
<td>
<font size="2">
FI Change:
</font>
<font size="1">
@(Model.FIChangeRequired ? "Yes" : "No")
</font>
</td>
<td>
<font size="2">
OI Change:
</font>
<font size="1">
@(Model.SPNChangeRequired ? "Yes" : "No")
</font>
</td>
<td></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="1">
<tr bgcolor="#c4baba" color="#000000">
<td colspan="4"> Change Impact</td>
</tr>
<tr>
<td>
<table border="0">
<tr>
<td>
<font size="2">
Impact On ESH:
</font>
<font size="1">
@if (Model.ImpactOnEnvironment == 1)
{
@: Positive
}
else if (Model.ImpactOnEnvironment == 2)
{
@: Negative
}
else
{
@: N/A
}
</font>
</td>
</tr>
<tr>
<td>
<font size="1">
@Html.Raw(@Model.ImpactOnEnvironmentDescription)
</font>
</td>
</tr>
</table>
</td>
<td>
<table border="0">
<tr>
<td>
<font size="2">
Impact On Capacity:
</font>
<font size="1">
@(Model.ImpactOnCapacity == 1 ? "Yes" : "No")
</font>
</td>
</tr>
<tr>
<td>
<font size="1">
@Html.Raw(@Model.ImpactOnCapacityDescription)
</font>
</td>
</tr>
</table>
</td>
<td>
@*<table border="0">
<tr>
<td>
<font size="2">
RH(ITAR):
</font>
<font size="1">
@(Model.IsRH ? "Yes" : "No")
</font>
</td>
</tr>
</table>*@
</td>
<td>
<table border="0">
<tr>
<td>
<font size="2">
Material Consumption Change:
</font>
<font size="1">
@(Model.MaterialConsumptionChangeRequired == 1 ? "Yes" : "No")
</font>
</td>
</tr>
<tr>
<td>
<font size="1">
@Html.Raw(@Model.MaterialConsumptionChangeDescription)
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="1">
<tr bgcolor="#c4baba" color="#ffffff">
<td>
Full Name
</td>
<td>
Role
</td>
<td>
Approved/Denied
</td>
<td>
Date Time
</td>
</tr>
@foreach (Fab2ApprovalSystem.ViewModels.ECNApprovalLog ecnApp in Model.Approvalog)
{
<tr>
<td>
<font size="1">
@ecnApp.FullName
</font>
</td>
<td>
<font size="1">
@ecnApp.SubRole
</font>
</td>
<td>
<font size="1">
@ecnApp.Operation
</font>
</td>
<td>
<font size="1">
@ecnApp.OperationTime
</font>
</td>
</tr>
}
</table>
</td>
</tr>
</table> <!--main table -->

View File

@ -0,0 +1,203 @@
@model Fab2ApprovalSystem.Models.ECN
<h4>ECN# @Model.ECNNumber - @Model.Title</h4>
@*<div>
<p>Submitted: @Model.SubmitedDate</p>
<p>Originator: @Model.OriginatorName</p>
<p>Affected Areas: @Model.AreaIDs</p>
</div>*@
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-info">
<div class="panel-heading">
<h6 style="font-weight:600"></h6>
</div>
</div>
<div class="panel-body bg-warning">
<div class="form-horizontal col-sm-3">
<div class="form-group">
<label class="control-label col-sm-4">ECN #:</label>
<div class="col-sm-8">
@Html.TextBoxFor(model => model.ECNNumber, new { id = "txtECNNumber", @class = "k-textbox", disabled = "disabled", style = "background-color:lightblue" })
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4">Submit Date:</label>
<div class="col-sm-8">
@Html.TextBoxFor(model => model.SubmitedDate, new { id = "txSubmitDate", @class = "k-textbox", disabled = "disabled", style = "background-color:lightblue" })
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4">Originator Name:</label>
<div class="col-sm-8">
@Html.TextBoxFor(model => model.OriginatorName, new { id = "txtOriginatorName", @class = "k-textbox", disabled = "disabled", style = "background-color:lightblue" })
@if (Session[GlobalVars.IS_ADMIN] != null)
{
<a href="javascript:undefined" id="lnkReassignOriginator" class="linkbutton edit" title="Re-assign Originator"></a>
}
</div>
</div>
@if (Model.ConvertedFromNumber != null && Model.IsECN)
{
<div class="form-group">
<font style="color:red; font-size:12px; font-weight:bold">
<label class="control-label col-sm-4">Converted from TECN: </label>
<div class="col-sm-4 col-sm-4">
<a style="color:red" href="Edit?IssueID=@Model.ConvertedFromNumber">@Model.ConvertedFromNumber</a>
</div>
</font>
</div>
}
@if (Model.ConvertedFromNumber != null && Model.IsTECN)
{
<div class="form-group">
<font style="color:red; font-size:12px; font-weight:bold">
<label class="control-label col-sm-4">Converted from E-TECN: </label>
<div class="col-sm-4 col-sm-4">
<a style="color:red" href="Edit?IssueID=@Model.ConvertedFromNumber">@Model.ConvertedFromNumber</a>
</div>
</font>
</div>
}
@if (Model.ConvertedToNumber != null && Model.IsEmergencyTECN)
{
<div class="form-group">
<font style="color: red; font-size: 12px; font-weight: bold">
<label class="control-label col-sm-4">Converted to TECN: </label>
<div class="col-sm-4 col-sm-4">
<a style="color:red" href="Edit?IssueID=@Model.ConvertedToNumber">@Model.ConvertedToNumber</a>
</div>
</font>
</div>
}
@if (Model.ConvertedToNumber != null && Model.IsTECN)
{
<div class="form-group">
<font style="color: red; font-size: 12px; font-weight: bold">
<label class="control-label col-sm-4">Converted to ECN: </label>
<div class="col-sm-4 col-sm-4">
<a style="color:red" href="Edit?IssueID=@Model.ConvertedToNumber">@Model.ConvertedToNumber</a>
</div>
</font>
</div>
}
</div>
@*<div class="form-horizontal col-sm-3">
<div class="form-group">
<label class="control-label col-sm-4">Converted from TECN: <a href="Edit?IssueID=@Model.ConvertedFromNumber">@Model.ConvertedFromNumber</a></label>
</div>
</div>*@
<div class="form-horizontal col-sm-6">
<div class="form-group">
<label class="control-label col-sm-4">ECN Title:</label>
<div class="col-sm-6 col-sm-6">
@Html.TextBoxFor(model => model.Title, new { id = "txtTitle", @class = "k-textbox", style = "width:100%", disabled = "disabled" })
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4">Approvers:</label>
<div class="col-sm-6 col-sm-6">
@(Html.Kendo().MultiSelect()
.Name("DepartmentIDs")
.BindTo(new SelectList(ViewBag.Departments, "DepartmentID", "DepartmentName"))
.Value(ViewBag.Nothing)
.HtmlAttributes(new { disabled = "disabled" })
)
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4">Affected Areas:</label>
<div class="col-sm-6 col-sm-6">
@(Html.Kendo().MultiSelect()
.Name("ModuleIDs")
.BindTo(new SelectList(ViewBag.AffectedModules, "ModuleID", "ModuleName"))
.Value(ViewBag.Nothing)
.HtmlAttributes(new { disabled = "disabled" })
)
</div>
</div>
</div>
<div class="form-horizontal col-sm-3">
<div class="form-group">
<label class="control-label col-sm-4">Category:</label>
<div class="col-sm-6 col-sm-6">
@(Html.Kendo().DropDownListFor(model => model.CategoryID)
.DataValueField("CategoryID")
.DataTextField("CategoryName")
.BindTo(ViewBag.Categories)
.HtmlAttributes(new { disabled = "disabled" }))
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4">ITAR/EC:</label>
<div class="col-sm-6 col-sm-6">
@Html.CheckBoxFor(model => model.IsDocEC, new { disabled = "disabled" })
</div>
</div>
</div>
</div>
</div>
<table class="table-condensed" style="width:100%">
<tbody>
<tr>
<td>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-info" style="font-size: 11px">
<div class="panel-heading">
<table>
<tr>
<td>
<h5 style="font-weight:600;background-color:transparent;">Description of Change &nbsp;&nbsp;&nbsp;</h5>
</td>
</tr>
</table>
</div>
</div>
<div class="panel-body bg-warning">
<div class="form-horizontal col-sm-12">
@Html.TextAreaFor(model => model.DescriptionOfChange, 15, 30, new { id = "txtDescriptionOfChange", @class = "form-control", style = "font-size: 11px;width: 100%;", disabled = "disabled" })
</div>
</div>
</div>
</td>
<td>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-info" style="font-size: 11px">
<div class="panel-heading">
<table>
<tr>
<td>
<h5 style="font-weight:600">Reason For Change&nbsp;&nbsp;&nbsp;</h5>
</td>
</tr>
</table>
</div>
</div>
<div class="panel-body bg-warning">
<div class="form-horizontal col-sm-12">
@Html.TextAreaFor(model => model.ReasonForChange, 15, 30, new { id = "txtReasonForChange", @class = "form-control", style = "font-size: 11px;width: 100%;", disabled = "disabled" })
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>@ViewBag.Title - Mesa Approval</title>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/kendo")
@Styles.Render("~/Content/kendo/css")
@Styles.Render("~/Content/css")
@Scripts.Render("~/Content/jqw/jq")
@Styles.Render("~/Content/jqw/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/bootstrap")
</head>
<body class="navbar-inner">
<div class=" navbar navbar-inverse navbar-fixed-top">
<div>
<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>
@*@Html.ActionLink("My Tasks", "Index", "Home", new { tabName = "MyTasks" }, new { @class = "navbar-brand" })
@Html.ActionLink("All Tasks", "Index", "Home", new { tabName = "AllTasks" }, new { @class = "navbar-brand" })*@
@Html.ActionLink("My Tasks", "MyTasks", "Home", null, new { @class = "navbar-brand" })
@Html.ActionLink("All Documents", "AllDocuments", "Home", null, new { @class = "navbar-brand" })
@*@Html.ActionLink("Special Work Request", "SpecialWorkRequestList", "Home", null, new { @class = "navbar-brand" })*@
</div>
<div class="navbar-collapse collapse">
@Html.Partial("_LoginPartial")
</div>
</div>
</div>
<div>
@RenderBody()
@*<hr />*@
<footer>
<p>&copy; @DateTime.Now.Year - Infineon Technologies</p>
</footer>
</div>
@RenderSection("scripts", required: false)
</body>
</html>

View File

@ -0,0 +1,104 @@
<div class="modal fade" id="ReAssignOriginator" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title" id="myModalLabel">Re-Assign Originator From: <label class="bg-danger" id="ReAssignOriginatorFromLabel">Me</label></h4>
</div>
<div class="modal-body">
<div class="control-group">
<div class="row">
<div class="col-sm-5">
<h4 class="modal-title" id="myModalLabel">Re-Assign Originator to:</h4>
<div id='lstReAssignOriginator'>
</div>
</div>
<div class="col-sm-7">
<h4 class="modal-title">Comments (Required):</h4>
<textarea class="form-control" rows="5" id="comments" style="resize: none;"></textarea>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary" id="ConfirmOriginatorReAssignment">Confirm Re-assignment</button>
</div>
</div>
</div>
</div>
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$("#lnkReassignOriginator").click(function (e) {
$("#ReAssignOriginatorFromLabel").text($("#txtOriginatorName").val());
$("#comments").val("");
var dataAdapter = new $.jqx.dataAdapter({
datatype: "json",
datafields: [
{ name: "UserID" },
{ name: "FullName" }
],
id: 'id',
url: "/ECN/GetAllUsersList",
});
$("#lstReAssignOriginator").jqxListBox({
multipleextended: false,
theme: "arctic",
source: dataAdapter,
displayMember: "FullName",
valueMember: "UserID",
width: 200,
height: 200
});
$("#ReAssignOriginator").modal('show');
});
$('#ConfirmOriginatorReAssignment').on('click', function () {
if ($('#lstReAssignOriginator').jqxListBox('getSelectedItem') == null) {
alert("You must select a new originator");
return;
}
if ($("#comments").val() == "") {
alert("Comments are required");
return;
}
$('#ConfirmOriginatorReAssignment').attr("disabled", true);
$.ajax({
url: "/ECN/ReAssignOriginatorByAdmin",
type: "POST",
datatype: "json",
data: {
ecnNumber: $("#txtECNNumber").val(),
comments: $("#comments").val(),
newOriginatorId: $("#lstReAssignOriginator").jqxListBox("getSelectedItem").value,
},
success: function (data) {
$("#ReAssignOriginator").modal('hide');
var url = '@Url.Action("Edit", "ECN", new { issueID = "__id__" })';
url = url.replace('amp;', '');
window.location.href = url.replace('__id__', $("#txtECNNumber").val());
},
error: function (result) {
$('#ConfirmOriginatorReAssignment').attr("disabled", false);
alert("Server error while changing originator");
}
});
});
});
</script>