Fix procedura AutoODL: confermati scarti!
This commit is contained in:
+12
-8
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user