diff --git a/MP.Data/Controllers/MpSpecController.cs b/MP.Data/Controllers/MpSpecController.cs
index 2e9cd40a..ead7a188 100644
--- a/MP.Data/Controllers/MpSpecController.cs
+++ b/MP.Data/Controllers/MpSpecController.cs
@@ -741,6 +741,47 @@ namespace MP.Data.Controllers
return dbResult;
}
+ ///
+ /// Recupero Odl CORRENTE x macchina (SE c'รจ)
+ ///
+ ///
+ ///
+ public ODLModel OdlGetCurrentByMacc(string idxMacchina)
+ {
+ ODLModel dbResult = new ODLModel();
+
+ using (var dbCtx = new MoonProContext(_configuration))
+ {
+ dbResult = dbCtx
+ .DbSetODL
+ .FirstOrDefault(x => x.IdxMacchina == idxMacchina && x.DataInizio != null && x.DataFine == null);
+ }
+ return dbResult;
+ }
+
+ ///
+ /// Statistiche ODL calcolate (da stored stp_STAT_ODL)
+ ///
+ ///
+ public async Task> OdlStart(int IdxOdl)
+ {
+ List dbResult = new List();
+ if (IdxOdl > 0)
+ {
+ using (var dbCtx = new MoonProContext(_configuration))
+ {
+ var IdxODL = new SqlParameter("@IdxODL", IdxOdl);
+
+ dbResult = await dbCtx
+ .DbSetStatOdl
+ .FromSqlRaw("EXEC stp_STAT_ODL @IdxODL", IdxODL)
+ .AsNoTracking()
+ .ToListAsync();
+ }
+ }
+ return dbResult;
+ }
+
///
/// Elenco parametri validi x una data macchina
///
@@ -762,6 +803,33 @@ namespace MP.Data.Controllers
return dbResult;
}
+ ///
+ /// Recupero PODL da chiave
+ ///
+ ///
+ ///
+ public async Task PODL_getByKey(int idxPODL)
+ {
+ PODLModel dbResult = new PODLModel();
+ using (var dbCtx = new MoonProContext(_configuration))
+ {
+ try
+ {
+ dbResult = dbCtx
+ .DbSetPODL
+ .AsNoTracking()
+ .Where(x => x.IdxPromessa == idxPODL)
+ .FirstOrDefault();
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Eccezione durante PODL_getByKey{Environment.NewLine}{exc}");
+ }
+ }
+ await Task.Delay(1);
+ return dbResult;
+ }
+
///
/// Avvio setup ODL da PODL
///
@@ -771,17 +839,19 @@ namespace MP.Data.Controllers
///
///
///
- public async Task PODL_startSetup(PODLModel editRec, int matrOpr, double tcRich, int pzPallet, string note)
+ public async Task PODL_startSetup(PODLModel editRec, int matrOpr, double tcRich, int pzPallet, string note)
{
- ODLModel dbResult = new ODLModel();
+ bool answ = false;
using (var dbCtx = new MoonProContext(_configuration))
{
try
{
var currRec = dbCtx
.DbSetPODL
+ .AsNoTracking()
.Where(x => x.IdxPromessa == editRec.IdxPromessa)
.FirstOrDefault();
+
if (currRec != null)
{
// eseguo stored attrezzaggio
@@ -793,13 +863,9 @@ namespace MP.Data.Controllers
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);
+ .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();
+ answ = true;
}
}
catch (Exception exc)
@@ -808,7 +874,7 @@ namespace MP.Data.Controllers
}
}
await Task.Delay(1);
- return dbResult;
+ return answ;
}
///
@@ -911,29 +977,6 @@ namespace MP.Data.Controllers
return answ;
}
- ///
- /// Statistiche ODL calcolate (da stored stp_STAT_ODL)
- ///
- ///
- public async Task> StatOdl(int IdxOdl)
- {
- List dbResult = new List();
- if (IdxOdl > 0)
- {
- using (var dbCtx = new MoonProContext(_configuration))
- {
- var IdxODL = new SqlParameter("@IdxODL", IdxOdl);
-
- dbResult = await dbCtx
- .DbSetStatOdl
- .FromSqlRaw("EXEC stp_STAT_ODL @IdxODL", IdxODL)
- .AsNoTracking()
- .ToListAsync();
- }
- }
- return dbResult;
- }
-
///
/// Stato prod macchina
///
diff --git a/MP.SPEC/Components/ListODL.razor.cs b/MP.SPEC/Components/ListODL.razor.cs
index 4be64bc9..06ca8848 100644
--- a/MP.SPEC/Components/ListODL.razor.cs
+++ b/MP.SPEC/Components/ListODL.razor.cs
@@ -90,6 +90,9 @@ namespace MP.SPEC.Components
///
protected async Task chiudiOdl()
{
+ if (!await JSRuntime.InvokeAsync("confirm", "Sei sicuro di voler chiudere l'ODL corrente?"))
+ return;
+
if (currRecord != null)
{
// effettua chiusura sul DB
diff --git a/MP.SPEC/Components/ListPODL.razor.cs b/MP.SPEC/Components/ListPODL.razor.cs
index c6c46400..ad5575e3 100644
--- a/MP.SPEC/Components/ListPODL.razor.cs
+++ b/MP.SPEC/Components/ListPODL.razor.cs
@@ -144,6 +144,9 @@ namespace MP.SPEC.Components
protected async Task startOdl(PODLModel selRec)
{
+ if (!await JSRuntime.InvokeAsync("confirm", "Sei sicuro di voler avviare PODL selezionato?"))
+ return;
+
if (selRec != null)
{
int idxEvento = 0;
@@ -154,9 +157,12 @@ namespace MP.SPEC.Components
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)
+ bool fatto = await MDService.POdlDoSetup(selRec);
+ if (fatto)
{
+ var currPOdl = await MDService.PODL_getByKey(selRec.IdxPromessa);
+ var newOdl = await MDService.OdlGetByKey(currPOdl.IdxOdl);
+
// registro evento...
idxEvento = 2;
evMess = $"Inizio Setup | PODL {selRec.IdxPromessa}";
@@ -244,7 +250,13 @@ namespace MP.SPEC.Components
{
// compongo URL e chiamo
string restUrl = $"IOB/addTask2Exe/{idxMacc}?taskName={taskName}&taskVal={taskVal}";
- var response = await MpIoApiCall.callMpIoUrlGet(restUrl);
+ try
+ {
+ var response = await MpIoApiCall.callMpIoUrlGet(restUrl);
+ }
+ catch(Exception exc)
+ {
+ }
}
///
@@ -292,8 +304,8 @@ namespace MP.SPEC.Components
///
private bool canStartOdl(string idxMacchina)
{
- // fare!!!
- bool answ = idxMacchina.Contains("BAG");
+ var currOdl = MDService.OdlGetCurrentByMacc(idxMacchina);
+ bool answ = currOdl == null;
return answ;
}
@@ -326,7 +338,10 @@ namespace MP.SPEC.Components
if (string.IsNullOrEmpty(codArticolo))
{
var currOdl = await MDService.OdlGetByKey(idxODL);
- codArticolo = currOdl.CodArticolo;
+ if (currOdl != null)
+ {
+ codArticolo = currOdl.CodArticolo;
+ }
}
// scrivo evento scriviRigaEventoBarcode
diff --git a/MP.SPEC/Data/MpDataService.cs b/MP.SPEC/Data/MpDataService.cs
index 75c9ce78..2dd41035 100644
--- a/MP.SPEC/Data/MpDataService.cs
+++ b/MP.SPEC/Data/MpDataService.cs
@@ -664,6 +664,18 @@ namespace MP.SPEC.Data
return dbResult;
}
+ ///
+ /// ODL corrente x macchina
+ ///
+ ///
+ ///
+ public ODLModel OdlGetCurrentByMacc(string idxMacchina)
+ {
+ // cache REDIS...
+ var dbResult = dbController.OdlGetCurrentByMacc(idxMacchina);
+ return dbResult;
+ }
+
///
/// Elenco di tutti i parametri filtrati x macchina
///
@@ -700,6 +712,16 @@ namespace MP.SPEC.Data
return result;
}
+ ///
+ /// Recupero PODL da chiave
+ ///
+ ///
+ ///
+ public async Task PODL_getByKey(int idxPODL)
+ {
+ return await dbController.PODL_getByKey(idxPODL);
+ }
+
///
/// Eliminazione record selezionato
///
@@ -715,7 +737,7 @@ namespace MP.SPEC.Data
///
///
///
- public async Task POdlDoSetup(PODLModel currRec)
+ public async Task POdlDoSetup(PODLModel currRec)
{
return await dbController.PODL_startSetup(currRec, 0, 1, 1, "");
}
@@ -736,7 +758,7 @@ namespace MP.SPEC.Data
///
public Task> StatOdl(int IdxOdl)
{
- return dbController.StatOdl(IdxOdl);
+ return dbController.OdlStart(IdxOdl);
}
public async Task updateDossierValue(Dossiers currDoss, FluxLogDTO editFL)
diff --git a/MP.SPEC/MP.SPEC.csproj b/MP.SPEC/MP.SPEC.csproj
index dff9d1e3..88ad3e02 100644
--- a/MP.SPEC/MP.SPEC.csproj
+++ b/MP.SPEC/MP.SPEC.csproj
@@ -5,7 +5,7 @@
enable
enable
MP.SPEC
- 6.16.2210.1808
+ 6.16.2210.1809
diff --git a/MP.SPEC/Resources/ChangeLog.html b/MP.SPEC/Resources/ChangeLog.html
index 6223fb6c..34cb2d33 100644
--- a/MP.SPEC/Resources/ChangeLog.html
+++ b/MP.SPEC/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 6.16.2210.1808
+ Versione: 6.16.2210.1809
Note di rilascio:
-
diff --git a/MP.SPEC/Resources/VersNum.txt b/MP.SPEC/Resources/VersNum.txt
index 96c69795..9140f6db 100644
--- a/MP.SPEC/Resources/VersNum.txt
+++ b/MP.SPEC/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2210.1808
+6.16.2210.1809
diff --git a/MP.SPEC/Resources/manifest.xml b/MP.SPEC/Resources/manifest.xml
index c877fcf2..e152c102 100644
--- a/MP.SPEC/Resources/manifest.xml
+++ b/MP.SPEC/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2210.1808
+ 6.16.2210.1809
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