/// <summary> /// Selezione del codice IPA Amministrazione tramite l'id /// </summary> /// <param name="theUO"></param> /// <returns></returns> private string getCodiceAmmIPA(DocsPaVO.amministrazione.OrgUO theUO) { string codiceAmmIPA = string.Empty; try { logger.Debug("START getCodiceAmmIPA"); DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("SELECT_VAR_CODICE_AMM_IPA"); q.setParam("param1", theUO.IDAmministrazione); string queryString = q.getSQL(); logger.Debug("Query per il recupero del codice Amministrazione IPA: " + queryString); // Esegue un comando sul database ritornando il primo campo del primo record. bool ret = this.ExecuteScalar(out codiceAmmIPA, queryString); if (!ret) { logger.Debug("Errore nel recupero del codice Amministrazione IPA"); } else { logger.Debug("Recupero del codice Amministrazione IPA avvenuto con successo"); } } catch (Exception e) { logger.DebugFormat("Error: Message: {0}, StackTrace: {1}", e.Message, e.StackTrace); } return(codiceAmmIPA); }
//---TO DO - DA FINIRE!!!!! public DocsPaVO.utente.Amministrazione EliminaUoSysExternal(DocsPaVO.amministrazione.OrgUO theUO, out bool result) { DocsPaVO.utente.Amministrazione amm = new DocsPaVO.utente.Amministrazione(); result = false; string codiceAmmIPA = string.Empty; string codiceAooIPA = string.Empty; if (WR != null) { //Start JOB //Query per il recupero delle informazioni che mi servono da passare al servizio web. codiceAmmIPA = getCodiceAmmIPA(theUO); codiceAooIPA = getCodiceAooIPA(theUO); //Devo recuperare anche le informazioni dell'amministrazione da PITRE amm = getInfoAmministrazione(theUO.IDAmministrazione); amm = WR.AmmEliminaUoSysExternal(theUO, codiceAmmIPA, codiceAooIPA, amm, out result); } else { logger.Debug("webReference is null"); } return(amm); }
/// <summary> /// Selezione del codice_classificazione nella DPA_EL_REGISTRI /// </summary> /// <param name="theUO"></param> /// <returns></returns> private string getCodiceClassificazione(DocsPaVO.amministrazione.OrgUO theUO) { string codiceClassificazione = string.Empty; try { logger.Debug("START getCodiceClassificazione"); DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("SELECT_CODICE_CLASSIFICAZIONE_DPA_EL_REGISTRI"); q.setParam("param1", theUO.IDAmministrazione); q.setParam("param2", theUO.CodiceRegistroInterop); string queryString = q.getSQL(); logger.Debug("Query per il recupero del codice classificazione: " + queryString); // Esegue un comando sul database ritornando il primo campo del primo record. bool ret = this.ExecuteScalar(out codiceClassificazione, queryString); if (!ret) { logger.Debug("Errore nel recupero del codice classificazione"); } else { logger.Debug("Recupero del codice classificazione avvenuto con successo"); } } catch (Exception e) { logger.DebugFormat("Error: Message: {0}, StackTrace: {1}", e.Message, e.StackTrace); } return(codiceClassificazione); }
/// <summary> /// Selezione del SystemID nella DPA_TIPO_ATTO /// </summary> /// <param name="theUO"></param> /// <returns></returns> private string getIsFatturazione(DocsPaVO.amministrazione.OrgUO theUO) { string isFatturazione = string.Empty; try { logger.Debug("START getIsFatturazione"); DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("SELECT_SYSTEM_ID_DPA_TIPO_ATTO"); q.setParam("param1", theUO.IDAmministrazione); string queryString = q.getSQL(); logger.Debug("Query per il recupero del SystemID: " + queryString); // Esegue un comando sul database ritornando il primo campo del primo record. bool ret = this.ExecuteScalar(out isFatturazione, queryString); if (!ret) { logger.Debug("Errore nel recupero del SystemID"); } else { logger.Debug("Recupero del SystemID avvenuto con successo"); } } catch (Exception e) { logger.DebugFormat("Error: Message: {0}, StackTrace: {1}", e.Message, e.StackTrace); } return(isFatturazione); }
/// <summary> /// Imposta livelli delle UO nella funzionalità "spostamento UO" /// </summary> /// <param name="uoDaSpostare"></param> /// <param name="uoPadre"></param> /// <returns></returns> public static DocsPaVO.amministrazione.EsitoOperazione ImpostaLivelloUO(DocsPaVO.amministrazione.OrgUO uoDaSpostare, DocsPaVO.amministrazione.OrgUO uoPadre) { string segno = string.Empty; int delta = 0; int rowsAffected; string commandText = string.Empty; DocsPaUtils.Query queryDef = null; DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider(); DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione(); int livelloUoDaSpostare = Convert.ToInt16(uoDaSpostare.Livello); int livelloDaAcquisire = Convert.ToInt16(uoPadre.Livello) + 1; if (!livelloUoDaSpostare.Equals(livelloDaAcquisire)) { // spostamento verso l'alto if (livelloUoDaSpostare < livelloDaAcquisire) { segno = "+"; delta = livelloDaAcquisire - livelloUoDaSpostare; } // spostamento verso il basso if (livelloUoDaSpostare > livelloDaAcquisire) { segno = "-"; delta = livelloUoDaSpostare - livelloDaAcquisire; } // aggiorna livello UO da spostare queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("U_DPACorrGlobali"); queryDef.setParam("param1", "NUM_LIVELLO = " + Convert.ToString((Convert.ToInt16(uoPadre.Livello) + 1))); queryDef.setParam("param2", "SYSTEM_ID = " + uoDaSpostare.IDCorrGlobale); commandText = queryDef.getSQL(); logger.Debug(commandText); dbProvider.ExecuteNonQuery(commandText, out rowsAffected); if (rowsAffected == 0) { esito.Codice = 2; esito.Descrizione = "fallito aggiornamento della tabella dei corrispondenti"; } else { //re-imposta tutti i livelli delle UO figlie alla UO da spostare if (delta > 0) { esito = ImpostaLivelloSottoUO(uoDaSpostare, segno, delta); } } } return(esito); }
public static DocsPaVO.amministrazione.EsitoOperazione ImpostaLivelloSottoUO(DocsPaVO.amministrazione.OrgUO currentUO, string segno, int delta) { int rowsAffected; string commandText = string.Empty; string condizioneLivello = string.Empty; DocsPaUtils.Query queryDef = null; DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider(); DocsPaDB.DBProvider dbProvider2 = new DocsPaDB.DBProvider(); System.Data.IDataReader reader = null; DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione(); DocsPaVO.amministrazione.OrgUO sottoUO = null; // prende tutte le sotto UO queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("S_CORR_GLOB_GENERIC"); queryDef.setParam("param1", "SYSTEM_ID, NUM_LIVELLO"); queryDef.setParam("param2", "ID_PARENT = " + currentUO.IDCorrGlobale); commandText = queryDef.getSQL(); logger.Debug(commandText); reader = dbProvider.ExecuteReader(commandText); while (reader.Read()) { sottoUO = new DocsPaVO.amministrazione.OrgUO(); sottoUO.IDCorrGlobale = reader.GetValue(reader.GetOrdinal("SYSTEM_ID")).ToString(); sottoUO.Livello = reader.GetValue(reader.GetOrdinal("NUM_LIVELLO")).ToString(); condizioneLivello = segno + Convert.ToString(delta); // aggiorna livello sotto UO queryDef = DocsPaUtils.InitQuery.getInstance().getQuery("U_DPACorrGlobali"); queryDef.setParam("param1", "NUM_LIVELLO = NUM_LIVELLO " + condizioneLivello); queryDef.setParam("param2", "SYSTEM_ID = " + sottoUO.IDCorrGlobale); commandText = queryDef.getSQL(); logger.Debug(commandText); dbProvider2.ExecuteNonQuery(commandText, out rowsAffected); if (rowsAffected == 0) { esito.Codice = 3; esito.Descrizione = "fallito aggiornamento del livello della UO con ID: " + sottoUO.IDCorrGlobale; break; } else { esito = ImpostaLivelloSottoUO(sottoUO, segno, delta); } } return(esito); }
/// <summary> /// Non Utilizzabile - Siamo nel servizio esterno che punta ad un altro DB. /// </summary> /// <param name="system_id"></param> /// <returns></returns> //private DocsPaVO.utente.Amministrazione _getInfoAmministrazione(string system_id) //{ // DocsPaVO.utente.Amministrazione ammin = new DocsPaVO.utente.Amministrazione(); // DocsPaDB.DBProvider dbp = new DocsPaDB.DBProvider(); // DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("S_GET_INFO_AMMINISTRAZIONE_BY_ID"); // q.setParam("param1", system_id); // logger.Debug(q.getSQL()); // string commandText = q.getSQL(); // DataSet ds = new DataSet(); // try // { // if (dbp.ExecuteQuery(out ds, "mail", commandText)) // { // if (ds.Tables["mail"].Rows.Count >= 1) // { // ammin.codice = ds.Tables[0].Rows[0]["VAR_CODICE_AMM"].ToString(); // ammin.descrizione = ds.Tables[0].Rows[0]["VAR_DESC_AMM"].ToString(); // ammin.email = ds.Tables[0].Rows[0]["VAR_EMAIL_RES_IPA"].ToString(); // } // } // } // catch (Exception e) // { // logger.Debug("Errore nella ricerca delle informazioni dell'amministrazione ", e); // return null; // } // return ammin; //} /// <summary> /// Metodo interno per l'eliminazione della entry nella DPA_DATI_FATT /// </summary> /// <param name="theUO"></param> /// <param name="result"></param> /// <returns></returns> private DocsPaVO.utente.Amministrazione _AmmEliminaUoSysExternal(DocsPaVO.amministrazione.OrgUO theUO, string codiceAmmIPA, string codiceAooIPA, DocsPaVO.utente.Amministrazione amm, out bool result) { int affectedRows = 0; DocsPaDB.DBProvider dbp = new DocsPaDB.DBProvider(); DocsPaVO.utente.Amministrazione ammin = new DocsPaVO.utente.Amministrazione(); DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("DELETE_UO_SYSEXTERNAL"); q.setParam("param1", "'" + theUO.Codice + "'"); q.setParam("param2", "'" + codiceAmmIPA + "'"); q.setParam("param3", "'" + codiceAooIPA + "'"); logger.Debug(q.getSQL()); string queryString = q.getSQL(); try { dbp.ExecuteNonQuery(queryString, out affectedRows); } catch (Exception e) { logger.Debug("Errore nell'eliminazione della UO in DPA_DATI_FATTURAZIONE ", e); result = false; ammin = null; return(ammin); } if (affectedRows > 0) { result = true; ammin = amm; } else { result = false; ammin = null; } return(ammin); }
public DocsPaVO.utente.Amministrazione AmmModificaUoSysExternal(string oldCodiceUO, DocsPaVO.amministrazione.OrgUO theUO, string codiceAmmIPA, string codiceAooIPA, string isFatturazione, string codiceUAC, string codiceClassificazione, DocsPaVO.utente.Amministrazione amm, out bool result) { /*3 CASI: * INSERIMENTO NELLA TABELLA SysExternal: * - accedo alla tabella SysExternal tramite codice_ipa_amm, codice_ipa_aoo e codice UO * - se non lo trova invio email al referente dell'amministrazione e job * - altrimenti modifica l'intero record * MODIFICA: * - accedo alla tabella SysExternal tramite codice_ipa_amm, codice_ipa_aoo e codice UO * - individuato il record aggiorno il codice UO */ return(_AmmModificaUoSysExternal(oldCodiceUO, theUO, codiceAmmIPA, codiceAooIPA, isFatturazione, codiceUAC, codiceClassificazione, amm, out result)); }
public DocsPaVO.utente.Amministrazione AmmEliminaUoSysExternal(DocsPaVO.amministrazione.OrgUO theUO, string codiceAmmIPA, string codiceAooIPA, DocsPaVO.utente.Amministrazione amm, out bool result) { return(_AmmEliminaUoSysExternal(theUO, codiceAmmIPA, codiceAooIPA, amm, out result)); }
/// <summary> /// Metodo interno per la Stored Procedure Modify /// </summary> /// <param name="oldCodiceUO"></param> /// <param name="theUO"></param> /// <param name="codiceAmmIPA"></param> /// <param name="codiceAooIPA"></param> /// <param name="isFatturazione"></param> /// <param name="codiceUAC"></param> /// <param name="codiceClassificazione"></param> /// <param name="amm"></param> /// <param name="result"></param> /// <returns></returns> public DocsPaVO.utente.Amministrazione _AmmModificaUoSysExternal(string oldCodiceUO, DocsPaVO.amministrazione.OrgUO theUO, string codiceAmmIPA, string codiceAooIPA, string isFatturazione, string codiceUAC, string codiceClassificazione, DocsPaVO.utente.Amministrazione amm, out bool result) { logger.Debug("modificaUoSysExternal"); DocsPaDB.DBProvider dbp = new DocsPaDB.DBProvider(); ArrayList parameters = new ArrayList(); DocsPaVO.utente.Amministrazione ammin = new DocsPaVO.utente.Amministrazione(); if (string.IsNullOrEmpty(oldCodiceUO)) { parameters.Add(this.CreateParameter("oldCodiceUO", "0")); } else { parameters.Add(this.CreateParameter("oldCodiceUO", "0")); } logger.Debug("oldCodiceUO: " + oldCodiceUO); parameters.Add(this.CreateParameter("newCodiceUO", theUO.Codice)); logger.Debug("newCodiceUO: " + theUO.Codice); parameters.Add(this.CreateParameter("idAmm", Convert.ToInt32(theUO.IDAmministrazione))); logger.Debug("idAmm: " + theUO.IDAmministrazione); parameters.Add(this.CreateParameter("codiceAoo", theUO.CodiceRegistroInterop)); logger.Debug("codiceAoo: " + theUO.CodiceRegistroInterop); //Aggiunta degli altri parametri //codiceAmmIPA, codiceAooIPA, isFatturazione, codiceUAC, codiceClassificazione, codiceAmmPITRE parameters.Add(this.CreateParameter("codiceAmmIPA", codiceAmmIPA)); logger.Debug("codiceAmmIPA: " + codiceAmmIPA); parameters.Add(this.CreateParameter("codiceAooIPA", codiceAooIPA)); logger.Debug("codiceAooIPA: " + codiceAooIPA); if (string.IsNullOrEmpty(isFatturazione)) { parameters.Add(this.CreateParameter("isFatturazione", DBNull.Value)); } else { parameters.Add(this.CreateParameter("isFatturazione", isFatturazione)); } logger.Debug("isFatturazione: " + isFatturazione); parameters.Add(this.CreateParameter("codiceUAC", codiceUAC)); logger.Debug("codiceUAC: " + codiceUAC); parameters.Add(this.CreateParameter("codiceClassificazione", codiceClassificazione)); logger.Debug("codiceClassificazione: " + codiceClassificazione); parameters.Add(this.CreateParameter("codiceAmmPITRE", amm.codice)); logger.Debug("codiceAmmPITRE: " + amm.codice); //Unico valore da controllare è isFatturazione //End parametri aggiuntivi int rowsAffected = 0; string queryString = string.Empty; // provo a non usare la store ma a fare direttamente insert o update if (!string.IsNullOrEmpty(oldCodiceUO)) { // caso update queryString = "UPDATE DPA_DATI_FATTURAZIONE SET codice_uo = '" + theUO.Codice + "'" + " WHERE UPPER(Codice_Amm_Ipa) = UPPER('" + codiceAmmIPA + "') AND UPPER(Codice_Aoo_Ipa) = UPPER('" + codiceAooIPA + "') AND UPPER(codice_uo) = UPPER('" + oldCodiceUO + "')"; } else { // caso insert //queryString = "INSERT INTO DPA_DATI_FATTURAZIONE " + // "(system_id, codice_amm, codice_aoo, codice_uo, codice_uac, codice_classificazione, var_utente_proprietario, var_tipologia_documento, var_ragione_trasmissione) " + // " VALUES(SEQ_DATI_FATTURAZIONE.Nextval, '" + codiceAmmIPA + "', '" + codiceAooIPA + "', '" + theUO.Codice + "', '" + codiceUAC + "', '" + codiceClassificazione + "', 'TIBCO', 'Fattura elettronica', 'Ricevimento fattura')"; queryString = "Insert Into Dpa_Dati_Fatturazione " + "(System_Id, Codice_Amm_Ipa, Codice_Aoo_Ipa, Codice_Uo, Codice_Uac, Codice_Classificazione, Var_Utente_Proprietario, Id_Tipologia_Documento, Var_Ragione_Trasmissione " + ",Codice_Amm_Pitre,Codice_AOO_Pitre) " + "Values(Seq_Dati_Fatturazione.Nextval, '" + codiceAmmIPA + "', '" + codiceAooIPA + "', '" + theUO.Codice + "', '" + codiceUAC + "', '" + codiceClassificazione + "', 'TIBCO', '" + isFatturazione + "', 'RICEVIMENTO_FATTURA' " + ",'" + amm.codice + "','" + theUO.CodiceRegistroInterop + "')"; } // Parametro di output relativo all'eventuale aggiornamento try { logger.Debug("DBPProvider: " + dbp.ToString()); logger.Debug("queryString: " + queryString); //rowsAffected = dbp.ExecuteStoreProcedure("SP_MODIFY_UO_FATTURAZIONE", parameters); dbp.ExecuteNonQuery(queryString, out rowsAffected); } catch (Exception e) { logger.Debug("Errore nella modifica della UO in DPA_DATI_FATTURAZIONE ", e); result = false; ammin = null; return(ammin); } //logger.Debug("Chiamata SP 'SP_MODIFY_UO_FATTURAZIONE'. Esito: " + Convert.ToString(rowsAffected)); if (rowsAffected == 1) { result = true; //Imposto la amministrazione passata come parametro ammin = amm; //Estraggo l'email da dpa_amministra per informare il referente che è stata effettuata una modifica o non inserimento del codice della UO //ammin = _getInfoAmministrazione(theUO.IDAmministrazione); } else { // ritorna false per indicare che non è stato effettuato nessun aggiornamento (e quindi non serve notificare) // oppure, in caso di inserimento della UO in PITRE, è stato trovato il record corrsipondente nella tabella SysExternal // e quindi non è necessario notificare result = false; ammin = null; } return(ammin); }
//---TO DO: Da inserire la SP lato DB public DocsPaVO.utente.Amministrazione ModificaUoSysExternal(string oldCodiceUO, DocsPaVO.amministrazione.OrgUO theUO, out bool result) { DocsPaVO.utente.Amministrazione amm = new DocsPaVO.utente.Amministrazione(); result = false; string codiceAmmIPA = string.Empty; string codiceAooIPA = string.Empty; string isFatturazione = string.Empty; string codiceUAC = string.Empty; string codiceClassificazione = string.Empty; if (WR != null) { //Start JOB //Query per il recupero delle informazioni che mi servono da passare al servizio web. codiceAmmIPA = getCodiceAmmIPA(theUO); codiceAooIPA = getCodiceAooIPA(theUO); isFatturazione = getIsFatturazione(theUO); codiceUAC = getCodiceUAC(theUO); codiceClassificazione = getCodiceClassificazione(theUO); //Devo recuperare anche le informazioni dell'amministrazione da PITRE amm = getInfoAmministrazione(theUO.IDAmministrazione); //Ho tutti i parametri impostati: Passare i parametri nella firma del metodo per fare la Stored Procedure //Il metodo avvia la Stored Procedure amm = WR.AmmModificaUoSysExternal(oldCodiceUO, theUO, codiceAmmIPA, codiceAooIPA, isFatturazione, codiceUAC, codiceClassificazione, amm, out result); } else { logger.Debug("webReference is null"); } return(amm); }