Changed to use both wm in and out
This commit is contained in:
parent
c82a8790e7
commit
9774b0cc53
@ -27,32 +27,38 @@ public class WorkMaterialRepository : IWorkMaterialRepository
|
|||||||
{
|
{
|
||||||
StringBuilder result = new();
|
StringBuilder result = new();
|
||||||
_ = result.Append("select ( ").
|
_ = result.Append("select ( ").
|
||||||
Append(" select wm_b.slot_no, ").
|
Append(" select wi.rds_no, ").
|
||||||
Append(" wm_b.rds_no, ").
|
|
||||||
Append(" rr.reactor, ").
|
Append(" rr.reactor, ").
|
||||||
Append(" wm_b.pocket_no, ").
|
Append(" wi.pocket_no, ").
|
||||||
Append(" wm_b.zone, ").
|
Append(" wi.zone, ").
|
||||||
|
Append(" wi.in_cass_no, ").
|
||||||
|
Append(" wi.slot_no [in_slot_no], ").
|
||||||
|
Append(" isnull(wo.out_cass_no, -1) [out_cass_no], ").
|
||||||
|
Append(" isnull(wo.slot_no, -1) [out_slot_no], ").
|
||||||
Append(" rr.ps_no, ").
|
Append(" rr.ps_no, ").
|
||||||
Append(" rr.recipe_name, ").
|
Append(" rr.recipe_name, ").
|
||||||
Append(" rr.recipe_no, ").
|
Append(" rr.recipe_no, ").
|
||||||
Append(" rr.spec_type ").
|
Append(" rr.spec_type ").
|
||||||
Append(" from lsl2sql.dbo.wm_in_slot_no wm_b ").
|
Append(" from lsl2sql.dbo.wm_in_slot_no wi ").
|
||||||
Append(" inner join lsl2sql.dbo.react_run rr ").
|
Append(" inner join lsl2sql.dbo.react_run rr ").
|
||||||
Append(" on wm_b.wo_no = rr.wo_no ").
|
Append(" on wi.wo_no = rr.wo_no ").
|
||||||
Append(" and wm_b.rds_no = rr.rds_no ").
|
Append(" and wi.rds_no = rr.rds_no ").
|
||||||
Append(" where wm_b.wo_no = ").Append(workOrderNumber is null ? -1 : workOrderNumber.Value).Append(' ').
|
Append(" left join lsl2sql.dbo.wm_out_slot wo ").
|
||||||
Append(" and wm_b.proc_step_no = ").Append(workOrderStep is null ? -1 : workOrderStep.Value).Append(' ').
|
Append(" on wo.wo_no = wi.wo_no ").
|
||||||
Append(" and wm_b.in_cass_no = ").Append(workOrderCassette is null ? -1 : workOrderCassette.Value).Append(' ').
|
Append(" and wo.rds = wi.rds_no ").
|
||||||
Append(" and wm_b.rds_no = wm.rds_no ").
|
Append(" and wo.in_cass_no = wi.in_cass_no ").
|
||||||
Append(" order by wm_b.slot_no ").
|
Append(" and wo.in_slot_no = wi.slot_no ").
|
||||||
|
Append(" where wi.wo_no = ").Append(workOrderNumber is null ? -1 : workOrderNumber.Value).Append(' ').
|
||||||
|
Append(" and wi.rds_no = wm.rds ").
|
||||||
|
Append(" order by wi.in_cass_no, wi.slot_no ").
|
||||||
Append(" for json path ").
|
Append(" for json path ").
|
||||||
Append(" ) [group] ").
|
Append(" ) [group] ").
|
||||||
Append("from lsl2sql.dbo.wm_in_slot_no wm ").
|
Append("from lsl2sql.dbo.wm_out_slot wm ").
|
||||||
Append("where wm.wo_no = ").Append(workOrderNumber is null ? -1 : workOrderNumber.Value).Append(' ').
|
Append("where wm.wo_no = ").Append(workOrderNumber is null ? -1 : workOrderNumber.Value).Append(' ').
|
||||||
Append(" and wm.proc_step_no = ").Append(workOrderStep is null ? -1 : workOrderStep.Value).Append(' ').
|
Append(" and wm.proc_step_no = ").Append(workOrderStep is null ? -1 : workOrderStep.Value).Append(' ').
|
||||||
Append(" and wm.in_cass_no = ").Append(workOrderCassette is null ? -1 : workOrderCassette.Value).Append(' ').
|
Append(" and wm.out_cass_no = ").Append(workOrderCassette is null ? -1 : workOrderCassette.Value).Append(' ').
|
||||||
Append("group by wm.rds_no ").
|
Append("group by wm.rds ").
|
||||||
Append("order by wm.rds_no ").
|
Append("order by wm.rds ").
|
||||||
Append("for json path ");
|
Append("for json path ");
|
||||||
return result.ToString();
|
return result.ToString();
|
||||||
}
|
}
|
||||||
|
@ -52,14 +52,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<input class="btn btn-primary" type="button" id="zone1" value="Zone 1" />
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input class="btn btn-primary" type="button" id="zone2" value="Zone 2" />
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input class="btn btn-primary" type="button" id="layer1" value="Layer 1" />
|
<input class="btn btn-primary" type="button" id="layer1" value="Layer 1" />
|
||||||
@ -101,8 +93,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$("#zone1").click(function () { zone(1) });
|
|
||||||
$("#zone2").click(function () { zone(2) });
|
|
||||||
$("#layer1").click(function () { layer(1) });
|
$("#layer1").click(function () { layer(1) });
|
||||||
$("#layer2").click(function () { layer(2) });
|
$("#layer2").click(function () { layer(2) });
|
||||||
$("#layer3").click(function () { layer(3) });
|
$("#layer3").click(function () { layer(3) });
|
||||||
|
@ -800,9 +800,6 @@ function copy() {
|
|||||||
function clearWorkMaterial() {
|
function clearWorkMaterial() {
|
||||||
_workMaterial = {};
|
_workMaterial = {};
|
||||||
$("#scan").val("");
|
$("#scan").val("");
|
||||||
$("#zone1").show();
|
|
||||||
$("#zone1").show();
|
|
||||||
$("#zone2").show();
|
|
||||||
$("#layer1").show();
|
$("#layer1").show();
|
||||||
$("#layer2").show();
|
$("#layer2").show();
|
||||||
$("#layer3").show();
|
$("#layer3").show();
|
||||||
@ -835,12 +832,17 @@ function postWorkMaterial() {
|
|||||||
ShowErrorMessage("Select layer and try agian");
|
ShowErrorMessage("Select layer and try agian");
|
||||||
else {
|
else {
|
||||||
_workMaterial['psn'] = data.PSN;
|
_workMaterial['psn'] = data.PSN;
|
||||||
|
_workMaterial['layer'] = data.Layer;
|
||||||
_workMaterial['pocket'] = data.Pocket;
|
_workMaterial['pocket'] = data.Pocket;
|
||||||
_workMaterial['reactor'] = data.Reactor;
|
_workMaterial['reactor'] = data.Reactor;
|
||||||
_workMaterial['slotNumber'] = data.SlotNumber;
|
_workMaterial['inSlotNumber'] = data.InSlotNumber;
|
||||||
_workMaterial['runDataSheet'] = data.RunDataSheet;
|
_workMaterial['runDataSheet'] = data.RunDataSheet;
|
||||||
|
_workMaterial['outSlotNumber'] = data.OutSlotNumber;
|
||||||
|
_workMaterial['inCassetteNumber'] = data.InCassetteNumber;
|
||||||
|
_workMaterial['outCassetteNumber'] = data.OutCassetteNumber;
|
||||||
|
var mesage = "Data Saved for {" + _workMaterial['scan'] + "} RDS {" + data.RunDataSheet + "} slot {" + data.OutSlotNumber + "}";
|
||||||
$.post(_apiUrl + "/api/Reactors/", _workMaterial, function (data) {
|
$.post(_apiUrl + "/api/Reactors/", _workMaterial, function (data) {
|
||||||
DisplayWSMessage("info", "Data Saved use [" + data + "]", null);
|
DisplayWSMessage("info", mesage + " use [" + data + "]", null);
|
||||||
}).fail(function () {
|
}).fail(function () {
|
||||||
ShowErrorMessage("Error");
|
ShowErrorMessage("Error");
|
||||||
});
|
});
|
||||||
@ -857,48 +859,42 @@ function initWorkMaterial(apiUrl) {
|
|||||||
$("#runDataSheet6").hide();
|
$("#runDataSheet6").hide();
|
||||||
};
|
};
|
||||||
|
|
||||||
function zone(zoneNumber) {
|
function layer(layerNumber) {
|
||||||
|
$("#layer1").hide();
|
||||||
|
$("#layer2").hide();
|
||||||
|
$("#layer3").hide();
|
||||||
var scan = $("#scan").val();
|
var scan = $("#scan").val();
|
||||||
_workMaterial['zone'] = zoneNumber;
|
$("#layer" + layerNumber).show();
|
||||||
var username = $("#username").val();
|
var username = $("#username").val();
|
||||||
if (!scan || scan === "" || scan.length < 3 || scan[0] !== 'o') {
|
_workMaterial['layer'] = layerNumber;
|
||||||
|
if (!scan || scan === "" || scan.length < 3 || (scan[0] !== 'o' && scan[0] !== 'O')) {
|
||||||
ShowErrorMessage("Invalid WM Out");
|
ShowErrorMessage("Invalid WM Out");
|
||||||
}
|
}
|
||||||
else if (!username || username === "" || username.length < 2) {
|
else if (!username || username === "" || username.length < 2) {
|
||||||
ShowErrorMessage("Invalid username");
|
ShowErrorMessage("Invalid username");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$("#zone1").hide();
|
|
||||||
$("#zone2").hide();
|
|
||||||
_workMaterial['scan'] = scan;
|
_workMaterial['scan'] = scan;
|
||||||
$("#zone" + zoneNumber).show();
|
|
||||||
_workMaterial['username'] = username;
|
_workMaterial['username'] = username;
|
||||||
$.getJSON(_apiUrl + "/api/WorkMaterial/" + scan + "/", function (data) {
|
$.getJSON(_apiUrl + "/api/WorkMaterial/" + scan + "/", function (data) {
|
||||||
if (data.Results.length === 0)
|
if (data.Results.length === 0)
|
||||||
ShowErrorMessage("No data found");
|
ShowErrorMessage("No data found");
|
||||||
var filtered = [];
|
|
||||||
for (var i = 0; i < data.Results.length; i++) {
|
|
||||||
if (data.Results[i].Zone != zoneNumber)
|
|
||||||
continue;
|
|
||||||
filtered.push(data.Results[i]);
|
|
||||||
}
|
|
||||||
if (data.Results.length !== 0 && filtered.length === 0)
|
|
||||||
ShowErrorMessage("All data filted");
|
|
||||||
else {
|
else {
|
||||||
$("#cassetteGrid").igGrid({
|
$("#cassetteGrid").igGrid({
|
||||||
dataSource: filtered,
|
dataSource: data,
|
||||||
primaryKey: "SlotNumber",
|
primaryKey: "OutSlotNumber",
|
||||||
features: [
|
features: [
|
||||||
{ name: "Selection", mode: "row", multipleSelection: false, rowSelectionChanged: postWorkMaterial },
|
{ name: "Selection", mode: "row", multipleSelection: false, rowSelectionChanged: postWorkMaterial },
|
||||||
{ name: 'Resizing' },
|
{ name: 'Resizing' },
|
||||||
{ name: "Filtering", type: "local" },
|
{ name: "Filtering", type: "local" },
|
||||||
],
|
],
|
||||||
|
responseDataKey: "Results",
|
||||||
});
|
});
|
||||||
var distinct = [];
|
var distinct = [];
|
||||||
for (var i = 0; i < filtered.length; i++) {
|
for (var i = 0; i < data.Results.length; i++) {
|
||||||
if (distinct.indexOf(filtered[i].RunDataSheet) > -1)
|
if (distinct.indexOf(data.Results[i].RunDataSheet) > -1)
|
||||||
continue;
|
continue;
|
||||||
distinct.push(filtered[i].RunDataSheet);
|
distinct.push(data.Results[i].RunDataSheet);
|
||||||
}
|
}
|
||||||
if (distinct.length > 0) {
|
if (distinct.length > 0) {
|
||||||
$("#runDataSheet1").val(distinct[0]);
|
$("#runDataSheet1").val(distinct[0]);
|
||||||
@ -930,14 +926,6 @@ function zone(zoneNumber) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function layer(layerNumber) {
|
|
||||||
$("#layer1").hide();
|
|
||||||
$("#layer2").hide();
|
|
||||||
$("#layer3").hide();
|
|
||||||
$("#layer" + layerNumber).show();
|
|
||||||
_workMaterial['layer'] = layerNumber;
|
|
||||||
};
|
|
||||||
|
|
||||||
function runDataSheet(runDataSheetIndex) {
|
function runDataSheet(runDataSheetIndex) {
|
||||||
var runDataSheet = $("#runDataSheet" + runDataSheetIndex).val();
|
var runDataSheet = $("#runDataSheet" + runDataSheetIndex).val();
|
||||||
_workMaterial['runDataSheet'] = runDataSheet;
|
_workMaterial['runDataSheet'] = runDataSheet;
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
namespace OI.Metrology.Shared.DataModels;
|
namespace OI.Metrology.Shared.DataModels;
|
||||||
|
|
||||||
public record WorkMaterial(int SLOT_NO,
|
public record WorkMaterial(string RDS_NO,
|
||||||
string RDS_NO,
|
|
||||||
int REACTOR,
|
int REACTOR,
|
||||||
string POCKET_NO,
|
string POCKET_NO,
|
||||||
string ZONE,
|
string ZONE,
|
||||||
|
int IN_CASS_NO,
|
||||||
|
int IN_SLOT_NO,
|
||||||
|
int OUT_CASS_NO,
|
||||||
|
int OUT_SLOT_NO,
|
||||||
string PS_NO,
|
string PS_NO,
|
||||||
string RECIPE_NAME,
|
string RECIPE_NAME,
|
||||||
int RECIPE_NO,
|
int RECIPE_NO,
|
||||||
@ -21,21 +24,27 @@ public record WorkMaterial(int SLOT_NO,
|
|||||||
|
|
||||||
public static WorkMaterialV2 Map(WorkMaterial item)
|
public static WorkMaterialV2 Map(WorkMaterial item)
|
||||||
{
|
{
|
||||||
WorkMaterialV2 result = new(item.SLOT_NO,
|
WorkMaterialV2 result = new(item.RDS_NO,
|
||||||
item.RDS_NO,
|
|
||||||
item.REACTOR,
|
item.REACTOR,
|
||||||
item.POCKET_NO,
|
item.POCKET_NO,
|
||||||
item.ZONE,
|
item.ZONE,
|
||||||
|
item.IN_CASS_NO,
|
||||||
|
item.IN_SLOT_NO,
|
||||||
|
item.OUT_CASS_NO,
|
||||||
|
item.OUT_SLOT_NO,
|
||||||
item.PS_NO);
|
item.PS_NO);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public record WorkMaterialV2(int SlotNumber,
|
public record WorkMaterialV2(string RunDataSheet,
|
||||||
string RunDataSheet,
|
|
||||||
int Reactor,
|
int Reactor,
|
||||||
string Pocket,
|
string Pocket,
|
||||||
string Zone,
|
string Zone,
|
||||||
|
int InCassetteNumber,
|
||||||
|
int InSlotNumber,
|
||||||
|
int OutCassetteNumber,
|
||||||
|
int OutSlotNumber,
|
||||||
string PSN)
|
string PSN)
|
||||||
{ }
|
{ }
|
@ -3,13 +3,16 @@ namespace OI.Metrology.Shared.DataModels;
|
|||||||
public class WorkMaterialOut
|
public class WorkMaterialOut
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public int? InCassetteNumber { get; set; }
|
||||||
|
public int? InSlotNumber { get; set; }
|
||||||
public string? Layer { get; set; }
|
public string? Layer { get; set; }
|
||||||
|
public int? OutCassetteNumber { get; set; }
|
||||||
|
public int? OutSlotNumber { get; set; }
|
||||||
public string? PSN { get; set; }
|
public string? PSN { get; set; }
|
||||||
public string? Pocket { get; set; }
|
public string? Pocket { get; set; }
|
||||||
public int? Reactor { get; set; }
|
public int? Reactor { get; set; }
|
||||||
public string? RunDataSheet { get; set; }
|
public string? RunDataSheet { get; set; }
|
||||||
public string? Scan { get; set; }
|
public string? Scan { get; set; }
|
||||||
public int? SlotNumber { get; set; }
|
|
||||||
public string? Username { get; set; }
|
public string? Username { get; set; }
|
||||||
public string? Zone { get; set; }
|
public string? Zone { get; set; }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user