Compare commits

...

7 Commits

Author SHA1 Message Date
Samuele Locatelli bbdf644d5e Merge tag 'FixAutoOdl_ConfScarti01' into develop
Fix gestione conferma scarti x AutoODL
2024-02-27 12:06:02 +01:00
Samuele Locatelli deff8c8cb6 Merge branch 'release/FixAutoOdl_ConfScarti01' 2024-02-27 12:05:32 +01:00
Samuele Locatelli b375bc95b4 Fix procedura AutoODL: confermati scarti! 2024-02-27 12:05:01 +01:00
Samuele Locatelli ba64a8d86f Merge tag 'FixTabDurataAndDisplay' into develop
Fix tabled:
- durata in giorni
- display ore in home mappaStato
2024-02-06 09:41:02 +01:00
Samuele Locatelli 8125b1249a Merge branch 'release/FixTabDurataAndDisplay' 2024-02-06 09:40:46 +01:00
Samuele Locatelli 1c7919d8af Fix display mappa stato (ore durata) 2024-02-06 09:40:17 +01:00
Samuele Locatelli 675f2b6013 Fix calcolo num gg fermate (prende solo gg interi altrimenti ne conta +1) 2024-02-05 19:11:23 +01:00
6 changed files with 19 additions and 14 deletions
+1 -1
View File
@@ -27,7 +27,7 @@
<add key="sqlLongCommandTimeout" value="600" />
<add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=MoonPro;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="MoonProConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=MoonPro;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="MoonProConnectionStringIS" value="Data Source=SQL2016DEV;Initial Catalog=MoonPro_IS_Jetco;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="MoonProConnectionStringIS" value="Data Source=SQL2016DEV;Initial Catalog=MoonPro_IS_ColCom;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="MoonProConnectionStringArca" value="Data Source=SQL2016DEV;Initial Catalog=MoonPro_IS_EdilChim;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="MoonProConnectionStringES3" value="Data Source=SQL2016DEV;Initial Catalog=MoonPro_ES3;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="PermessiConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=MoonPro;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
+2 -1
View File
@@ -584,7 +584,8 @@ namespace MP_IO.Controllers
return DataLayerObj.AutoStartOdl(id, true, true, 100, "");
}
/// <summary> Chiude ODL precedente ed avvia uno nuovo (duplicandolo e sitemando quantità
/// <summary>
/// Chiude ODL precedente ed avvia uno nuovo (duplicandolo e sitemando quantità
/// RIMANENTE), e CONFERMA produzione...
///
/// GET: IOB/forceSplitOdl/SIMUL_03?doConfirm=true&qtyFromLast=true&roundStep=150&extOrderCode=ABCDE1234
+1 -1
View File
@@ -1022,7 +1022,7 @@ namespace MoonProTablet.WebUserControls
}
/// <summary>
/// toggle visualizzazione creazioen ODL provvisorio
/// toggle visualizzazione creazione ODL provvisorio
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
+2 -2
View File
@@ -38,8 +38,8 @@
<asp:Label runat="server" ID="lblTitle" Text='<%# Eval("Nome") %>' /></h4>
</div>
<div class='col-12 p-1 <%# Eval("Semaforo") %>'>
<div class="d-flex">
<div class="p-0 mr-auto">
<div class="d-flex justify-content-between">
<div class="p-0 ">
<b>
<asp:Label runat="server" ID="lblStato" Text='<%# Eval("DescrizioneStato") %>' /></b>
</div>
+1 -1
View File
@@ -34,7 +34,7 @@ namespace MoonProTablet
}
else
{
answ = $"{tempo.DayOfYear}<small>g</small> {tempo.Hour}<small>h</small>";
answ = $"{tempo.DayOfYear - 1}<small>g</small> {tempo.Hour}<small>h</small>";
}
return answ;
}
+12 -8
View File
@@ -723,23 +723,28 @@ namespace MapoDb
public string AutoStartOdl(string idxMacchina, bool doConfirm, bool qtyFromLast, int roundStep = 100, string keyRichiesta = "")
{
string answ = "KO";
DateTime adesso = DateTime.Now;
// verifico NON CI SIA un veto a NUOVI split... 2 min di default...
string redKey = vetoSplitOdlMaccHash(idxMacchina);
string rawData = memLayer.ML.getRSV(redKey);
if (string.IsNullOrEmpty(rawData))
{
// registro VETO x altri split... 5 minuti
memLayer.ML.setRSV(redKey, $"Inizio SPLIT-ODL {DateTime.Now}", 300);
memLayer.ML.setRSV(redKey, $"Inizio SPLIT-ODL {adesso}", 300);
// calcolo la qta da gestire
int qtyConf = 0;
int qtyNew = 0;
int qtyScarto = 0;
if (doConfirm)
{
DS_ProdTempi.stp_PzProd_getByMacchinaRow rigaProd;
DS_ProdTempi.StatoProdRow statoProd;
try
{
rigaProd = taPzProd2conf.GetData(idxMacchina)[0];
statoProd = taStatoProd.GetData(idxMacchina, adesso)[0];
qtyConf = rigaProd.pezziNonConfermati;
qtyScarto = statoProd.Pz2RecScarto;
// calcolo nuovi pezzi da confermare
if (qtyFromLast)
{
@@ -756,7 +761,6 @@ namespace MapoDb
// proseguo
DS_ProdTempi.ODLDataTable currData = null;
DateTime adesso = DateTime.Now;
// chiamo metodo redis/db...
try
{
@@ -769,7 +773,7 @@ namespace MapoDb
DS_ProdTempi.Macchine2SlaveDataTable slaveList = isMachMaster ? taM2S.getByMaster(idxMacchina) : new DS_ProdTempi.Macchine2SlaveDataTable();
// registro un evento di inizio attrezzaggio (idxTipoEv = 2)
int idxEvento = 2;
Log.Info($"Invio evento ODL-SPLIT per macchina {idxMacchina}, evento {idxEvento}, articolo {currData[0].CodArticolo}, qty confermata {qtyConf}, nuova qty {qtyNew}", tipoLog.INFO);
Log.Info($"Invio evento ODL-SPLIT per macchina {idxMacchina} | ev: {idxEvento} | art: {currData[0].CodArticolo} | qty conf: {qtyConf} | sty sca: {qtyScarto} | new qty: {qtyNew}", tipoLog.INFO);
inputComandoMapo resCmd = scriviRigaEventoBarcode(idxMacchina, idxEvento, currData[0].CodArticolo, "ODL-SPLIT", 0, "", adesso, adesso);
if (doConfirm)
@@ -781,29 +785,29 @@ namespace MapoDb
try
{
string chiamata = confRett ? "confermaProdMacchinaFull" : "confermaProdMacchina";
Log.Info($"Chiamata a {chiamata} con parametri {currData[0].IdxMacchina} |{MatrOpr} | {DateTime.Now.AddDays(-10)} | {DateTime.Now} | {qtyConf} | 0 | 1 | {DateTime.Now} | false", tipoLog.INFO);
Log.Info($"Chiamata a {chiamata} con parametri {currData[0].IdxMacchina} |{MatrOpr} | {DateTime.Now.AddDays(-10)} | {DateTime.Now} | {qtyConf} | 0 | {qtyScarto} | {DateTime.Now} | false", tipoLog.INFO);
string idxMacchinaSel = currData[0].IdxMacchina;
bool fatto = false;
if (confRett)
{
// confermo al netto dei pezzi lasciati...
fatto = confermaProdMacchinaFull(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, 0, adesso);
fatto = confermaProdMacchinaFull(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, qtyScarto, adesso);
if (memLayer.ML.CRB("SlaveConfirmPzProd"))
{
foreach (var machine in slaveList)
{
confermaProdMacchinaFull(machine.IdxMacchinaSlave, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, 0, adesso);
confermaProdMacchinaFull(machine.IdxMacchinaSlave, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, qtyScarto, adesso);
}
}
}
else
{
fatto = confermaProdMacchina(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, adesso);
fatto = confermaProdMacchina(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, qtyScarto, adesso);
if (memLayer.ML.CRB("SlaveConfirmPzProd"))
{
foreach (var machine in slaveList)
{
confermaProdMacchina(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, 0, adesso);
confermaProdMacchina(idxMacchinaSel, memLayer.ML.CRI("modoConfProd"), qtyConf, qtyScarto, adesso);
}
}
}