diff --git a/MP.Data/Controllers/MpSpecController.cs b/MP.Data/Controllers/MpSpecController.cs
index a4342479..eccef8b9 100644
--- a/MP.Data/Controllers/MpSpecController.cs
+++ b/MP.Data/Controllers/MpSpecController.cs
@@ -754,6 +754,56 @@ namespace MP.Data.Controllers
return dbResult;
}
+
+ ///
+ /// Avvio setup ODL da PODL
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task PODL_startSetup(PODLModel editRec, int matrOpr, double tcRich, int pzPallet, string note)
+ {
+ ODLModel dbResult = new ODLModel();
+ using (var dbCtx = new MoonProContext(_configuration))
+ {
+ try
+ {
+ var currRec = dbCtx
+ .DbSetPODL
+ .Where(x => x.IdxPromessa == editRec.IdxPromessa)
+ .FirstOrDefault();
+ if (currRec != null)
+ {
+ // eseguo stored attrezzaggio
+ var IdxPromessa = new SqlParameter("@idxPromessa", editRec.IdxPromessa);
+ var MatrOpr = new SqlParameter("@MatrOpr", matrOpr);
+ var IdxMacchina = new SqlParameter("@IdxMacchina", editRec.IdxMacchina);
+ var TCRichAttr = new SqlParameter("@TCRichAttr", tcRich);
+ var PzPallet = new SqlParameter("@PzPallet", pzPallet);
+ var Note = new SqlParameter("@Note", note);
+ var callResult = await dbCtx
+ .Database
+ .ExecuteSqlRawAsync("EXEC stp_ODL_inizioSetupPromessa @idxPromessa, @MatrOpr, @IdxMacchina @TCRichAttr, @PzPallet, @Note", IdxPromessa, MatrOpr, IdxMacchina, TCRichAttr, PzPallet, Note);
+
+ // recupero info su ODL corrente
+ dbResult = await dbCtx
+ .DbSetODL
+ .Where(x => x.IdxMacchina == editRec.IdxMacchina && x.DataInizio != null && x.DataFine == null)
+ .FirstOrDefaultAsync();
+ }
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione durante PODL_doSetup{Environment.NewLine}{exc}");
+ }
+ }
+ await Task.Delay(1);
+ return dbResult;
+ }
+
///
/// Chiusura ODL con eventuale conferma pezzi
///
diff --git a/MP.SPEC/Components/ListPODL.razor.cs b/MP.SPEC/Components/ListPODL.razor.cs
index ddb159cb..f30db27f 100644
--- a/MP.SPEC/Components/ListPODL.razor.cs
+++ b/MP.SPEC/Components/ListPODL.razor.cs
@@ -3,6 +3,8 @@ using Microsoft.JSInterop;
using MP.Data.DatabaseModels;
using MP.SPEC.Data;
using MP.SPEC.Services;
+using System.Reflection.PortableExecutable;
+using System.Text;
namespace MP.SPEC.Components
{
@@ -49,7 +51,7 @@ namespace MP.SPEC.Components
protected MpDataService MDService { get; set; } = null!;
[Inject]
- protected IOApiService MpIoApiCall { get; set; }
+ protected IOApiService MpIoApiCall { get; set; } = null!;
[Inject]
protected MessageService MsgService { get; set; } = null!;
@@ -86,7 +88,67 @@ namespace MP.SPEC.Components
protected async Task startOdl(PODLModel selRec)
{
- await Task.Delay(1);
+ if (selRec != null)
+ {
+ int idxEvento = 0;
+ string evMess = "";
+ // verifico ancora NON ci sia ODL corrente/aperto
+ if (canStartOdl(selRec.IdxMacchina))
+ {
+ await callStartSetup(selRec.IdxMacchina);
+ await Task.Delay(1);
+ // chiamo stored stp_ODL_inizioSetupPromessa e recupero ODL corrente
+ var newOdl = await MDService.POdlDoSetup(selRec);
+ if (newOdl != null)
+ {
+ // registro evento...
+ idxEvento = 2;
+ evMess = $"Registrata inizio produzione | PODL {selRec.IdxPromessa} | ODL {newOdl.IdxOdl}";
+ processaEvento(selRec.IdxMacchina, idxEvento, evMess, newOdl.IdxOdl);
+
+
+ //aspetto 1 sec
+
+
+ // idxEv = 1
+
+ //// processo chiusura setup
+ //string evText = "Registrata inizio produzione per ODL {0}";
+ //StringBuilder sb = new StringBuilder();
+ //sb.AppendLine(String.Format(evText, idxODLStart));
+ //processaEvento(idxMacchinaFix, idxEvento, sb.ToString(), idxODLStart);
+
+
+
+
+ // richiedo refresh su IOB-WIN:
+ // DataLayerObj.addTask4Machine(machine.IdxMacchinaSlave, taskType.setParameter, "ForceUpdate");
+
+ await callForceUpdate(selRec.IdxMacchina);
+ await Task.Delay(1);
+ await callForceUpdate(selRec.IdxMacchina);
+ await Task.Delay(1);
+ await callSyncDb(selRec.IdxMacchina);
+ await Task.Delay(1);
+ }
+ }
+ }
+ }
+
+
+ ///
+ /// processa evento richiesto
+ ///
+ ///
+ ///
+ ///
+ ///
+ private void processaEvento(string idxMacc, int idxEvento, string userMsg, int idxODL)
+ {
+
+ // scrivo evento scriviRigaEventoBarcode
+
+ // fixme todo !!! FARE
}
///
@@ -112,7 +174,7 @@ namespace MP.SPEC.Components
return;
await Task.Delay(1);
var done = await MDService.PODLDeleteRecord(selRec);
- await callSyncDb(selRec);
+ await callSyncDb(selRec.IdxMacchina);
currRecord = null;
await reloadData();
await Task.Delay(1);
@@ -212,17 +274,59 @@ namespace MP.SPEC.Components
#region Private Methods
+
///
/// Chiama metodo x chiedere sync DB
///
///
///
- private async Task callSyncDb(PODLModel selRec)
+ private async Task addTask2Exe(string idxMacc, string taskName, string taskVal)
+ {
+ // compongo URL e chiamo
+ string restUrl = $"IOB/addTask2Exe/{idxMacc}?taskName={taskName}&taskVal={taskVal}";
+ var response = await MpIoApiCall.callMpIoUrlGet(restUrl);
+ }
+
+
+ ///
+ /// Chiama metodo x chiedere sync DB
+ ///
+ ///
+ ///
+ private async Task callSyncDb(string IdxMacc)
{
// chiamo aggiunta task SyncDb...
+ await addTask2Exe(IdxMacc, "syncDbData", "");
+#if false
string idxMacc = selRec.IdxMacchina;
string restUrl = $"IOB/addTask2Exe/{idxMacc}?taskName=syncDbData&taskVal=";
- var response = await MpIoApiCall.callMpIoUrlGet(restUrl);
+ var response = await MpIoApiCall.callMpIoUrlGet(restUrl);
+#endif
+ }
+
+
+
+
+ ///
+ /// Chiama metodo x chiedere force Update
+ ///
+ ///
+ ///
+ private async Task callForceUpdate(string IdxMacc)
+ {
+ // chiamo aggiunta task SyncDb...
+ await addTask2Exe(IdxMacc, "ForceUpdate", $"SPEC|TS:{DateTime.Now:yyMMddHHmmss}");
+ }
+
+ ///
+ /// Chiama metodo x indicare inizio setup
+ ///
+ ///
+ ///
+ private async Task callStartSetup(string IdxMacc)
+ {
+ // chiamo evento inizio setup
+ await addTask2Exe(IdxMacc, "startSetup", $"SPEC|TS:{DateTime.Now:yyMMddHHmmss}");
}
private async void MessageService_EA_PageUpdated()
diff --git a/MP.SPEC/Data/MpDataService.cs b/MP.SPEC/Data/MpDataService.cs
index 4a6d02ce..f110fcc0 100644
--- a/MP.SPEC/Data/MpDataService.cs
+++ b/MP.SPEC/Data/MpDataService.cs
@@ -699,6 +699,16 @@ namespace MP.SPEC.Data
return await dbController.PODLUpdateRecord(currRec);
}
+ ///
+ /// Avvio fase setup per il record selezionato
+ ///
+ ///
+ ///
+ public async Task POdlDoSetup(PODLModel currRec)
+ {
+ return await dbController.PODL_startSetup(currRec, 0, 1, 1, ""); ;
+ }
+
///
/// Statistiche ODL calcolate (da stored stp_STAT_ODL)
///
diff --git a/MP.SPEC/MP.SPEC.csproj b/MP.SPEC/MP.SPEC.csproj
index e7fa6a9e..180e6d8f 100644
--- a/MP.SPEC/MP.SPEC.csproj
+++ b/MP.SPEC/MP.SPEC.csproj
@@ -5,7 +5,7 @@
enable
enable
MP.SPEC
- 6.16.2210.1712
+ 6.16.2210.1720
diff --git a/MP.SPEC/Pages/PODL.razor.cs b/MP.SPEC/Pages/PODL.razor.cs
index 964dc448..10e1038d 100644
--- a/MP.SPEC/Pages/PODL.razor.cs
+++ b/MP.SPEC/Pages/PODL.razor.cs
@@ -20,19 +20,19 @@ namespace MP.SPEC.Pages
#region Protected Properties
[Inject]
- protected IJSRuntime JSRuntime { get; set; }
+ protected IJSRuntime JSRuntime { get; set; } = null!;
[Inject]
- protected MpDataService MDService { get; set; }
+ protected MpDataService MDService { get; set; } = null!;
[Inject]
- protected IOApiService MpIoApiCall { get; set; }
+ protected IOApiService MpIoApiCall { get; set; } = null!;
[Inject]
- protected MessageService MsgService { get; set; }
+ protected MessageService MsgService { get; set; } = null!;
[Inject]
- protected NavigationManager NavManager { get; set; }
+ protected NavigationManager NavManager { get; set; } = null!;
#endregion Protected Properties
diff --git a/MP.SPEC/Resources/ChangeLog.html b/MP.SPEC/Resources/ChangeLog.html
index 033649b1..60b20b12 100644
--- a/MP.SPEC/Resources/ChangeLog.html
+++ b/MP.SPEC/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 6.16.2210.1712
+ Versione: 6.16.2210.1720
Note di rilascio:
-
diff --git a/MP.SPEC/Resources/VersNum.txt b/MP.SPEC/Resources/VersNum.txt
index cfc216e1..fa8114d3 100644
--- a/MP.SPEC/Resources/VersNum.txt
+++ b/MP.SPEC/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2210.1712
+6.16.2210.1720
diff --git a/MP.SPEC/Resources/manifest.xml b/MP.SPEC/Resources/manifest.xml
index 2bf44199..49aabde3 100644
--- a/MP.SPEC/Resources/manifest.xml
+++ b/MP.SPEC/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2210.1712
+ 6.16.2210.1720
https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/MP.SPEC.zip
https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/ChangeLog.html
false