diff --git a/GMW_data/TermClass.cs b/GMW_data/TermClass.cs
index bf00791e..809c4b16 100644
--- a/GMW_data/TermClass.cs
+++ b/GMW_data/TermClass.cs
@@ -6,419 +6,432 @@ using SteamWare;
namespace GMW_data
{
- ///
- /// classe gestione operazioni con terminalino
- ///
- public class TermClass
- {
- #region area table adapters
+ ///
+ /// classe gestione operazioni con terminalino
+ ///
+ public class TermClass
+ {
+ #region area table adapters
- // variabile di tipo table adapter
+ // variabile di tipo table adapter
#if false
- public DS_magazzinoTableAdapters.AnagMagTableAdapter taAnagMag;
- public DS_magazzinoTableAdapters.BlocchiTableAdapter taBlocchi;
- public DS_magazzinoTableAdapters.CelleTableAdapter taCelle;
- public DS_magazzinoTableAdapters.TipoCellaTableAdapter taTipoCella;
- public DS_magazzinoTableAdapters.ElencoCartelliniTableAdapter taCartellini;
- public DS_magazzinoTableAdapters.PosizioneUdcCorrenteTableAdapter taPosUdcCorr;
- public DS_magazzinoTableAdapters.PosizioneUdcStoricoTableAdapter taPosUdcStorico;
- public DS_magazzinoTableAdapters.V_MagazziniOverviewTableAdapter taMagOverw;
- public DS_magazzinoTableAdapters.V_DettMagPartTableAdapter taDettMagPart;
- public DS_magazzinoTableAdapters.v_UdcDetailTableAdapter taDettUDC;
- public DS_magazzinoTableAdapters.ElencoListePrelievoTableAdapter taElencoListePrelievo;
- public DS_magazzinoTableAdapters.ElencoCartelliniTableAdapter taElencoCartellini;
- public DS_magazzinoTableAdapters.RigheListePrelievoTableAdapter taRigheListePrelievo;
- public DS_magazzinoTableAdapters.TipoListaPrelievoTableAdapter taTipoListaPrelievo;
- public DS_magazzinoTableAdapters.V_ParticolariOverviewTableAdapter taVParticolariOverwiew;
- public DS_magazzinoTableAdapters.v_particolariEsponenteFiguraTableAdapter taPartExpFig;
+ public DS_magazzinoTableAdapters.AnagMagTableAdapter taAnagMag;
+ public DS_magazzinoTableAdapters.BlocchiTableAdapter taBlocchi;
+ public DS_magazzinoTableAdapters.CelleTableAdapter taCelle;
+ public DS_magazzinoTableAdapters.TipoCellaTableAdapter taTipoCella;
+ public DS_magazzinoTableAdapters.ElencoCartelliniTableAdapter taCartellini;
+ public DS_magazzinoTableAdapters.PosizioneUdcCorrenteTableAdapter taPosUdcCorr;
+ public DS_magazzinoTableAdapters.PosizioneUdcStoricoTableAdapter taPosUdcStorico;
+ public DS_magazzinoTableAdapters.V_MagazziniOverviewTableAdapter taMagOverw;
+ public DS_magazzinoTableAdapters.V_DettMagPartTableAdapter taDettMagPart;
+ public DS_magazzinoTableAdapters.v_UdcDetailTableAdapter taDettUDC;
+ public DS_magazzinoTableAdapters.ElencoListePrelievoTableAdapter taElencoListePrelievo;
+ public DS_magazzinoTableAdapters.ElencoCartelliniTableAdapter taElencoCartellini;
+ public DS_magazzinoTableAdapters.RigheListePrelievoTableAdapter taRigheListePrelievo;
+ public DS_magazzinoTableAdapters.TipoListaPrelievoTableAdapter taTipoListaPrelievo;
+ public DS_magazzinoTableAdapters.V_ParticolariOverviewTableAdapter taVParticolariOverwiew;
+ public DS_magazzinoTableAdapters.v_particolariEsponenteFiguraTableAdapter taPartExpFig;
#endif
- ///
- /// init dei table adapters
- ///
- protected void initTA()
- {
- // istanzio oggetto
+ ///
+ /// init dei table adapters
+ ///
+ protected void initTA()
+ {
+ // istanzio oggetto
#if false
- taAnagMag = new GMW_data.DS_magazzinoTableAdapters.AnagMagTableAdapter();
- taBlocchi = new GMW_data.DS_magazzinoTableAdapters.BlocchiTableAdapter();
- taCelle = new GMW_data.DS_magazzinoTableAdapters.CelleTableAdapter();
- taTipoCella = new GMW_data.DS_magazzinoTableAdapters.TipoCellaTableAdapter();
- taCartellini = new GMW_data.DS_magazzinoTableAdapters.ElencoCartelliniTableAdapter();
- taPosUdcCorr = new GMW_data.DS_magazzinoTableAdapters.PosizioneUdcCorrenteTableAdapter();
- taPosUdcStorico = new GMW_data.DS_magazzinoTableAdapters.PosizioneUdcStoricoTableAdapter();
- taMagOverw = new GMW_data.DS_magazzinoTableAdapters.V_MagazziniOverviewTableAdapter();
- taDettMagPart = new GMW_data.DS_magazzinoTableAdapters.V_DettMagPartTableAdapter();
- taDettUDC = new GMW_data.DS_magazzinoTableAdapters.v_UdcDetailTableAdapter();
- taElencoListePrelievo = new GMW_data.DS_magazzinoTableAdapters.ElencoListePrelievoTableAdapter();
- taElencoCartellini = new GMW_data.DS_magazzinoTableAdapters.ElencoCartelliniTableAdapter();
- taRigheListePrelievo = new GMW_data.DS_magazzinoTableAdapters.RigheListePrelievoTableAdapter();
- taTipoListaPrelievo = new GMW_data.DS_magazzinoTableAdapters.TipoListaPrelievoTableAdapter();
- taVParticolariOverwiew = new GMW_data.DS_magazzinoTableAdapters.V_ParticolariOverviewTableAdapter();
- taPartExpFig = new GMW_data.DS_magazzinoTableAdapters.v_particolariEsponenteFiguraTableAdapter();
+ taAnagMag = new GMW_data.DS_magazzinoTableAdapters.AnagMagTableAdapter();
+ taBlocchi = new GMW_data.DS_magazzinoTableAdapters.BlocchiTableAdapter();
+ taCelle = new GMW_data.DS_magazzinoTableAdapters.CelleTableAdapter();
+ taTipoCella = new GMW_data.DS_magazzinoTableAdapters.TipoCellaTableAdapter();
+ taCartellini = new GMW_data.DS_magazzinoTableAdapters.ElencoCartelliniTableAdapter();
+ taPosUdcCorr = new GMW_data.DS_magazzinoTableAdapters.PosizioneUdcCorrenteTableAdapter();
+ taPosUdcStorico = new GMW_data.DS_magazzinoTableAdapters.PosizioneUdcStoricoTableAdapter();
+ taMagOverw = new GMW_data.DS_magazzinoTableAdapters.V_MagazziniOverviewTableAdapter();
+ taDettMagPart = new GMW_data.DS_magazzinoTableAdapters.V_DettMagPartTableAdapter();
+ taDettUDC = new GMW_data.DS_magazzinoTableAdapters.v_UdcDetailTableAdapter();
+ taElencoListePrelievo = new GMW_data.DS_magazzinoTableAdapters.ElencoListePrelievoTableAdapter();
+ taElencoCartellini = new GMW_data.DS_magazzinoTableAdapters.ElencoCartelliniTableAdapter();
+ taRigheListePrelievo = new GMW_data.DS_magazzinoTableAdapters.RigheListePrelievoTableAdapter();
+ taTipoListaPrelievo = new GMW_data.DS_magazzinoTableAdapters.TipoListaPrelievoTableAdapter();
+ taVParticolariOverwiew = new GMW_data.DS_magazzinoTableAdapters.V_ParticolariOverviewTableAdapter();
+ taPartExpFig = new GMW_data.DS_magazzinoTableAdapters.v_particolariEsponenteFiguraTableAdapter();
#endif
- }
- ///
- /// effettua setup dei connection strings da web.config delal singola applicazione
- ///
- protected virtual void setupConnectionStringBase()
- {
- // connections del db
+ }
+ ///
+ /// effettua setup dei connection strings da web.config delal singola applicazione
+ ///
+ protected virtual void setupConnectionStringBase()
+ {
+ // connections del db
#if false
- taAnagMag.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taBlocchi.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taCelle.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taTipoCella.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taCartellini.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taPosUdcCorr.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taPosUdcStorico.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taMagOverw.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taDettMagPart.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taDettUDC.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taElencoListePrelievo.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taElencoCartellini.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taRigheListePrelievo.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taTipoListaPrelievo.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taVParticolariOverwiew.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
- taPartExpFig.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taAnagMag.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taBlocchi.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taCelle.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taTipoCella.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taCartellini.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taPosUdcCorr.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taPosUdcStorico.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taMagOverw.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taDettMagPart.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taDettUDC.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taElencoListePrelievo.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taElencoCartellini.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taRigheListePrelievo.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taTipoListaPrelievo.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taVParticolariOverwiew.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
+ taPartExpFig.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString");
#endif
- }
+ }
- #endregion
+ #endregion
- #region Inizializzazione
+ #region Inizializzazione
- protected TermClass()
- {
- initTA();
- setupConnectionStringBase();
- }
+ protected TermClass()
+ {
+ // init oggetto
+ initTA();
+ setupConnectionStringBase();
+ }
- ///
- /// oggetto static per fare chiamate sul magazzino
- ///
- public static TermClass Ter = new TermClass();
+ ///
+ /// oggetto static per fare chiamate sul magazzino
+ ///
+ public static TermClass Ter = new TermClass();
- #endregion
+ #endregion
- #region metodi protected
+ #region metodi protected
#if false
- ///
- /// aggiunge le righe liste di prelievo necessarie a soddisfare la richiesta in logica FIFO dato un elenco di cartellini, la qta totale da allocare e la lista attuale
- ///
- ///
- ///
- ///
- private void allocaRigheListaPrelievo(decimal QtaTot, string codListaAttuale, DS_magazzino.ElencoCartelliniDataTable tabellaElencoCartellini)
- {
- //ricavo il valore UDC della riga del più vecchio
- string udcAttuale;
- bool qtaOk = false;
- bool dataFinished = false;
- int progrUdc = 0;
- int numUdcDisponibili = tabellaElencoCartellini.Rows.Count;
- // contiene la quantità della riga attuale
- decimal qtaRiga;
- // somma progressiva della qta allocata - calcolo da db!
- decimal qtaAllocata = taElencoListePrelievo.getByCodLista(codListaAttuale)[0].Prelevato;
- //ciclo WHILE per lo riempimento FIFO con UDC secondo richiesta a partire da elenco fornito
- while (!qtaOk && !dataFinished)
- {
- /*
- * crea una riga in righelistaprelievo passando come valori
- * il codlista attuale ricavato da sopr
- * l'UDC dal primo della tabella getOlderUDC
- *
- *
- * recupero quantità dalla riga corrente;
- *
- * imposto proposto a 1;
- * imposto prelevato 0;
- * taRighelistePreliveo.Insert;
- *
- * qtaAllocata = qtaAllocata + Qta di questa riga (riuso il valore della colonna QTA
- * tabella[contatore]; contatore++;
- * qtaOk = (qtaAllocata >= qtaRichiesta)
- * dataFinished = (contatore >= numRighe);
- *
- * */
- // ricavo la riga più vecchia
- qtaRiga = tabellaElencoCartellini[progrUdc].Qta;
- udcAttuale = tabellaElencoCartellini[progrUdc].UDC;
- // eseguo query di insert
- taRigheListePrelievo.Insert(codListaAttuale, udcAttuale, qtaRiga, true, false);
+ ///
+ /// aggiunge le righe liste di prelievo necessarie a soddisfare la richiesta in logica FIFO dato un elenco di cartellini, la qta totale da allocare e la lista attuale
+ ///
+ ///
+ ///
+ ///
+ private void allocaRigheListaPrelievo(decimal QtaTot, string codListaAttuale, DS_magazzino.ElencoCartelliniDataTable tabellaElencoCartellini)
+ {
+ //ricavo il valore UDC della riga del più vecchio
+ string udcAttuale;
+ bool qtaOk = false;
+ bool dataFinished = false;
+ int progrUdc = 0;
+ int numUdcDisponibili = tabellaElencoCartellini.Rows.Count;
+ // contiene la quantità della riga attuale
+ decimal qtaRiga;
+ // somma progressiva della qta allocata - calcolo da db!
+ decimal qtaAllocata = taElencoListePrelievo.getByCodLista(codListaAttuale)[0].Prelevato;
+ //ciclo WHILE per lo riempimento FIFO con UDC secondo richiesta a partire da elenco fornito
+ while (!qtaOk && !dataFinished)
+ {
+ /*
+ * crea una riga in righelistaprelievo passando come valori
+ * il codlista attuale ricavato da sopr
+ * l'UDC dal primo della tabella getOlderUDC
+ *
+ *
+ * recupero quantità dalla riga corrente;
+ *
+ * imposto proposto a 1;
+ * imposto prelevato 0;
+ * taRighelistePreliveo.Insert;
+ *
+ * qtaAllocata = qtaAllocata + Qta di questa riga (riuso il valore della colonna QTA
+ * tabella[contatore]; contatore++;
+ * qtaOk = (qtaAllocata >= qtaRichiesta)
+ * dataFinished = (contatore >= numRighe);
+ *
+ * */
+ // ricavo la riga più vecchia
+ qtaRiga = tabellaElencoCartellini[progrUdc].Qta;
+ udcAttuale = tabellaElencoCartellini[progrUdc].UDC;
+ // eseguo query di insert
+ taRigheListePrelievo.Insert(codListaAttuale, udcAttuale, qtaRiga, true, false);
- //incremento qta allocata
- qtaAllocata = (qtaAllocata + qtaRiga);
- //incremento contatore
- progrUdc++;
+ //incremento qta allocata
+ qtaAllocata = (qtaAllocata + qtaRiga);
+ //incremento contatore
+ progrUdc++;
- // verifico le condizioni, false se non cambia nulla true se cambia e si esce dal while
- qtaOk = (qtaAllocata >= QtaTot);
- dataFinished = (progrUdc >= numUdcDisponibili);
- }
- }
+ // verifico le condizioni, false se non cambia nulla true se cambia e si esce dal while
+ qtaOk = (qtaAllocata >= QtaTot);
+ dataFinished = (progrUdc >= numUdcDisponibili);
+ }
+ }
#endif
- #endregion
+ #endregion
- #region Metodi esposti
+ #region Metodi esposti
- ///
- /// Verifica il login utente andando a controllare il CodSoggetto da RilPro e salvando in sessione un oggetto user_std x l'utente corrispondente al cod soggetto secondo la tab soggetti2utente
- ///
- ///
- /// tipo di errore codificato
- public esitoLoginTerm doUserLogin(string CodSoggetto)
- {
- esitoLoginTerm answ = esitoLoginTerm.errore;
- try
- {
- // verifico che il cod operatore passato sia valido per RilPro.AnagOperatori e Soggetti2Utente
- int trovatiAnagOp = DataProxy.obj.taAnagOperatore.getByCodSoggetto(CodSoggetto).Rows.Count;
- int trovatiS2U = DataProxy.obj.taSogg2Oper.getByCodSoggetto(CodSoggetto).Rows.Count;
- if (trovatiAnagOp == 1)
- {
- if (trovatiS2U == 1)
- {
- // è ok, proseguo facendo avvio user
- DS_Applicazione.Soggetti2UtenteRow rigaOp = DataProxy.obj.taSogg2Oper.getByCodSoggetto(CodSoggetto)[0];
- // inizializzo utente con dati operatore
- user_std _utente = new user_std();
- user_std.UtSn.isForcedUser = true;
- bool fatto = _utente.startUpUtente(rigaOp.DOMINIO, rigaOp.USER_NAME);
- if (fatto)
- {
- answ = esitoLoginTerm.ok;
- logger.lg.scriviLog(String.Format("Forced user identity ok: logged as \t {0}\\{1}", user_std.UtSn.dominio, user_std.UtSn.utente), tipoLog.STARTUP);
- }
- }
- else
- {
- logger.lg.scriviLog(string.Format("Attenzione: trovati {0} utenti in RilPro AnagOperatori e {1} utenti in Soggetti2Utente per il CodSoggetto {2}: login impossibile!", trovatiAnagOp, trovatiS2U, CodSoggetto), tipoLog.ERROR);
- answ = esitoLoginTerm.errore_noUser;
- }
- }
- else
- {
- logger.lg.scriviLog(string.Format("Attenzione: trovati {0} utenti in RilPro AnagOperatori e {1} utenti in Soggetti2Utente per il CodSoggetto {2}: login impossibile!", trovatiAnagOp, trovatiS2U, CodSoggetto), tipoLog.ERROR);
- answ = esitoLoginTerm.errore_noCodSogg;
- }
- }
- catch (Exception e)
- {
- logger.lg.scriviLog(string.Format("Errore in TermClass.doUserLogin per il CodSoggetto {0}: eccezione {1}", CodSoggetto, e), tipoLog.FATAL);
- }
- return answ;
- }
- ///
- /// verifica se il codice barcode letto sia un particoalre con codice tipo "P"
- ///
- ///
- ///
- public bool isParticolare(string barcodeIN)
- {
- bool answ = false;
- try
- {
- answ = utils.obj.taSelParticolari.getByConditioValue(barcodeIN, "P").Rows.Count == 1;
- }
- catch
- { }
- return answ;
- }
- ///
- /// verifica se il codice barcode letto sia un anima
- ///
- ///
- ///
- public bool isAnima(string valore)
- {
- bool answ = false;
- try
- {
- answ = utils.obj.taSelParticolari.getByConditioValue(valore, "A").Rows.Count == 1;
- }
- catch
- { }
- return answ;
- }
- ///
- /// verifica se il codice barcode letto sia
- /// - FinitoLiquidi
- /// - NON consumato ( maggiore di 0 )
- /// - NON spedito ( minore di 200 )
- ///
- /// UDC da verificare
- ///
- public bool isFinitoLiquidiOK(string UDC)
- {
- bool answ = false;
- try
- {
- answ = DataProxy.obj.taCartellini.getByUdcStatoPosiz(UDC, "FinLiq", 1, 199).Rows.Count == 1;
- }
- catch
- { }
- return answ;
- }
- ///
- /// verifica il codice barcode letto e restituisce il tipo di valore corrisponente
- ///
- ///
- ///
- public tipoCodiceBarcode riconosciBarcode(string barcodeIN)
- {
- tipoCodiceBarcode answ = tipoCodiceBarcode.ND;
- if (barcodeIN != "")
- {
- // cerco se sia un particolare...
- if (utils.obj.taSelParticolari.getByConditioValue(barcodeIN, "*").Rows.Count == 1)
- {
- answ = tipoCodiceBarcode.Particolare;
- }
- // se non lo è continuo
- if (answ == tipoCodiceBarcode.ND)
- {
- switch (barcodeIN.Substring(0, 1))
- {
- case "O":
- answ = tipoCodiceBarcode.Operatore;
- break;
- case "K":
- answ = tipoCodiceBarcode.ListaPrelievo;
- break;
- //case "P":
- //case "A":
- // answ = tipoCodiceBarcode.Particolare;
- // break;
- case "U":
- answ = tipoCodiceBarcode.UDC;
- break;
- case "S":
- answ = tipoCodiceBarcode.Cella;
- break;
- default:
- // cerco se la stringa intera abbia un match con le celle...
- if (MagClass.magazzino.taCelle.getByCodCella(barcodeIN).Rows.Count == 1)
- {
- answ = tipoCodiceBarcode.Cella;
- }
- break;
- }
- }
- }
- return answ;
- }
- ///
- /// effettua il reset di tutti i valori in sesisone salvati a valle della scansione di un barcode
- ///
- /// true/false se resettare UDC selezionato
- /// true/false se resettare Cella selezionata
- /// true/false se resettare Particolare selezionato
- public void resetScanBarcode(bool resetUdc, bool resetCella, bool resetParticolare)
- {
- if (resetCella)
- {
- memLayer.ML.emptySessionVal("IdxCella_sel");
- memLayer.ML.emptySessionVal("codCella_sel");
- }
- if (resetParticolare)
- {
- memLayer.ML.emptySessionVal("Particolare_sel");
- }
- if (resetUdc)
- {
- memLayer.ML.emptySessionVal("UDC_sel");
- }
- }
+ ///
+ /// Verifica il login utente andando a controllare il CodSoggetto da RilPro e salvando in sessione un oggetto user_std x l'utente corrispondente al cod soggetto secondo la tab soggetti2utente
+ ///
+ ///
+ /// tipo di errore codificato
+ public esitoLoginTerm doUserLogin(string CodSoggetto)
+ {
+ esitoLoginTerm answ = esitoLoginTerm.errore;
+ try
+ {
+ // verifico che il cod operatore passato sia valido per RilPro.AnagOperatori e Soggetti2Utente
+ int trovatiAnagOp = DataProxy.obj.taAnagOperatore.getByCodSoggetto(CodSoggetto).Rows.Count;
+ int trovatiS2U = DataProxy.obj.taSogg2Oper.getByCodSoggetto(CodSoggetto).Rows.Count;
+ if (trovatiAnagOp == 1)
+ {
+ if (trovatiS2U == 1)
+ {
+ // è ok, proseguo facendo avvio user
+ DS_Applicazione.Soggetti2UtenteRow rigaOp = DataProxy.obj.taSogg2Oper.getByCodSoggetto(CodSoggetto)[0];
+ // inizializzo utente con dati operatore
+ user_std _utente = new user_std();
+ user_std.UtSn.isForcedUser = true;
+ bool fatto = _utente.startUpUtente(rigaOp.DOMINIO, rigaOp.USER_NAME);
+ if (fatto)
+ {
+ answ = esitoLoginTerm.ok;
+ logger.lg.scriviLog(String.Format("Forced user identity ok: logged as \t {0}\\{1}", user_std.UtSn.dominio, user_std.UtSn.utente), tipoLog.STARTUP);
+ }
+ }
+ else
+ {
+ logger.lg.scriviLog(string.Format("Attenzione: trovati {0} utenti in RilPro AnagOperatori e {1} utenti in Soggetti2Utente per il CodSoggetto {2}: login impossibile!", trovatiAnagOp, trovatiS2U, CodSoggetto), tipoLog.ERROR);
+ answ = esitoLoginTerm.errore_noUser;
+ }
+ }
+ else
+ {
+ logger.lg.scriviLog(string.Format("Attenzione: trovati {0} utenti in RilPro AnagOperatori e {1} utenti in Soggetti2Utente per il CodSoggetto {2}: login impossibile!", trovatiAnagOp, trovatiS2U, CodSoggetto), tipoLog.ERROR);
+ answ = esitoLoginTerm.errore_noCodSogg;
+ }
+ }
+ catch (Exception e)
+ {
+ logger.lg.scriviLog(string.Format("Errore in TermClass.doUserLogin per il CodSoggetto {0}: eccezione {1}", CodSoggetto, e), tipoLog.FATAL);
+ }
+ return answ;
+ }
+ ///
+ /// verifica se il codice barcode letto sia un particoalre con codice tipo "P"
+ ///
+ ///
+ ///
+ public bool isParticolare(string barcodeIN)
+ {
+ bool answ = false;
+ try
+ {
+ answ = utils.obj.taSelParticolari.getByConditioValue(barcodeIN, "P").Rows.Count == 1;
+ }
+ catch
+ { }
+ return answ;
+ }
+ ///
+ /// verifica se il codice barcode letto sia un anima
+ ///
+ ///
+ ///
+ public bool isAnima(string valore)
+ {
+ bool answ = false;
+ try
+ {
+ answ = utils.obj.taSelParticolari.getByConditioValue(valore, "A").Rows.Count == 1;
+ }
+ catch
+ { }
+ return answ;
+ }
+ ///
+ /// verifica se il codice barcode letto sia
+ /// - FinitoLiquidi
+ /// - NON consumato ( maggiore di 0 )
+ /// - NON spedito ( minore di 200 )
+ ///
+ /// UDC da verificare
+ ///
+ public bool isFinitoLiquidiOK(string UDC)
+ {
+ bool answ = false;
+ try
+ {
+ answ = DataProxy.obj.taCartellini.getByUdcStatoPosiz(UDC, "FinLiq", 1, 199).Rows.Count == 1;
+ }
+ catch
+ { }
+ return answ;
+ }
+ ///
+ /// verifica il codice barcode letto e restituisce il tipo di valore corrisponente
+ ///
+ ///
+ ///
+ public tipoCodiceBarcode riconosciBarcode(string barcodeIN)
+ {
+ tipoCodiceBarcode answ = tipoCodiceBarcode.ND;
+ if (barcodeIN != "")
+ {
+ // controllo se in sessione ci sia la stessa verifica e nel caso NON la rifaccio su DB...
+ if (memLayer.ML.StringCacheObj("lastBarcodeIN") == barcodeIN)
+ {
+ answ = (tipoCodiceBarcode)memLayer.ML.objCacheObj("lastBarcodeType");
+ }
+ else
+ {
+ // salvo richiesta barcode in cache..
+ memLayer.ML.setCacheVal("lastBarcodeIN", barcodeIN);
+ // cerco se sia un particolare...
+ if (utils.obj.taSelParticolari.getByConditioValue(barcodeIN, "*").Rows.Count == 1)
+ {
+ answ = tipoCodiceBarcode.Particolare;
+ }
+ // se non lo è continuo
+ if (answ == tipoCodiceBarcode.ND)
+ {
+ switch (barcodeIN.Substring(0, 1))
+ {
+ case "O":
+ answ = tipoCodiceBarcode.Operatore;
+ break;
+ case "K":
+ answ = tipoCodiceBarcode.ListaPrelievo;
+ break;
+ //case "P":
+ //case "A":
+ // answ = tipoCodiceBarcode.Particolare;
+ // break;
+ case "U":
+ answ = tipoCodiceBarcode.UDC;
+ break;
+ case "S":
+ answ = tipoCodiceBarcode.Cella;
+ break;
+ default:
+ // cerco se la stringa intera abbia un match con le celle...
+ if (MagClass.magazzino.taCelle.getByCodCella(barcodeIN).Rows.Count == 1)
+ {
+ answ = tipoCodiceBarcode.Cella;
+ }
+ break;
+ }
+ }
+ // salvo in cache decodifica
+ memLayer.ML.setCacheVal("lastBarcodeType", answ);
+ }
+ }
+ return answ;
+ }
+ ///
+ /// effettua il reset di tutti i valori in sessione salvati a valle della scansione di un barcode
+ ///
+ /// true/false se resettare UDC selezionato
+ /// true/false se resettare Cella selezionata
+ /// true/false se resettare Particolare selezionato
+ public void resetScanBarcode(bool resetUdc, bool resetCella, bool resetParticolare)
+ {
+ if (resetUdc)
+ {
+ memLayer.ML.emptySessionVal("UDC_sel");
+ }
+ if (resetCella)
+ {
+ memLayer.ML.emptySessionVal("IdxCella_sel");
+ memLayer.ML.emptySessionVal("codCella_sel");
+ }
+ if (resetParticolare)
+ {
+ memLayer.ML.emptySessionVal("Particolare_sel");
+ }
+ }
- #endregion
- }
+ #endregion
+ }
}
///
/// definisce i tipi di codice che il barcode può leggere
///
public enum tipoCodiceBarcode
{
- ///
- /// Tipo non riconosciuto
- ///
- ND,
- ///
- /// [O] - il barcode rappresenta un codice operatore
- ///
- Operatore,
- ///
- /// [K] - il barcode rappresenta una lista di prelievo
- ///
- ListaPrelievo,
- ///
- /// [U] - il barcode rappresenta un UDC
- ///
- UDC,
- ///
- /// il barcode rappresenta un particolare
- ///
- Particolare,
- ///
- /// Cella [S]
- ///
- Cella,
- ///
- /// codice gitterbox
- ///
- Gitterbox,
- ///
- /// Codice PartNumber come sottoinsieme (iniziale ) di datamatrix BMW
- ///
- PartNumber,
- ///
- /// Codice datamatrix
- ///
- DataMatrix,
- ///
- /// codice che indica un comando (prefisso da web.config)
- ///
- Comando,
- ///
- /// Assieme Logico
- ///
- AL,
- ///
- /// Trattamento Termico
- ///
- TT,
- ///
- /// Codice di imballo
- ///
- Imballo,
- ///
- /// Marcatore DataOra
- ///
- DateTime
+ ///
+ /// Tipo non riconosciuto
+ ///
+ ND,
+ ///
+ /// [O] - il barcode rappresenta un codice operatore
+ ///
+ Operatore,
+ ///
+ /// [K] - il barcode rappresenta una lista di prelievo
+ ///
+ ListaPrelievo,
+ ///
+ /// [U] - il barcode rappresenta un UDC
+ ///
+ UDC,
+ ///
+ /// il barcode rappresenta un particolare
+ ///
+ Particolare,
+ ///
+ /// Cella [S]
+ ///
+ Cella,
+ ///
+ /// codice gitterbox
+ ///
+ Gitterbox,
+ ///
+ /// Codice PartNumber come sottoinsieme (iniziale ) di datamatrix BMW
+ ///
+ PartNumber,
+ ///
+ /// Codice datamatrix
+ ///
+ DataMatrix,
+ ///
+ /// codice che indica un comando (prefisso da web.config)
+ ///
+ Comando,
+ ///
+ /// Assieme Logico
+ ///
+ AL,
+ ///
+ /// Trattamento Termico
+ ///
+ TT,
+ ///
+ /// Codice di imballo
+ ///
+ Imballo,
+ ///
+ /// Marcatore DataOra
+ ///
+ DateTime
}
///
/// elenco degli esiti per una sessione di login da terminalino
///
public enum esitoLoginTerm
{
- ///
- /// tutto ok, come true
- ///
- ok,
- ///
- /// non è andata, errore generico
- ///
- errore,
- ///
- /// errore x mancanza record in tab operatori di RilPro x CodSoggetto
- ///
- errore_noCodSogg,
- ///
- /// errore mancanza username corrisponende all'operatore il cui cod soggetto è stato passato
- ///
- errore_noUser
+ ///
+ /// tutto ok, come true
+ ///
+ ok,
+ ///
+ /// non è andata, errore generico
+ ///
+ errore,
+ ///
+ /// errore x mancanza record in tab operatori di RilPro x CodSoggetto
+ ///
+ errore_noCodSogg,
+ ///
+ /// errore mancanza username corrisponende all'operatore il cui cod soggetto è stato passato
+ ///
+ errore_noUser
}
\ No newline at end of file