Fix condizioni chiusura setup ODL con refresh
This commit is contained in:
@@ -328,6 +328,17 @@ namespace MP_TAB3.Components
|
||||
await CheckAttr();
|
||||
await advStep(currStep++);
|
||||
await FlushMpIoOdlCache();
|
||||
// notifica...
|
||||
if (isMulti)
|
||||
{
|
||||
await E_MachSel.InvokeAsync(idxMaccAltraTav);
|
||||
await Task.Delay(100);
|
||||
}
|
||||
else
|
||||
{
|
||||
TabDServ.NotifyDataInvalidated(IdxMaccSel);
|
||||
}
|
||||
await E_MachSel.InvokeAsync(IdxMaccSel);
|
||||
isProcessing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
@@ -369,6 +380,17 @@ namespace MP_TAB3.Components
|
||||
await CheckAttr();
|
||||
await advStep(currStep++);
|
||||
await FlushMpIoOdlCache();
|
||||
// notifica...
|
||||
if (isMulti)
|
||||
{
|
||||
await E_MachSel.InvokeAsync(idxMaccAltraTav);
|
||||
await Task.Delay(100);
|
||||
}
|
||||
else
|
||||
{
|
||||
TabDServ.NotifyDataInvalidated(IdxMaccSel);
|
||||
}
|
||||
await E_MachSel.InvokeAsync(IdxMaccSel);
|
||||
// chiudo update...
|
||||
isProcessing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
@@ -410,6 +432,18 @@ namespace MP_TAB3.Components
|
||||
await RefreshData();
|
||||
await CheckAttr();
|
||||
await advStep(currStep++);
|
||||
await FlushMpIoOdlCache();
|
||||
// notifica...
|
||||
if (isMulti)
|
||||
{
|
||||
await E_MachSel.InvokeAsync(idxMaccAltraTav);
|
||||
await Task.Delay(100);
|
||||
}
|
||||
else
|
||||
{
|
||||
TabDServ.NotifyDataInvalidated(IdxMaccSel);
|
||||
}
|
||||
await E_MachSel.InvokeAsync(IdxMaccSel);
|
||||
// chiudo update...
|
||||
isProcessing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
@@ -523,6 +557,17 @@ namespace MP_TAB3.Components
|
||||
await CheckAttr();
|
||||
await advStep(currStep++);
|
||||
await FlushMpIoOdlCache();
|
||||
// notifica...
|
||||
if (isMulti)
|
||||
{
|
||||
await E_MachSel.InvokeAsync(idxMaccAltraTav);
|
||||
await Task.Delay(100);
|
||||
}
|
||||
else
|
||||
{
|
||||
TabDServ.NotifyDataInvalidated(IdxMaccSel);
|
||||
}
|
||||
await E_MachSel.InvokeAsync(IdxMaccSel);
|
||||
// chiudo update...
|
||||
isProcessing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
@@ -633,7 +678,7 @@ namespace MP_TAB3.Components
|
||||
// aggiungo articolo, commessa, richiesta pezzi...
|
||||
try
|
||||
{
|
||||
await sendTaskOdl(idxODL_curr);
|
||||
await DoSendTaskOdl(idxODL_curr);
|
||||
await advStep(currStep++);
|
||||
}
|
||||
catch (Exception exc)
|
||||
@@ -702,6 +747,17 @@ namespace MP_TAB3.Components
|
||||
await CheckAttr();
|
||||
inAttr = true;
|
||||
tcRichAttr = tmpTCR;
|
||||
// notifica...
|
||||
if (isMulti)
|
||||
{
|
||||
await E_MachSel.InvokeAsync(idxMaccAltraTav);
|
||||
await Task.Delay(100);
|
||||
}
|
||||
else
|
||||
{
|
||||
TabDServ.NotifyDataInvalidated(IdxMaccSel);
|
||||
}
|
||||
await E_MachSel.InvokeAsync(IdxMaccSel);
|
||||
isProcessing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
@@ -892,6 +948,17 @@ namespace MP_TAB3.Components
|
||||
await RefreshData();
|
||||
await CheckAttr();
|
||||
await advStep(currStep++);
|
||||
// notifica...
|
||||
if (isMulti)
|
||||
{
|
||||
await E_MachSel.InvokeAsync(idxMaccAltraTav);
|
||||
await Task.Delay(100);
|
||||
}
|
||||
else
|
||||
{
|
||||
TabDServ.NotifyDataInvalidated(IdxMaccSel);
|
||||
}
|
||||
await E_MachSel.InvokeAsync(IdxMaccSel);
|
||||
isProcessing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
@@ -1028,6 +1095,10 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Esegue split ODL corrente
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected async Task SplitOdl()
|
||||
{
|
||||
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi richiesta riattrezzaggio ODL, con conseguente chiusura ODL corrente + split nuovo ODL con TC {tcRichAttr:N3}?"))
|
||||
@@ -1089,9 +1160,20 @@ namespace MP_TAB3.Components
|
||||
// invio richiesta reset NUOVO ODL...
|
||||
if (IdxOdl > 0)
|
||||
{
|
||||
await sendTaskOdl(IdxOdl);
|
||||
await DoSendTaskOdl(IdxOdl);
|
||||
}
|
||||
await advStep(currStep++);
|
||||
// notifica...
|
||||
if (isMulti)
|
||||
{
|
||||
await E_MachSel.InvokeAsync(idxMaccAltraTav);
|
||||
await Task.Delay(100);
|
||||
}
|
||||
else
|
||||
{
|
||||
TabDServ.NotifyDataInvalidated(IdxMaccSel);
|
||||
}
|
||||
await E_MachSel.InvokeAsync(IdxMaccSel);
|
||||
// chiudo update...
|
||||
isProcessing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
@@ -1554,6 +1636,57 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invio set informazioni x segnalare setupODL
|
||||
/// </summary>
|
||||
/// <param name="idxODL_curr"></param>
|
||||
/// <returns></returns>
|
||||
private async Task DoSendTaskOdl(int idxODL_curr)
|
||||
{
|
||||
// indico INIZIO SETUP su REDIS come EXE della macchina...
|
||||
string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
|
||||
string outData = $"TS:{ts}|MATR:{MatrOpr}|ODL:{idxODL_curr}";
|
||||
var datiODL = await TabDServ.OdlCurrByMacc(IdxMaccSel, true);
|
||||
string setArtVal = $"{datiODL.CodArticolo}";
|
||||
string setPzCommVal = $"{datiODL.NumPezzi}";
|
||||
string setCommVal = $"ODL{datiODL.IdxOdl:00000000}";
|
||||
// FIXME TODO: scrivere come sotto? testare valvital x linea LASCO
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.startSetup, outData);
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.setArt, setArtVal);
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.setComm, setCommVal);
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.setPzComm, setPzCommVal);
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.forceResetPzCount, "0");
|
||||
TabDServ.MachineParamUpdate(IdxMaccSel, "setArt", setArtVal);
|
||||
TabDServ.MachineParamUpdate(IdxMaccSel, "setComm", setCommVal);
|
||||
TabDServ.MachineParamUpdate(IdxMaccSel, "setPzComm", setPzCommVal);
|
||||
TabDServ.MachineParamUpdate(IdxMaccSel, "forceResetPzCount", "0");
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.setParameter, "ForceUpdate");
|
||||
//await advStep(currStep++);
|
||||
// li aggiungo ANCHE sui PLC slave se ci sono...
|
||||
if (isMaster)
|
||||
{
|
||||
// calcolo gli slave...
|
||||
var slaveList = SMServ.ListM2S
|
||||
.Where(x => x.IdxMacchina.Equals(IdxMaccSel, StringComparison.InvariantCultureIgnoreCase))
|
||||
.ToList();
|
||||
foreach (var machine in slaveList)
|
||||
{
|
||||
outData = $"TS:{ts}|MATR:{MatrOpr}|Master Machine:{IdxMaccSel}";
|
||||
// invio chiusura attrezzaggio
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.startSetup, outData);
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.setArt, setArtVal);
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.setComm, setCommVal);
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.setPzComm, setPzCommVal);
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.forceResetPzCount, "0");
|
||||
TabDServ.MachineParamUpdate(machine.IdxMacchinaSlave, "setArt", setArtVal);
|
||||
TabDServ.MachineParamUpdate(machine.IdxMacchinaSlave, "setComm", setCommVal);
|
||||
TabDServ.MachineParamUpdate(machine.IdxMacchinaSlave, "setPzComm", setPzCommVal);
|
||||
TabDServ.MachineParamUpdate(machine.IdxMacchinaSlave, "forceResetPzCount", "0");
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.setParameter, "ForceUpdate");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void fixTcNotePzPallet(bool reloadFromOdl)
|
||||
{
|
||||
if (tcRichAttr == 0 || string.IsNullOrEmpty(noteAttr) || PzPallet == 0)
|
||||
@@ -1746,48 +1879,6 @@ namespace MP_TAB3.Components
|
||||
fixTcNotePzPallet(reloadFromOdl);
|
||||
}
|
||||
|
||||
private async Task sendTaskOdl(int idxODL_curr)
|
||||
{
|
||||
// indico INIZIO SETUP su REDIS come EXE della macchina...
|
||||
string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now);
|
||||
string outData = $"TS:{ts}|MATR:{MatrOpr}|ODL:{idxODL_curr}";
|
||||
var datiODL = await TabDServ.OdlCurrByMacc(IdxMaccSel, true);
|
||||
string setArtVal = $"{datiODL.CodArticolo}";
|
||||
string setPzCommVal = $"{datiODL.NumPezzi}";
|
||||
string setCommVal = $"ODL{datiODL.IdxOdl:00000000}";
|
||||
// FIXME TODO: scrivere come sotto? testare valvital x linea LASCO
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.startSetup, outData);
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.setArt, setArtVal);
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.setComm, setCommVal);
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.setPzComm, setPzCommVal);
|
||||
TabDServ.MachineParamUpdate(IdxMaccSel, "setArt", setArtVal);
|
||||
TabDServ.MachineParamUpdate(IdxMaccSel, "setComm", setCommVal);
|
||||
TabDServ.MachineParamUpdate(IdxMaccSel, "setPzComm", setPzCommVal);
|
||||
TabDServ.addTask4Machine(IdxMaccSel, taskType.setParameter, "ForceUpdate");
|
||||
//await advStep(currStep++);
|
||||
// li aggiungo ANCHE sui PLC slave se ci sono...
|
||||
if (isMaster)
|
||||
{
|
||||
// calcolo gli slave...
|
||||
var slaveList = SMServ.ListM2S
|
||||
.Where(x => x.IdxMacchina.Equals(IdxMaccSel, StringComparison.InvariantCultureIgnoreCase))
|
||||
.ToList();
|
||||
foreach (var machine in slaveList)
|
||||
{
|
||||
outData = $"TS:{ts}|MATR:{MatrOpr}|Master Machine:{IdxMaccSel}";
|
||||
// invio chiusura attrezzaggio
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.startSetup, outData);
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.setArt, setArtVal);
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.setComm, setCommVal);
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.setPzComm, setPzCommVal);
|
||||
TabDServ.MachineParamUpdate(machine.IdxMacchinaSlave, "setArt", setArtVal);
|
||||
TabDServ.MachineParamUpdate(machine.IdxMacchinaSlave, "setComm", setCommVal);
|
||||
TabDServ.MachineParamUpdate(machine.IdxMacchinaSlave, "setPzComm", setPzCommVal);
|
||||
TabDServ.addTask4Machine(machine.IdxMacchinaSlave, taskType.setParameter, "ForceUpdate");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async Task updateIdxOdl()
|
||||
{
|
||||
// sistemo idxOdl...
|
||||
|
||||
Reference in New Issue
Block a user