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