From b80a18b47712665576a14839cf025fd3ec6f0cde Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 2 Mar 2020 17:27:45 +0100 Subject: [PATCH] Continuo riscrittura metodi da static ad istanze esplicite --- MP-IO/Controllers/IOBController.cs | 91 ++++++++----- MP-TAB/WebUserControls/mod_ODL.ascx.cs | 120 +++++++++--------- .../mod_sendParameters.ascx.cs | 9 +- MapoDb/AlarmsArchive.cs | 11 +- MapoDb/DataLayer.cs | 111 ++++++++-------- MapoDb/reportExporter.cs | 3 +- MapoDb/reportPrinter.cs | 6 +- MapoDb/resoconti.cs | 15 ++- MapoDb/selData.cs | 8 +- 9 files changed, 209 insertions(+), 165 deletions(-) diff --git a/MP-IO/Controllers/IOBController.cs b/MP-IO/Controllers/IOBController.cs index da20b4e6..af12890d 100644 --- a/MP-IO/Controllers/IOBController.cs +++ b/MP-IO/Controllers/IOBController.cs @@ -44,8 +44,9 @@ namespace MP_IO.Controllers { try { + DataLayer DataLayerObj = new DataLayer(); // salvo risposta! - answ = DataLayer.insEnab(id) ? "OK" : "NO"; + answ = DataLayerObj.insEnab(id) ? "OK" : "NO"; } catch (Exception exc) { @@ -68,7 +69,9 @@ namespace MP_IO.Controllers { try { - answ = DataLayer.sLogEnab(id) ? "OK" : "NO"; + DataLayer DataLayerObj = new DataLayer(); + // salvo risposta + answ = DataLayerObj.sLogEnab(id) ? "OK" : "NO"; } catch (Exception exc) { @@ -95,7 +98,8 @@ namespace MP_IO.Controllers } try { - answ = DataLayer.processInput(id, valore, dtEve, dtCurr, cnt); + DataLayer DataLayerObj = new DataLayer(); + answ = DataLayerObj.processInput(id, valore, dtEve, dtCurr, cnt); } catch (Exception exc) { @@ -128,6 +132,7 @@ namespace MP_IO.Controllers // se ho dati... if (content != "") { + DataLayer DataLayerObj = new DataLayer(); // procedo a deserializzare in blocco l'oggetto... evJsonPayload receivedData = new evJsonPayload(); try @@ -154,7 +159,7 @@ namespace MP_IO.Controllers } // formato datetime come yyyyMMddHHmmssfff -->es: 20181223180600000 - answ = DataLayer.processInput(id, item.valore, item.dtEve.ToString("yyyyMMddHHmmssfff"), item.dtCurr.ToString("yyyyMMddHHmmssfff"), item.cnt.ToString()); + answ = DataLayerObj.processInput(id, item.valore, item.dtEve.ToString("yyyyMMddHHmmssfff"), item.dtCurr.ToString("yyyyMMddHHmmssfff"), item.cnt.ToString()); insDone++; } // se vuoto --> OK! @@ -189,9 +194,10 @@ namespace MP_IO.Controllers } try { + DataLayer DataLayerObj = new DataLayer(); int count = 0; Int32.TryParse(cnt, out count); - answ = DataLayer.processFluxLog(id, flux, valore, dtEve, dtCurr, count); + answ = DataLayerObj.processFluxLog(id, flux, valore, dtEve, dtCurr, count); } catch (Exception exc) { @@ -224,6 +230,7 @@ namespace MP_IO.Controllers // se ho dati... if (content != "") { + DataLayer DataLayerObj = new DataLayer(); // procedo a deserializzare in blocco l'oggetto... flogJsonPayload receivedData = new flogJsonPayload(); try @@ -245,7 +252,7 @@ namespace MP_IO.Controllers foreach (var item in receivedData.fluxData) { // formato datetime come yyyyMMddHHmmssfff -->es: 20181223180600000 - answ = DataLayer.processFluxLog(id, item.flux, item.valore, item.dtEve.ToString("yyyyMMddHHmmssfff"), item.dtCurr.ToString("yyyyMMddHHmmssfff"), item.cnt); + answ = DataLayerObj.processFluxLog(id, item.flux, item.valore, item.dtEve.ToString("yyyyMMddHHmmssfff"), item.dtCurr.ToString("yyyyMMddHHmmssfff"), item.cnt); } // se vuoto --> OK! if (string.IsNullOrEmpty(answ)) @@ -261,7 +268,7 @@ namespace MP_IO.Controllers // leggo parametri correnti... try { - List currParams = DataLayer.getCurrObjItems(id); + List currParams = DataLayerObj.getCurrObjItems(id); // ora per ogni valore RICEVUTO costruisco un oggetto in innnovazioni da inviare...x salvare in stato parametri... List innovazioni = new List(); foreach (var item in receivedData.fluxData) @@ -291,7 +298,7 @@ namespace MP_IO.Controllers innovazioni.Add(trovato); } // faccio upsert innovations! - DataLayer.upsertCurrObjItems(id, innovazioni); + DataLayerObj.upsertCurrObjItems(id, innovazioni); } catch (Exception exc) { @@ -327,7 +334,8 @@ namespace MP_IO.Controllers { // deserializzo. liveIOB receivedData = JsonConvert.DeserializeObject(content); - answ = DataLayer.processLiveJson(id, receivedData); + DataLayer DataLayerObj = new DataLayer(); + answ = DataLayerObj.processLiveJson(id, receivedData); // se vuoto --> OK! if (string.IsNullOrEmpty(answ)) { @@ -457,7 +465,8 @@ namespace MP_IO.Controllers // se != null --> salvo! if (currMemMap != null) { - DataLayer.setIobMemMap(id, currMemMap); + DataLayer DataLayerObj = new DataLayer(); + DataLayerObj.setIobMemMap(id, currMemMap); answ = "OK"; } } @@ -530,8 +539,9 @@ namespace MP_IO.Controllers List currParams = new List(); try { + DataLayer DataLayerObj = new DataLayer(); // deserializzo. - currParams = DataLayer.getCurrObjItems(id); + currParams = DataLayerObj.getCurrObjItems(id); // se != null --> salvo! if (currParams != null) { @@ -565,8 +575,9 @@ namespace MP_IO.Controllers List currParams = new List(); try { + DataLayer DataLayerObj = new DataLayer(); // deserializzo. - currParams = DataLayer.getCurrObjItemsPendigWrite(id); + currParams = DataLayerObj.getCurrObjItemsPendigWrite(id); // se != null --> salvo! if (currParams != null) { @@ -615,7 +626,8 @@ namespace MP_IO.Controllers // se != null --> salvo! if (currParams != null) { - DataLayer.setCurrObjItems(id, currParams); + DataLayer DataLayerObj = new DataLayer(); + DataLayerObj.setCurrObjItems(id, currParams); answ = "OK"; } } @@ -662,7 +674,8 @@ namespace MP_IO.Controllers if (innovazioni != null) { // salvo - DataLayer.upsertCurrObjItems(id, innovazioni); + DataLayer DataLayerObj = new DataLayer(); + DataLayerObj.upsertCurrObjItems(id, innovazioni); answ = "OK"; } } @@ -686,7 +699,8 @@ namespace MP_IO.Controllers } try { - answ = DataLayer.processLiveRec(id, liveData); + DataLayer DataLayerObj = new DataLayer(); + answ = DataLayerObj.processLiveRec(id, liveData); } catch (Exception exc) { @@ -710,7 +724,8 @@ namespace MP_IO.Controllers string answ = ""; try { - answ = DataLayer.currODL(id).ToString(); + DataLayer DataLayerObj = new DataLayer(); + answ = DataLayerObj.currODL(id).ToString(); } catch (Exception exc) { @@ -733,7 +748,8 @@ namespace MP_IO.Controllers // chiamo metodo redis/db... try { - DS_ProdTempi.ODLDataTable currTab = DataLayer.currODLRowTab(id); + DataLayer DataLayerObj = new DataLayer(); + DS_ProdTempi.ODLDataTable currTab = DataLayerObj.currODLRowTab(id); if (currTab.Count > 0) { DS_ProdTempi.ODLRow odlRow = currTab[0]; @@ -761,7 +777,8 @@ namespace MP_IO.Controllers // chiamo metodo redis/db... try { - currData = DataLayer.currODLRowTab(id); + DataLayer DataLayerObj = new DataLayer(); + currData = DataLayerObj.currODLRowTab(id); answ = JsonConvert.SerializeObject(currData); } catch (Exception exc) @@ -785,7 +802,8 @@ namespace MP_IO.Controllers // chiamo metodo redis/db... try { - currData = DataLayer.currSMTab(id); + DataLayer DataLayerObj = new DataLayer(); + currData = DataLayerObj.currSMTab(id); answ = JsonConvert.SerializeObject(currData); } catch (Exception exc) @@ -805,15 +823,16 @@ namespace MP_IO.Controllers // attenzione! poiché nell'URL il carattere "#" fiene filtrato ci aspettiamo il carattere "|" che poi trasformiamo ora in "#" id = id.Replace("|", "#"); int answ = 0; + DataLayer DataLayerObj = new DataLayer(); DS_applicazione.StatoMacchineDataTable currData = null; // chiamo metodo redis/db... try { - currData = DataLayer.currSMTab(id); + currData = DataLayerObj.currSMTab(id); if (currData.Count > 0) { // recupero da redis elenco stati - DS_applicazione.AnagraficaStatiDataTable anagStati = DataLayer.AnagraficaStati(); + DS_applicazione.AnagraficaStatiDataTable anagStati = DataLayerObj.AnagraficaStati(); DS_applicazione.AnagraficaStatiRow currStato = anagStati.FindByIdxStato(currData[0].IdxStato); // calcolo SE sia idle... OVVERO SEMAFORO NON VERDE!!! if (currStato.Semaforo != "sVe") @@ -844,11 +863,12 @@ namespace MP_IO.Controllers string answ = ""; // scrivo keep alive!!! (se necessario, altrimenti è in cache...) MapoDb.MapoDb connDb = new MapoDb.MapoDb(); + DataLayer DataLayerObj = new DataLayer(); connDb.scriviKeepAlive(id, DateTime.Now); try { // recupero dati macchina... - Dictionary valori = DataLayer.mDatiMacchine(id); + Dictionary valori = DataLayerObj.mDatiMacchine(id); answ = JsonConvert.SerializeObject(valori); } catch @@ -867,7 +887,8 @@ namespace MP_IO.Controllers { // attenzione! poiché nell'URL il carattere "#" fiene filtrato ci aspettiamo il carattere "|" che poi trasformiamo ora in "#" id = id.Replace("|", "#"); - return DataLayer.forceSplitOdl(id); + DataLayer DataLayerObj = new DataLayer(); + return DataLayerObj.forceSplitOdl(id); } /// @@ -883,11 +904,12 @@ namespace MP_IO.Controllers string answ = ""; // scrivo keep alive!!! (se necessario, altrimenti è in cache...) MapoDb.MapoDb connDb = new MapoDb.MapoDb(); + DataLayer DataLayerObj = new DataLayer(); connDb.scriviKeepAlive(id, DateTime.Now); try { // leggo da REDIS eventuale elenco task x macchina... - Dictionary valori = DataLayer.mTaskMacchina(id); + Dictionary valori = DataLayerObj.mTaskMacchina(id); answ = JsonConvert.SerializeObject(valori); } catch @@ -912,6 +934,7 @@ namespace MP_IO.Controllers string answ = ""; // scrivo keep alive!!! (se necessario, altrimenti è in cache...) MapoDb.MapoDb connDb = new MapoDb.MapoDb(); + DataLayer DataLayerObj = new DataLayer(); connDb.scriviKeepAlive(id, DateTime.Now); try { @@ -920,7 +943,7 @@ namespace MP_IO.Controllers bool fatto = Enum.TryParse(taskName, out tName); if (fatto) { - DataLayer.addTask4Machine(id, tName, taskVal); + DataLayerObj.addTask4Machine(id, tName, taskVal); } else { @@ -945,6 +968,7 @@ namespace MP_IO.Controllers string answ = ""; // scrivo keep alive!!! (se necessario, altrimenti è in cache...) MapoDb.MapoDb connDb = new MapoDb.MapoDb(); + DataLayer DataLayerObj = new DataLayer(); connDb.scriviKeepAlive(id, DateTime.Now); try { @@ -953,7 +977,7 @@ namespace MP_IO.Controllers bool fatto = Enum.TryParse(taskName, out tName); if (fatto) { - DataLayer.remTask4Machine(id, tName); + DataLayerObj.remTask4Machine(id, tName); } else { @@ -1046,7 +1070,8 @@ namespace MP_IO.Controllers /// public string resetCurrODL(string id) { - return DataLayer.emptyCurrODL(id); + DataLayer DataLayerObj = new DataLayer(); + return DataLayerObj.emptyCurrODL(id); } /// /// Recupera COUNTER x macchina: @@ -1061,7 +1086,8 @@ namespace MP_IO.Controllers string answ = ""; try { - answ = DataLayer.pzCounter(id).ToString(); + DataLayer DataLayerObj = new DataLayer(); + answ = DataLayerObj.pzCounter(id).ToString(); } catch (Exception exc) { @@ -1083,7 +1109,8 @@ namespace MP_IO.Controllers string answ = ""; try { - answ = DataLayer.pzCounterTC(id).ToString(); + DataLayer DataLayerObj = new DataLayer(); + answ = DataLayerObj.pzCounterTC(id).ToString(); } catch (Exception exc) { @@ -1111,7 +1138,8 @@ namespace MP_IO.Controllers } try { - answ = DataLayer.saveCounter(id, counter); + DataLayer DataLayerObj = new DataLayer(); + answ = DataLayerObj.saveCounter(id, counter); } catch (Exception exc) { @@ -1136,7 +1164,8 @@ namespace MP_IO.Controllers logger.lg.scriviLog($"Salvataggio incremento contapezzi:{Environment.NewLine}idxMacchina: {id}{Environment.NewLine}pezzi: {qty}", tipoLog.INFO); try { - answ = DataLayer.saveCaricoPezzi(id, qty); + DataLayer DataLayerObj = new DataLayer(); + answ = DataLayerObj.saveCaricoPezzi(id, qty); } catch (Exception exc) { diff --git a/MP-TAB/WebUserControls/mod_ODL.ascx.cs b/MP-TAB/WebUserControls/mod_ODL.ascx.cs index d3561fbd..f46acc3b 100644 --- a/MP-TAB/WebUserControls/mod_ODL.ascx.cs +++ b/MP-TAB/WebUserControls/mod_ODL.ascx.cs @@ -23,6 +23,10 @@ namespace MoonProTablet.WebUserControls /// protected string _idxOdlAltraMacc; /// + /// Oggetto DataLayer della classe + /// + protected DataLayer DataLayerObj = new DataLayer(); + /// /// IdxODL sulla macchina /// public string idxOdlMacc @@ -31,7 +35,7 @@ namespace MoonProTablet.WebUserControls { if (_idxOdlMacc == null) { - _idxOdlMacc = DataLayer.currODL(idxMacchina, true); + _idxOdlMacc = DataLayerObj.currODL(idxMacchina, true); } return _idxOdlMacc; } @@ -49,7 +53,7 @@ namespace MoonProTablet.WebUserControls { if (_idxOdlAltraMacc == null) { - _idxOdlAltraMacc = DataLayer.currODL(idxMaccAltraTav, true); + _idxOdlAltraMacc = DataLayerObj.currODL(idxMaccAltraTav, true); } return _idxOdlAltraMacc; } @@ -65,7 +69,7 @@ namespace MoonProTablet.WebUserControls { get { - return DataLayer.isMulti(idxMacchina); + return DataLayerObj.isMulti(idxMacchina); } } @@ -173,7 +177,7 @@ namespace MoonProTablet.WebUserControls DateTime dtChiusura = DateTime.Now.AddHours(-1); try { - dtChiusura = DataLayer.obj.taODL.getLastByMacc(idxMacchina)[0].DataFine; + dtChiusura = DataLayerObj.taODL.getLastByMacc(idxMacchina)[0].DataFine; } catch { } @@ -376,7 +380,7 @@ namespace MoonProTablet.WebUserControls string CodArticolo = ""; try { - CodArticolo = DataLayer.obj.taODL.getByIdx(idxODLSel, false)[0].CodArticolo; + CodArticolo = DataLayerObj.taODL.getByIdx(idxODLSel, false)[0].CodArticolo; } catch { } @@ -496,14 +500,14 @@ namespace MoonProTablet.WebUserControls } try { - currHasOdl = DataLayer.obj.taODL.getByMacchina(idxMacchina)[0].IdxODL != 0; + currHasOdl = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL != 0; } catch (Exception exc) { logger.lg.scriviLog(string.Format("Eccezione in recupero dati currHasOdl! {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION); } // deve controllare abbia ODL o PROMESSE odl... - bool hasNewOdl = DataLayer.obj.taSelOdlFree.getUnused(idxMacchina, chkTutti.Checked).Rows.Count > 1; + bool hasNewOdl = DataLayerObj.taSelOdlFree.getUnused(idxMacchina, chkTutti.Checked).Rows.Count > 1; // sistemo buttons! lbtStartAttr.Enabled = (isEnabled && (!inAttr && hasNewOdl)); lbtStartProd.Enabled = (isEnabled && inAttr); @@ -522,7 +526,7 @@ namespace MoonProTablet.WebUserControls int idxOdl = 0; try { - idxOdl = DataLayer.obj.taODL.getByMacchina(idxMacchina)[0].IdxODL; + idxOdl = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL; updateTempoTc(idxOdl, inAttr); updateNoteTC(idxOdl); } @@ -538,7 +542,7 @@ namespace MoonProTablet.WebUserControls bool showWarn = false; try { - showWarn = DataLayer.obj.taAnagArt.getByCod(CodArtSel)[0].FlagIsNew; + showWarn = DataLayerObj.taAnagArt.getByCod(CodArtSel)[0].FlagIsNew; } catch (Exception exc) { @@ -560,16 +564,16 @@ namespace MoonProTablet.WebUserControls inputComandoMapo inCmd2; DS_applicazione.StatoMacchineRow rigaStato = selData.mng.rigaStato(idxMaccCurr); // ricavo codice articolo... - string CodArticolo = DataLayer.obj.taODL.getByIdx(idxODL, false)[0].CodArticolo; + string CodArticolo = DataLayerObj.taODL.getByIdx(idxODL, false)[0].CodArticolo; // processo evento... - inCmd = controllerMapo.scriviRigaEventoBarcode(idxMaccCurr, idxEvento, CodArticolo, "", DataLayer.MatrOpr, rigaStato.pallet); + inCmd = controllerMapo.scriviRigaEventoBarcode(idxMaccCurr, idxEvento, CodArticolo, "", DataLayerObj.MatrOpr, rigaStato.pallet); // se la macchina è MULTI (cod#tavola) e sonoa INIZIO/FINE attrezzaggio (idxEv <=2) oppure FINE PROD processo ANCHE per la macchina madre... if (idxMaccCurr.IndexOf('#') > 0 && (idxEvento <= 2 || idxEvento == 7)) { - inCmd2 = controllerMapo.scriviRigaEventoBarcode(idxMaccParent, idxEvento, CodArticolo, "", DataLayer.MatrOpr, rigaStato.pallet); + inCmd2 = controllerMapo.scriviRigaEventoBarcode(idxMaccParent, idxEvento, CodArticolo, "", DataLayerObj.MatrOpr, rigaStato.pallet); } // chiamo refresh MSE - DataLayer.obj.taMSE.forceRecalc(0, idxMaccCurr); + DataLayerObj.taMSE.forceRecalc(0, idxMaccCurr); // invalido la cache di selData selData.mng.invalidateCache(); lblOut.Text = userMsg; @@ -630,13 +634,13 @@ namespace MoonProTablet.WebUserControls if (enableRPO) { // leggo info da promessa... - var rigaProm = DataLayer.obj.taPODL.getByKey(idxODL)[0]; + var rigaProm = DataLayerObj.taPODL.getByKey(idxODL)[0]; answ = rigaProm.TCAssegnato; } else { // leggo idxOdl da ultimo odl attivo x macchina - DS_ProdTempi.ODLRow rigaOdl = DataLayer.obj.taODL.getByIdx(idxODL, false)[0]; + DS_ProdTempi.ODLRow rigaOdl = DataLayerObj.taODL.getByIdx(idxODL, false)[0]; answ = rigaOdl.TCAssegnato; } } @@ -690,13 +694,13 @@ namespace MoonProTablet.WebUserControls // splitto VECCHIO ODL (se è rimasto qualcosa da produrre e se ce ne è rimasto uno.......) try { - idxODL = DataLayer.obj.taODL.getByMacchina(idxMacchina)[0].IdxODL; - DataLayer.obj.taODL.splitODL(idxODL, DataLayer.MatrOpr, idxMacchina, TCAssegnato(idxODL), PzPallet, string.Format("inizio attrezzaggio, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxODL, TCAssegnato(idxODL)), false); + idxODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL; + DataLayerObj.taODL.splitODL(idxODL, DataLayerObj.MatrOpr, idxMacchina, TCAssegnato(idxODL), PzPallet, string.Format("inizio attrezzaggio, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxODL, TCAssegnato(idxODL)), false); // se è multi processo ANCHE x altra tavola... if (isMulti) { - int _idxOdl = DataLayer.obj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL; - DataLayer.obj.taODL.splitODL(_idxOdl, DataLayer.MatrOpr, idxMaccAltraTav, TCAssegnato(_idxOdl), PzPallet, string.Format("inizio attrezzaggio, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", _idxOdl, TCAssegnato(_idxOdl)), false); + int _idxOdl = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL; + DataLayerObj.taODL.splitODL(_idxOdl, DataLayerObj.MatrOpr, idxMaccAltraTav, TCAssegnato(_idxOdl), PzPallet, string.Format("inizio attrezzaggio, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", _idxOdl, TCAssegnato(_idxOdl)), false); } } catch @@ -706,15 +710,15 @@ namespace MoonProTablet.WebUserControls if (enableRPO) { // creo nuovo ODL da promessa ed associo - DataLayer.obj.taODL.inizioSetupPromessa(idxODLSel, DataLayer.MatrOpr, idxMacchina, TCRichAttr, PzPallet, txtNote.Text); + DataLayerObj.taODL.inizioSetupPromessa(idxODLSel, DataLayerObj.MatrOpr, idxMacchina, TCRichAttr, PzPallet, txtNote.Text); // salvo ODL attrezzato - idxODL_curr = DataLayer.obj.taODL.getByMacchina(idxMacchina)[0].IdxODL; + idxODL_curr = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL; } // ODL classico else { // avvio NUOVO ODL - DataLayer.obj.taODL.inizioSetup(idxODLSel, DataLayer.MatrOpr, idxMacchina, TCRichAttr, PzPallet, txtNote.Text); + DataLayerObj.taODL.inizioSetup(idxODLSel, DataLayerObj.MatrOpr, idxMacchina, TCRichAttr, PzPallet, txtNote.Text); // salvo ODL Current idxODL_curr = idxODLSel; } @@ -726,7 +730,7 @@ namespace MoonProTablet.WebUserControls processaEvento(idxMacchina, idxEvento, sb.ToString(), idxODL_curr); // indico INIZIO SETUP su REDIS come EXE della macchina... string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now); - DataLayer.addTask4Machine(idxMacchina, taskType.startSetup, $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxODL_curr}"); + DataLayerObj.addTask4Machine(idxMacchina, taskType.startSetup, $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL_curr}"); // se è multi CHIUDO ODL x altra tavola... if (isMulti) { @@ -736,10 +740,10 @@ namespace MoonProTablet.WebUserControls int idxOdlAltra = 0; try { - var tabOdl = DataLayer.obj.taODL.getByMacchina(idxMaccAltraTav); + var tabOdl = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav); if (tabOdl.Rows.Count > 0) { - idxOdlAltra = DataLayer.obj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL; + idxOdlAltra = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL; } } catch (Exception exc) @@ -750,7 +754,7 @@ namespace MoonProTablet.WebUserControls if (idxOdlAltra > 0) { sb.AppendLine("---"); - DataLayer.obj.taODL.fineProd(idxOdlAltra, idxMaccAltraTav); + DataLayerObj.taODL.fineProd(idxOdlAltra, idxMaccAltraTav); evText = "Registrato inizio attrezzaggio per ODL {0} (setup seconda tavola)"; sb.AppendLine(String.Format(evText, idxOdlAltra)); processaEvento(idxMaccAltraTav, idxEvento, String.Format(evText, idxOdlAltra), idxOdlAltra); @@ -761,9 +765,9 @@ namespace MoonProTablet.WebUserControls checkAll(); } // resetto contapezzi redis... - DataLayer.saveCounter(idxMacchina, "0"); + DataLayerObj.saveCounter(idxMacchina, "0"); // imposto ODL su redis... - DataLayer.saveCurrODL(idxMacchina, idxODL_curr.ToString()); + DataLayerObj.saveCurrODL(idxMacchina, idxODL_curr.ToString()); } else { @@ -789,16 +793,16 @@ namespace MoonProTablet.WebUserControls TCRichAttr = TCAssegnato(idxODLSel); } // leggo idxOdl da ultimo odl attivo x macchina - int idxODL = DataLayer.obj.taODL.getByMacchina(idxMacchina)[0].IdxODL; + int idxODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL; int idxEvento = 1; // !!!HARD CODED // aggiorno (se necessario) note e tempo setup - DataLayer.obj.taODL.updateSetup(idxODL, DataLayer.MatrOpr, TCRichAttr, PzPallet, txtNote.Text); + DataLayerObj.taODL.updateSetup(idxODL, DataLayerObj.MatrOpr, TCRichAttr, PzPallet, txtNote.Text); // controllo se TC Assegnato != TCRichiesto allora invio email x verifiche... - DS_ProdTempi.ODLRow rigaOdl = DataLayer.obj.taODL.getByIdx(idxODL, false)[0]; + DS_ProdTempi.ODLRow rigaOdl = DataLayerObj.taODL.getByIdx(idxODL, false)[0]; if (rigaOdl.TCAssegnato != TCRichAttr) { // invio email! - DataLayer.obj.sendWarnTcChangeReq(memLayer.ML.CRS("_adminEmail")); + DataLayerObj.sendWarnTcChangeReq(memLayer.ML.CRS("_adminEmail")); } // processo chiusura setup string evText = "Registrata inizio produzione per ODL {0}"; @@ -807,13 +811,13 @@ namespace MoonProTablet.WebUserControls processaEvento(idxMacchina, idxEvento, sb.ToString(), idxODL); // indico INIZIO SETUP su REDIS come EXE della macchina... string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now); - //DataLayer.addTask4Machine(idxMacchina, "stopSetup", $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxODL}"); - DataLayer.addTask4Machine(idxMacchina, taskType.stopSetup, $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxODL}"); + //DataLayerObj.addTask4Machine(idxMacchina, "stopSetup", $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL}"); + DataLayerObj.addTask4Machine(idxMacchina, taskType.stopSetup, $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxODL}"); // se è multi processo chiusura setup x altra tavola... if (isMulti) { sb.AppendLine("---"); - int idxOdlAltra = DataLayer.obj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL; + int idxOdlAltra = DataLayerObj.taODL.getByMacchina(idxMaccAltraTav)[0].IdxODL; sb.AppendLine(String.Format(evText, idxOdlAltra)); processaEvento(idxMaccAltraTav, idxEvento, String.Format(evText, idxOdlAltra), idxOdlAltra); } @@ -837,7 +841,7 @@ namespace MoonProTablet.WebUserControls protected void lbtEndProd_Click(object sender, EventArgs e) { // leggo idxOdl da ultimo odl attivo x macchina - int idxODL = DataLayer.obj.taODL.getByMacchina(idxMacchina)[0].IdxODL; + int idxODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL; int idxEvento = 7; // !!!HARD CODED // confermo prod vecchio ODL @@ -850,7 +854,7 @@ namespace MoonProTablet.WebUserControls try { // processo x macchina selezionata - DataLayer.obj.taODL.fineProd(idxODL, idxMacchina); + DataLayerObj.taODL.fineProd(idxODL, idxMacchina); string evText = "Registrata fine produzione per ODL {0}"; StringBuilder sb = new StringBuilder(); sb.AppendLine(String.Format(evText, idxODL)); @@ -862,7 +866,7 @@ namespace MoonProTablet.WebUserControls int idxOdlAltra = 0; string _idxOdl = idxOdlAltraMacc; int.TryParse(_idxOdl, out idxOdlAltra); - DataLayer.obj.taODL.fineProd(idxOdlAltra, idxMaccAltraTav); + DataLayerObj.taODL.fineProd(idxOdlAltra, idxMaccAltraTav); sb.AppendLine(String.Format(evText, idxOdlAltra)); processaEvento(idxMaccAltraTav, idxEvento, String.Format(evText, idxOdlAltra), idxOdlAltra); } @@ -881,7 +885,7 @@ namespace MoonProTablet.WebUserControls try { // effettuo split su nuovo ODL - DataLayer.obj.taODL.splitODL(idxODL, DataLayer.MatrOpr, idxMacchina, TCAssegnato(idxODL), PzPallet, string.Format("Fine Produzione, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxODL, TCAssegnato(idxODL)), false); + DataLayerObj.taODL.splitODL(idxODL, DataLayerObj.MatrOpr, idxMacchina, TCAssegnato(idxODL), PzPallet, string.Format("Fine Produzione, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxODL, TCAssegnato(idxODL)), false); // processo chiusura setup processaEvento(idxMacchina, idxEvento, String.Format("Registrata fine produzione per ODL {0}, nuovo ODL per quantità residua", idxODL), idxODL); @@ -892,7 +896,7 @@ namespace MoonProTablet.WebUserControls string _idxOdl = idxOdlAltraMacc; int.TryParse(_idxOdl, out idxOdlAltra); // effettuo split su nuovo ODL - DataLayer.obj.taODL.splitODL(idxOdlAltra, DataLayer.MatrOpr, idxMaccAltraTav, TCAssegnato(idxOdlAltra), PzPallet, string.Format("Fine Produzione, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxOdlAltra, TCAssegnato(idxOdlAltra)), false); + DataLayerObj.taODL.splitODL(idxOdlAltra, DataLayerObj.MatrOpr, idxMaccAltraTav, TCAssegnato(idxOdlAltra), PzPallet, string.Format("Fine Produzione, Sospensione ODL {0}, generato residuo con pari TCiclo: {1}", idxOdlAltra, TCAssegnato(idxOdlAltra)), false); // processo chiusura setup processaEvento(idxMaccAltraTav, idxEvento, String.Format("Registrata fine produzione per ODL {0}, nuovo ODL per quantità residua", idxOdlAltra), idxOdlAltra); } @@ -907,7 +911,7 @@ namespace MoonProTablet.WebUserControls } } // resetto ODL su redis... - DataLayer.emptyCurrODL(idxMacchina); + DataLayerObj.emptyCurrODL(idxMacchina); // aggiorno visualizzazione checkAll(); // sollevo evento! @@ -926,15 +930,15 @@ namespace MoonProTablet.WebUserControls if (confZero) { // confermo produzione ZERO pezzi (in setup) - DataLayer.obj.confermaProdMacchina(idxMacchina, memLayer.ML.CRI("modoConfProd"), 0, 0, DateTime.Now); + DataLayerObj.confermaProdMacchina(idxMacchina, memLayer.ML.CRI("modoConfProd"), 0, 0, DateTime.Now); } else // se NON sono in setup verifico se ho pz da confermare { // recupero pz da confermare - DS_ProdTempi.stp_PzProd_getByMacchinaRow rigaProd = DataLayer.obj.taPzProd2conf.GetData(idxMacchina)[0]; + DS_ProdTempi.stp_PzProd_getByMacchinaRow rigaProd = DataLayerObj.taPzProd2conf.GetData(idxMacchina)[0]; if (rigaProd.pezziNonConfermati > 0) { - DataLayer.obj.confermaProdMacchina(idxMacchina, memLayer.ML.CRI("modoConfProd"), rigaProd.pezziNonConfermati, 0, DateTime.Now); + DataLayerObj.confermaProdMacchina(idxMacchina, memLayer.ML.CRI("modoConfProd"), rigaProd.pezziNonConfermati, 0, DateTime.Now); } } } @@ -948,7 +952,7 @@ namespace MoonProTablet.WebUserControls bool splitOdl = true; fixSplitBtn(splitOdl); // recupero current idx - int currODL = DataLayer.obj.taODL.getByMacchina(idxMacchina)[0].IdxODL; + int currODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL; updateTempoTc(currODL, true); updateNoteTC(currODL); } @@ -976,7 +980,7 @@ namespace MoonProTablet.WebUserControls protected void lbtSplitODL_Click(object sender, EventArgs e) { // chiamo stored che genera nuovo ODL, mette note e tempo, chiude vecchi e assegna nuovo... - int currODL = DataLayer.obj.taODL.getByMacchina(idxMacchina)[0].IdxODL; + int currODL = DataLayerObj.taODL.getByMacchina(idxMacchina)[0].IdxODL; int idxEvento = 1; // !!!HARD CODED // controllo se TC è valorizzato.. if (TCRichAttr == 0) @@ -988,13 +992,13 @@ namespace MoonProTablet.WebUserControls confermaProdOdl(false); // effettuo split su nuovo ODL - DataLayer.obj.taODL.splitODL(currODL, DataLayer.MatrOpr, idxMacchina, TCRichAttr, PzPallet, txtNote.Text, true); + DataLayerObj.taODL.splitODL(currODL, DataLayerObj.MatrOpr, idxMacchina, TCRichAttr, PzPallet, txtNote.Text, true); // resetto ODL su redis... - DataLayer.emptyCurrODL(idxMacchina); + DataLayerObj.emptyCurrODL(idxMacchina); // invio email! - DataLayer.obj.sendWarnTcChangeReq(memLayer.ML.CRS("_adminEmail")); + DataLayerObj.sendWarnTcChangeReq(memLayer.ML.CRS("_adminEmail")); // processo chiusura setup processaEvento(idxMacchina, idxEvento, String.Format("Registrato Riattrezzaggio ODL (old: {0})", currODL), currODL); // sistemo buttons! @@ -1059,7 +1063,7 @@ namespace MoonProTablet.WebUserControls { try { - testo = DataLayer.obj.taODL.getByIdx(idxOdl, false)[0].Note; + testo = DataLayerObj.taODL.getByIdx(idxOdl, false)[0].Note; } catch { } @@ -1079,13 +1083,13 @@ namespace MoonProTablet.WebUserControls int pzPallet = 1; if (enableRPO && !inAttr) { - var rigaProm = DataLayer.obj.taPODL.getByKey(idxOdlPodl)[0]; + var rigaProm = DataLayerObj.taPODL.getByKey(idxOdlPodl)[0]; _TCRichAttr = rigaProm.TCAssegnato; pzPallet = rigaProm.PzPallet; } else { - DS_ProdTempi.ODLRow rigaOdl = DataLayer.obj.taODL.getByIdx(idxOdlPodl, false)[0]; + DS_ProdTempi.ODLRow rigaOdl = DataLayerObj.taODL.getByIdx(idxOdlPodl, false)[0]; if (rigaOdl.TCRichAttr > 0) { _TCRichAttr = rigaOdl.TCRichAttr; @@ -1104,8 +1108,8 @@ namespace MoonProTablet.WebUserControls protected void lbtConfNewRevProd_Click(object sender, EventArgs e) { // chiamo stored x allineare revProd a revUT - string CodArticolo = DataLayer.obj.taODL.getByIdx(idxODLSel, false)[0].CodArticolo; - DataLayer.obj.taAnagArt.setNewRev(CodArticolo); + string CodArticolo = DataLayerObj.taODL.getByIdx(idxODLSel, false)[0].CodArticolo; + DataLayerObj.taAnagArt.setNewRev(CodArticolo); checkBtnStatus(); } /// @@ -1150,7 +1154,7 @@ namespace MoonProTablet.WebUserControls // se ho trovato... if (idxOdlAltra > 0) { - DataLayer.obj.taODL.dividiDaAltraTav(idxOdlAltra, DataLayer.MatrOpr, idxMacchina); + DataLayerObj.taODL.dividiDaAltraTav(idxOdlAltra, DataLayerObj.MatrOpr, idxMacchina); // messaggio utente string evText = "Registrata inizio attrezzaggio da split ODL {0} (come da altra tavola)"; StringBuilder sb = new StringBuilder(); @@ -1173,7 +1177,7 @@ namespace MoonProTablet.WebUserControls protected void lbtReopOdlSuTav_Click(object sender, EventArgs e) { // chiamo stored x riprendere ODL (toglie data chiusura...) - DS_ProdTempi.ODLDataTable tabRes = DataLayer.obj.taODL.reopenGetLast(idxMacchina); + DS_ProdTempi.ODLDataTable tabRes = DataLayerObj.taODL.reopenGetLast(idxMacchina); if (tabRes.Rows.Count > 0) { var riga = tabRes[0]; @@ -1200,8 +1204,8 @@ namespace MoonProTablet.WebUserControls protected void lbtFixEndSetup_Click(object sender, EventArgs e) { string ts = string.Format("{0:yyMMdd}T{0:HHmmss.fff}Z", DateTime.Now); - string outData = $"TS:{ts}|MATR:{DataLayer.MatrOpr}|ODL:{idxOdlMacc}"; - DataLayer.addTask4Machine(idxMacchina, taskType.fixStopSetup, outData); + string outData = $"TS:{ts}|MATR:{DataLayerObj.MatrOpr}|ODL:{idxOdlMacc}"; + DataLayerObj.addTask4Machine(idxMacchina, taskType.fixStopSetup, outData); outData = "Inserita richiesta invio Fix chiusura attrezzaggio " + outData; lblOut.Text = outData; } diff --git a/MP-TAB/WebUserControls/mod_sendParameters.ascx.cs b/MP-TAB/WebUserControls/mod_sendParameters.ascx.cs index 5c72faaf..c2271bf7 100644 --- a/MP-TAB/WebUserControls/mod_sendParameters.ascx.cs +++ b/MP-TAB/WebUserControls/mod_sendParameters.ascx.cs @@ -13,6 +13,7 @@ namespace MoonProTablet.WebUserControls { public partial class mod_sendParameters : System.Web.UI.UserControl { + DataLayer DataLayerObj = new DataLayer(); protected void Page_Load(object sender, EventArgs e) { } @@ -37,14 +38,14 @@ namespace MoonProTablet.WebUserControls /// public List GetParameters() { - List dcList = DataLayer.getCurrObjItems(idxMacchina); + List dcList = DataLayerObj.getCurrObjItems(idxMacchina); return dcList; } public void updateParameter(string Original_uid, string reqValue) { // recupero items... - List dcList = DataLayer.getCurrObjItems(idxMacchina); + List dcList = DataLayerObj.getCurrObjItems(idxMacchina); // cerco quello da aggiornare objItem trovato = dcList.Find(obj => obj.uid == Original_uid); List list2Update = new List(); @@ -55,9 +56,9 @@ namespace MoonProTablet.WebUserControls trovato.reqValue = reqValue; trovato.lastRequest = DateTime.Now; list2Update.Add(trovato); - DataLayer.upsertCurrObjItems(idxMacchina, list2Update); + DataLayerObj.upsertCurrObjItems(idxMacchina, list2Update); // accodo in task 2 exe la richiesta di processing - DataLayer.addTask4Machine(idxMacchina, taskType.setParameter, trovato.uid); + DataLayerObj.addTask4Machine(idxMacchina, taskType.setParameter, trovato.uid); } } protected void lbtReload_Click(object sender, EventArgs e) diff --git a/MapoDb/AlarmsArchive.cs b/MapoDb/AlarmsArchive.cs index d3c5ecf5..93a1dc7e 100644 --- a/MapoDb/AlarmsArchive.cs +++ b/MapoDb/AlarmsArchive.cs @@ -16,10 +16,17 @@ namespace MapoDb //string mdbConnString = "mongodb://localhost:27017"; MongoClient client; #endif + + /// /// Database corrente MongoDB /// IMongoDatabase database; + /// + /// Oggetto privato datalayer + /// + DataLayer DataLayerObj; + /// /// Classe gestione archivio allarmi /// @@ -32,7 +39,7 @@ namespace MapoDb #endif database = memLayer.ML.getMongoDatabase("MAPO"); - + DataLayerObj = new DataLayer(); } /// /// Singleton gestione istanza AlarmsManager @@ -63,7 +70,7 @@ namespace MapoDb var collAlarmEvents = database.GetCollection("AlarmEvents"); List lastFluxLog = new List(); - DS_applicazione.FluxLogDataTable tabDati = DataLayer.obj.taFL.getFiltOrd(idxMacchina, adesso.AddMinutes(-lastMinutes), adesso, true); + DS_applicazione.FluxLogDataTable tabDati = DataLayerObj.taFL.getFiltOrd(idxMacchina, adesso.AddMinutes(-lastMinutes), adesso, true); if (tabDati.Count > 0) { // chiamo procedura x conversione diff --git a/MapoDb/DataLayer.cs b/MapoDb/DataLayer.cs index 52b829c7..e8c0ae00 100644 --- a/MapoDb/DataLayer.cs +++ b/MapoDb/DataLayer.cs @@ -241,13 +241,6 @@ namespace MapoDb } } -#if false - /// - /// oggetto static per fare chiamate sul magazzino - /// - public static DataLayer obj = new DataLayer(); -#endif - #endregion #region utility interne @@ -323,7 +316,7 @@ namespace MapoDb bool answ = false; try { - DS_ProdTempi.stp_PzProd_getByMacchinaRow rigaProd = DataLayer.obj.taPzProd2conf.GetData(idxMacchina.ToString())[0]; + DS_ProdTempi.stp_PzProd_getByMacchinaRow rigaProd = taPzProd2conf.GetData(idxMacchina.ToString())[0]; // chiamo stored stp_ConfermaProduzCompleta(idxMacchina,MatrApp,dataFrom,dataTo,pezziConf) taPzProd2conf.stp_ConfermaProduzCompleta(idxMacchina, MatrOpr, rigaProd.DataFrom, DataOraApp, numPzConfermati, numPzScarto, modoConfProd, DataOraApp, true); //taPzProd2conf.stp_ConfermaProduzCompleta(idxMacchina, MatrOpr, rigaProd.DataFrom, rigaProd.DataTo, numPzConfermati, numPzScarto, modoConfProd, DateTime.Now, true); @@ -480,7 +473,7 @@ namespace MapoDb /// /// MatrOpr in sessione /// - public static int MatrOpr + public int MatrOpr { get { @@ -501,7 +494,7 @@ namespace MapoDb /// /// Cognome Nome da MatrOpr in sessione /// - public static string CognomeNomeOpr + public string CognomeNomeOpr { get { @@ -509,7 +502,7 @@ namespace MapoDb string answ = ""; try { - DS_applicazione.AnagraficaOperatoriRow oper = DataLayer.obj.taOp.getByMatrOpr(MatrOpr)[0]; + DS_applicazione.AnagraficaOperatoriRow oper = taOp.getByMatrOpr(MatrOpr)[0]; answ = string.Format("{0} {1}", oper.Cognome, oper.Nome); } catch @@ -526,7 +519,7 @@ namespace MapoDb /// /// /// - public static string processInput(string idxMacchina, string valore, string dtEve, string dtCurr, string contatore) + public string processInput(string idxMacchina, string valore, string dtEve, string dtCurr, string contatore) { string answ = ""; // 2018.10.26 controllo dtEve e dtCurr @@ -618,7 +611,7 @@ namespace MapoDb // instanzio un nuovo oggetto MapoDb MapoDb connDb = new MapoDb(); // se abilitato registro evento sul DB - if (idxMacchina != "" && DataLayer.sLogEnab(idxMacchina)) + if (idxMacchina != "" && sLogEnab(idxMacchina)) { connDb.saveSigLog(idxMacchina, valore, dataOraEvento, contatore); } @@ -628,7 +621,7 @@ namespace MapoDb // scrivo keep alive!!! (se necessario, altrimenti è in cache...) connDb.scriviKeepAlive(idxMacchina, DateTime.Now); // verifico se sia una macchina MULTI ed in tal caso calcolo i SUB-systems e CHIAMERO' alla fine pure loro.... - if (DataLayer.isMulti(idxMacchina)) + if (isMulti(idxMacchina)) { // inizio preprocessing string newVal = ""; @@ -723,7 +716,7 @@ namespace MapoDb /// /// /// - private static string preProcInput(string idxMacchina, string valore) + private string preProcInput(string idxMacchina, string valore) { string newVal = ""; try @@ -736,10 +729,10 @@ namespace MapoDb int NumBit = 0; int newValInt = 0; // recupero parametri... - int.TryParse(DataLayer.mDatiMacchinaVal(idxMacchina, "BitFilt"), out BitFilt); - int.TryParse(DataLayer.mDatiMacchinaVal(idxMacchina, "BSR"), out BSR); - Boolean.TryParse(DataLayer.mDatiMacchinaVal(idxMacchina, "ExplodeBit"), out ExplodeBit); - int.TryParse(DataLayer.mDatiMacchinaVal(idxMacchina, "NumBit"), out NumBit); // non usato (x ora) + int.TryParse(mDatiMacchinaVal(idxMacchina, "BitFilt"), out BitFilt); + int.TryParse(mDatiMacchinaVal(idxMacchina, "BSR"), out BSR); + Boolean.TryParse(mDatiMacchinaVal(idxMacchina, "ExplodeBit"), out ExplodeBit); + int.TryParse(mDatiMacchinaVal(idxMacchina, "NumBit"), out NumBit); // non usato (x ora) // recupero valore valINT = int.Parse(valore, NumberStyles.HexNumber); // filtro @@ -775,7 +768,7 @@ namespace MapoDb /// /// /// - public static string processFluxLog(string idxMacchina, string flux, string valore, string dtEve, string dtCurr, int contatore) + public string processFluxLog(string idxMacchina, string flux, string valore, string dtEve, string dtCurr, int contatore) { // instanzio un nuovo oggetto MapoDb MapoDb connDb = new MapoDb(); @@ -860,7 +853,7 @@ namespace MapoDb /// /// Dati live nel formato di lista di KVP chiave/valore1 /// - public static string processLiveJson(string idxMacchina, liveIOB liveData) + public string processLiveJson(string idxMacchina, liveIOB liveData) { if (liveData == null) { @@ -913,7 +906,7 @@ namespace MapoDb /// /// Dati live nel formato chiave1|valore1#chiave2|valore2#chiave3|valore3 /// - public static string processLiveRec(string idxMacchina, string liveData) + public string processLiveRec(string idxMacchina, string liveData) { if (liveData == null) { @@ -989,7 +982,7 @@ namespace MapoDb /// /// contapezzi /// - public static string saveCounter(string idxMacchina, string counter) + public string saveCounter(string idxMacchina, string counter) { // registro conteggio impiego chiamate REDIS if (memLayer.ML.CRB("IOB_RedEnab")) @@ -1048,7 +1041,7 @@ namespace MapoDb /// Macchina /// Pezzi da registrare /// - public static string saveCaricoPezzi(string idxMacchina, string qty) + public string saveCaricoPezzi(string idxMacchina, string qty) { // default: 0, non registrato come cautela... string answ = "0"; @@ -1085,7 +1078,7 @@ namespace MapoDb /// /// /// - public static bool setIobMemMap(string idxMacchina, plcMemMap currMemMap) + public bool setIobMemMap(string idxMacchina, plcMemMap currMemMap) { bool answ = false; // se ho un area memoria valida... @@ -1102,7 +1095,7 @@ namespace MapoDb /// /// /// - public static List getCurrObjItems(string idxMacchina) + public List getCurrObjItems(string idxMacchina) { string serVal = memLayer.ML.getRSV(currParametersHash(idxMacchina)); List actValues = new List(); @@ -1126,7 +1119,7 @@ namespace MapoDb /// /// /// - public static List getCurrObjItemsPendigWrite(string idxMacchina) + public List getCurrObjItemsPendigWrite(string idxMacchina) { string serVal = memLayer.ML.getRSV(currParametersHash(idxMacchina)); List actValues = new List(); @@ -1158,7 +1151,7 @@ namespace MapoDb /// /// /// - public static bool setCurrObjItems(string idxMacchina, List currValues) + public bool setCurrObjItems(string idxMacchina, List currValues) { bool answ = false; if (currValues != null) @@ -1174,7 +1167,7 @@ namespace MapoDb /// /// /// - public static bool upsertCurrObjItems(string idxMacchina, List innovations) + public bool upsertCurrObjItems(string idxMacchina, List innovations) { bool answ = false; if (innovations != null) @@ -1204,7 +1197,7 @@ namespace MapoDb /// /// /// - public static string emptyCurrODL(string idxMacchina) + public string emptyCurrODL(string idxMacchina) { string answ = ""; try @@ -1224,7 +1217,7 @@ namespace MapoDb /// /// cod ODL in produzione, se "" --> non c'è... /// - public static string saveCurrODL(string idxMacchina, string currODL) + public string saveCurrODL(string idxMacchina, string currODL) { if (currODL == null) { @@ -1479,7 +1472,7 @@ namespace MapoDb /// /// /// - public static Dictionary mTaskMacchina(string idxMacchina) + public Dictionary mTaskMacchina(string idxMacchina) { // hard coded dimensione vettore DatiMacchine Dictionary answ = new Dictionary(); @@ -1502,7 +1495,7 @@ namespace MapoDb /// /// /// - public static bool addTask4Machine(string idxMacchina, taskType taskKey, string taskVal) + public bool addTask4Machine(string idxMacchina, taskType taskKey, string taskVal) { bool answ = false; string currHash = exeTaskHash(idxMacchina); @@ -1524,7 +1517,7 @@ namespace MapoDb /// /// /// - public static bool remTask4Machine(string idxMacchina, taskType taskKey) + public bool remTask4Machine(string idxMacchina, taskType taskKey) { bool answ = false; string currHash = exeTaskHash(idxMacchina); @@ -1551,7 +1544,7 @@ namespace MapoDb /// /// /// - public static Dictionary mOptParMacchina(string idxMacchina) + public Dictionary mOptParMacchina(string idxMacchina) { // hard coded dimensione vettore DatiMacchine Dictionary answ = new Dictionary(); @@ -1575,7 +1568,7 @@ namespace MapoDb /// /// /// - public static bool addOptPar4Machine(string idxMacchina, string taskKey, string taskVal) + public bool addOptPar4Machine(string idxMacchina, string taskKey, string taskVal) { bool answ = false; string currHash = optParHash(idxMacchina); @@ -1596,7 +1589,7 @@ namespace MapoDb /// /// /// - public static bool remOptPar4Machine(string idxMacchina, string taskKey) + public bool remOptPar4Machine(string idxMacchina, string taskKey) { bool answ = false; string currHash = optParHash(idxMacchina); @@ -1623,7 +1616,7 @@ namespace MapoDb /// /// /// - public static string forceSplitOdl(string idxMacchina) + public string forceSplitOdl(string idxMacchina) { string answ = "KO"; // verifico NON CI SIA un veto a NUOVI split... 2 min di default... @@ -1660,7 +1653,7 @@ namespace MapoDb logger.lg.scriviLog($"Invio evento FINE ODL-SPLIT per macchina {idxMacchina}, evento {idxEvento}, articolo {currData[0].CodArticolo}", tipoLog.INFO); resCmd = MapoDbObj.scriviRigaEventoBarcode(idxMacchina, idxEvento, currData[0].CodArticolo, "ODL-START"); // chiamo refresh MSE - obj.taMSE.forceRecalc(0, idxMacchina); + taMSE.forceRecalc(0, idxMacchina); // resetto stato macchina... memLayer.ML.redDelKey(currStatoMaccHash(idxMacchina)); answ = "OK"; @@ -1685,7 +1678,7 @@ namespace MapoDb /// /// /// - public static DS_applicazione.StatoMacchineDataTable currSMTab(string idxMacchina) + public DS_applicazione.StatoMacchineDataTable currSMTab(string idxMacchina) { DS_applicazione.StatoMacchineDataTable answTab = null; string rCall = ""; @@ -1726,7 +1719,7 @@ namespace MapoDb /// Elenco stati macchina /// /// - public static DS_applicazione.AnagraficaStatiDataTable AnagraficaStati() + public DS_applicazione.AnagraficaStatiDataTable AnagraficaStati() { DS_applicazione.AnagraficaStatiDataTable answTab = null; // cerco in cache... @@ -1774,7 +1767,7 @@ namespace MapoDb /// /// /// - public static Dictionary mDatiMacchine(string idxMacchina) + public Dictionary mDatiMacchine(string idxMacchina) { // hard coded dimensione vettore DatiMacchine Dictionary answ = new Dictionary(); @@ -1800,7 +1793,7 @@ namespace MapoDb /// /// /// - public static Dictionary resetDatiMacchina(string idxMacchina) + public Dictionary resetDatiMacchina(string idxMacchina) { string currHash = dtMaccHash(idxMacchina); // inizio con un bel reset... @@ -1893,7 +1886,7 @@ namespace MapoDb /// /// /// - public static bool insEnab(string idxMacchina) + public bool insEnab(string idxMacchina) { bool answ = false; if (memLayer.ML.CRB("IOB_RedEnab")) @@ -1928,7 +1921,7 @@ namespace MapoDb /// /// /// - public static DS_ProdTempi.ODLDataTable currODLRowTab(string idxMacchina) + public DS_ProdTempi.ODLDataTable currODLRowTab(string idxMacchina) { DS_ProdTempi.ODLDataTable answTab = null; string rCall = ""; @@ -1972,7 +1965,7 @@ namespace MapoDb /// /// /// - public static string currODL(string idxMacchina) + public string currODL(string idxMacchina) { string answ = ""; string rCall = ""; @@ -2004,7 +1997,7 @@ namespace MapoDb /// /// indica se forzare lettura da db (true) o meno /// - public static string currODL(string idxMacchina, bool forceDb) + public string currODL(string idxMacchina, bool forceDb) { string answ = ""; // faccio comunque verifica se sia stato letto da poco il valore... x cui anche a fronte di richiesta lettura da DB per 3 sec tengo buono valore in cache redis... @@ -2035,7 +2028,7 @@ namespace MapoDb /// /// /// - public static bool sLogEnab(string idxMacchina) + public bool sLogEnab(string idxMacchina) { bool answ = false; if (memLayer.ML.CRB("IOB_RedEnab")) @@ -2061,7 +2054,7 @@ namespace MapoDb /// /// /// - public static int pzCounterTC(string idxMacchina) + public int pzCounterTC(string idxMacchina) { int answ = -1; if (memLayer.ML.CRB("IOB_RedEnab")) @@ -2122,7 +2115,7 @@ namespace MapoDb /// /// /// - private static bool getStatoProd(string idxMacchina, ref DS_ProdTempi.StatoProdDataTable datiProdAct, DateTime dataRif) + private bool getStatoProd(string idxMacchina, ref DS_ProdTempi.StatoProdDataTable datiProdAct, DateTime dataRif) { bool answ = false; try @@ -2161,7 +2154,7 @@ namespace MapoDb /// /// /// - public static int pzCounter(string idxMacchina) + public int pzCounter(string idxMacchina) { int answ = -1; string rCall = ""; @@ -2192,7 +2185,7 @@ namespace MapoDb /// /// /// - public static bool isMulti(string idxMacchina) + public bool isMulti(string idxMacchina) { bool answ = false; if (memLayer.ML.CRB("IOB_RedEnab")) @@ -2225,7 +2218,7 @@ namespace MapoDb /// /// /// - public static KeyValuePair[] getMSMI_DB(string idxMacchina) + public KeyValuePair[] getMSMI_DB(string idxMacchina) { DS_applicazione.MSFDDataTable tabMSMI = new DS_applicazione.MSFDDataTable(); // 2017.09.13: inserisco gestione singleton condizionale @@ -2257,7 +2250,7 @@ namespace MapoDb /// /// /// - public static KeyValuePair[] mTabMSMI(string idxMacchina) + public KeyValuePair[] mTabMSMI(string idxMacchina) { // hard coded dimensione vettore DatiMacchine KeyValuePair[] answ = new KeyValuePair[1]; @@ -2287,7 +2280,7 @@ namespace MapoDb /// /// /// - public static KeyValuePair[] resetMSMI(string idxMacchina) + public KeyValuePair[] resetMSMI(string idxMacchina) { string currHash = hMSMI(idxMacchina); DS_applicazione.MSFDDataTable tabMSMI = new DS_applicazione.MSFDDataTable(); @@ -2324,7 +2317,7 @@ namespace MapoDb /// /// /// - public static KeyValuePair[] mTabSMI(int idxFamIn) + public KeyValuePair[] mTabSMI(int idxFamIn) { // hard coded dimensione vettore DatiMacchine KeyValuePair[] answ = new KeyValuePair[1]; @@ -2354,7 +2347,7 @@ namespace MapoDb /// /// /// - public static KeyValuePair[] resetSMI(int idxFamIn) + public KeyValuePair[] resetSMI(int idxFamIn) { string currHash = hSMI(idxFamIn); DS_applicazione.TransizioneIngressiDataTable tabSMI = new DS_applicazione.TransizioneIngressiDataTable(); @@ -2396,7 +2389,7 @@ namespace MapoDb /// /// /// - public static string valoreSMI(int idxFamIn, int idxMicroStato, int valoreIn) + public string valoreSMI(int idxFamIn, int idxMicroStato, int valoreIn) { string currHash = hSMI(idxFamIn); string field = string.Format("{0}_{1}", idxMicroStato, valoreIn); @@ -2408,7 +2401,7 @@ namespace MapoDb /// /// /// - public static string mDatiMacchinaVal(string idxMacchina, string chiave) + public string mDatiMacchinaVal(string idxMacchina, string chiave) { string answ = ""; try diff --git a/MapoDb/reportExporter.cs b/MapoDb/reportExporter.cs index f49cff6a..6214469d 100644 --- a/MapoDb/reportExporter.cs +++ b/MapoDb/reportExporter.cs @@ -47,10 +47,11 @@ public class reportExporter catch { } DataTable tab = new DataTable(); + MapoDb.DataLayer DataLayerObj = new MapoDb.DataLayer(); switch (tipoReport) { case reportRichiesto.SchedaODL: - tab = (DataTable)MapoDb.DataLayer.obj.taODL.getByIdx(idxOdl, false); + tab = (DataTable)DataLayerObj.taODL.getByIdx(idxOdl, false); break; //case reportRichiesto.RichiestaIntervento: // tab = (DataTable)TA_app.obj.taInterventiMtz.getByIdx(Convert.ToInt32(idxObj)); diff --git a/MapoDb/reportPrinter.cs b/MapoDb/reportPrinter.cs index fee580ff..65d2d2ac 100644 --- a/MapoDb/reportPrinter.cs +++ b/MapoDb/reportPrinter.cs @@ -1,4 +1,5 @@ -using Microsoft.Reporting.WinForms; +using MapoDb; +using Microsoft.Reporting.WinForms; using SteamWare; using System; using System.Collections.Generic; @@ -100,6 +101,7 @@ public class reportPrinter /// tabella dati private DataTable caricaDati(reportRichiesto tipoReport, string idxObj) { + DataLayer DataLayerObj = new DataLayer(); // calcolo idxODL int idxOdl = 0; try @@ -112,7 +114,7 @@ public class reportPrinter switch (tipoReport) { case reportRichiesto.SchedaODL: - tab = (DataTable)MapoDb.DataLayer.obj.taODL.getByIdx(idxOdl, false); + tab = (DataTable)DataLayerObj.taODL.getByIdx(idxOdl, false); break; //case reportRichiesto.RichiestaIntervento: // tab = (DataTable)TA_app.obj.taInterventiMtz.getByIdx(Convert.ToInt32(idxObj)); diff --git a/MapoDb/resoconti.cs b/MapoDb/resoconti.cs index 5fb9cd5d..ff482b27 100644 --- a/MapoDb/resoconti.cs +++ b/MapoDb/resoconti.cs @@ -343,15 +343,17 @@ public class resoconti int answ = 0; try { + DataLayer DataLayerObj = new DataLayer(); if (memLayer.ML.CRB("RedEnab")) { // recupero SE IMPIEGATO REDIS i valori del Dictionary della macchina... - Dictionary datiMacc = DataLayer.mDatiMacchine(idx); + Dictionary datiMacc = DataLayerObj.mDatiMacchine(idx); answ = Convert.ToInt32(datiMacc["IdxStato"]); } if (answ == 0) { - MapoDb.DS_ProdTempi.stp_repDonati_getLastStatoDurataMacchinaRow riga = MapoDb.DataLayer.obj.taDatiStatoMacch.GetData(idx, 0)[0]; + + DS_ProdTempi.stp_repDonati_getLastStatoDurataMacchinaRow riga = DataLayerObj.taDatiStatoMacch.GetData(idx, 0)[0]; answ = riga.idxStato; } } @@ -651,7 +653,8 @@ public class resoconti else { // ciclo su tutte le macchine - var elMacchine = DataLayer.obj.taSelMacc.getAttive(); + DataLayer DataLayerObj = new DataLayer(); + var elMacchine = DataLayerObj.taSelMacc.getAttive(); foreach (var item in elMacchine) { sequenza.Add(new visjsDsGroups @@ -683,7 +686,8 @@ public class resoconti { int index = 0; // ciclo su tutte le macchine - var elMacchine = DataLayer.obj.taSelMacc.getAttive(); + DataLayer DataLayerObj = new DataLayer(); + var elMacchine = DataLayerObj.taSelMacc.getAttive(); foreach (var item in elMacchine) { sequenza.AddRange(seqSingleMachine(item.value, _intervallo, numSplit, index)); @@ -915,7 +919,8 @@ public class resoconti _serie.palletChange = false; try { - _serie.palletChange = MapoDb.DataLayer.obj.taDatiMacchine.getByIdx(idxMacchina)[0].palletChange; + DataLayer DataLayerObj = new DataLayer(); + _serie.palletChange = DataLayerObj.taDatiMacchine.getByIdx(idxMacchina)[0].palletChange; } catch { } diff --git a/MapoDb/selData.cs b/MapoDb/selData.cs index 79994657..2d1d600b 100644 --- a/MapoDb/selData.cs +++ b/MapoDb/selData.cs @@ -10,11 +10,13 @@ public class selData /// Durata standard cache info /// protected int cacheDuration = 5; + protected DataLayer DataLayerObj; /// /// classe accesso tabelle selettori /// public selData() { + DataLayerObj = new DataLayer(); } public static selData mng = new selData(); @@ -27,7 +29,7 @@ public class selData /// public DS_ProdTempi.AnagArticoliDataTable getSelAllArticoli() { - return DataLayer.obj.taAnagArt.GetData(); + return DataLayerObj.taAnagArt.GetData(); } /// /// Riga dettaglio singolo articolo @@ -62,7 +64,7 @@ public class selData // se non trovo --> DB! try { - DS_ProdTempi.AnagArticoliDataTable tab = DataLayer.obj.taAnagArt.getByCod(codArt); + DS_ProdTempi.AnagArticoliDataTable tab = DataLayerObj.taAnagArt.getByCod(codArt); if (tab.Rows.Count > 0) { answ = tab[0]; @@ -108,7 +110,7 @@ public class selData // se non trovo --> DB! try { - DS_applicazione.StatoMacchineDataTable tab = DataLayer.obj.taStatoMacchine.GetDataByIdxMacchina(idxMacc); + DS_applicazione.StatoMacchineDataTable tab = DataLayerObj.taStatoMacchine.GetDataByIdxMacchina(idxMacc); if (tab.Rows.Count > 0) { answ = tab[0];