/// <summary> /// Reperimento trasmissione corrente /// </summary> /// <param name="idTrasmissione"></param> /// <returns></returns> protected virtual DocsPaVO.trasmissione.Trasmissione GetTrasmissione(string idTrasmissione, string idOggetto, DocsPaVO.trasmissione.TipoOggetto tipoOggetto) { DocsPaVO.trasmissione.Trasmissione retValue = null; if (!string.IsNullOrEmpty(idTrasmissione)) { // Reperimento oggetto trasmissione DocsPaVO.trasmissione.OggettoTrasm oggettoTrasm = new DocsPaVO.trasmissione.OggettoTrasm(); if (tipoOggetto == DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO) { DocsPaVO.documento.SchedaDocumento schedaDocumento = BusinessLogic.Documenti.DocManager.getDettaglio(this._infoUtente, idOggetto, idOggetto); oggettoTrasm.infoDocumento = new DocsPaVO.documento.InfoDocumento(schedaDocumento); } else if (tipoOggetto == DocsPaVO.trasmissione.TipoOggetto.FASCICOLO) { DocsPaVO.fascicolazione.Fascicolo schedaFascicolo = BusinessLogic.Fascicoli.FascicoloManager.getFascicoloById(idOggetto, this._infoUtente); oggettoTrasm.infoFascicolo = new DocsPaVO.fascicolazione.InfoFascicolo(schedaFascicolo); } System.Collections.Generic.List <DocsPaVO.filtri.FiltroRicerca> filters = new System.Collections.Generic.List <DocsPaVO.filtri.FiltroRicerca>(); DocsPaVO.filtri.FiltroRicerca item = new DocsPaVO.filtri.FiltroRicerca(); item.argomento = DocsPaVO.filtri.trasmissione.listaArgomentiNascosti.ID_TRASMISSIONE.ToString(); item.valore = idTrasmissione; filters.Add(item); DocsPaVO.utente.Utente utente = BusinessLogic.Utenti.UserManager.getUtente(this._infoUtente.idPeople); DocsPaVO.utente.Ruolo ruolo = BusinessLogic.Utenti.UserManager.getRuoloById(this._infoUtente.idCorrGlobali); // Utilizzo del metodo di ricerca trasmissioni fornendo i filtri di ricerca int totalPageNumber; int recordCount; DocsPaVO.trasmissione.Trasmissione[] trasmissioni = (DocsPaVO.trasmissione.Trasmissione[]) BusinessLogic.Trasmissioni.QueryTrasmManager.getQueryEffettuateDocMethodPaging( oggettoTrasm, utente, ruolo, filters.ToArray(), 1, out totalPageNumber, out recordCount).ToArray(typeof(DocsPaVO.trasmissione.Trasmissione)); if (trasmissioni.Length == 1) { // Reperimento prima trasmissione estratta retValue = trasmissioni[0]; } } return(retValue); }
/// <summary> /// /// </summary> /// <param name="filtriRicerca"></param> /// <param name="FiltriBase"></param> /// <param name="filtriProfilazioneDinamica"></param> /// <returns></returns> private static DocsPaVO.filtri.FiltroRicerca[][] getFiltriDocumenti( DocsPaVO.filtri.FiltroRicerca[] filtriRicerca, DocsPaVO.filtri.FiltroRicerca[] filtriProfilazioneDinamica) { if (filtriRicerca == null) { throw new Exception("Non è stato valorizzato nessun filtro. E' obbligatorio valorizzare il filtro TIPO"); } DocsPaVO.filtri.FiltroRicerca[][] listaFiltri = new DocsPaVO.filtri.FiltroRicerca[1][]; listaFiltri[0] = new DocsPaVO.filtri.FiltroRicerca[1]; DocsPaVO.filtri.FiltroRicerca[] fVList = new DocsPaVO.filtri.FiltroRicerca[filtriRicerca.Length + filtriProfilazioneDinamica.Length]; int indice = 0; bool ricercaBase = false; if (filtriRicerca != null && filtriRicerca.Length > 0) { for (int i = 0; i < filtriRicerca.Length; i++) { if (filtriRicerca[i].argomento.Equals("TIPO")) { ricercaBase = true; } fVList[indice] = filtriRicerca[i]; indice++; } } if (!ricercaBase) { throw new Exception("Non è stato valorizzato il filtro TIPO. E' obbligatorio valorizzare il filtro TIPO"); } if (filtriProfilazioneDinamica != null && filtriProfilazioneDinamica.Length > 0) { for (int i = 0; i < filtriProfilazioneDinamica.Length; i++) { fVList[indice] = filtriProfilazioneDinamica[i]; indice++; } } listaFiltri[0] = fVList; return(listaFiltri); }
private static DocsPaVO.filtri.FiltroRicerca[] getFiltriProfilazioneDimanica(DocsPaVO.ProfilazioneDinamica.Templates templates) { List <DocsPaVO.filtri.FiltroRicerca> lista = new List <DocsPaVO.filtri.FiltroRicerca>(); if (templates != null) { DocsPaVO.filtri.FiltroRicerca filtro = new DocsPaVO.filtri.FiltroRicerca(); filtro.argomento = DocsPaVO.filtri.ricerca.listaArgomenti.TIPO_ATTO.ToString(); filtro.valore = templates.ID_TIPO_ATTO; lista.Add(filtro); filtro = new DocsPaVO.filtri.FiltroRicerca(); filtro.argomento = DocsPaVO.filtri.ricerca.listaArgomenti.PROFILAZIONE_DINAMICA.ToString(); filtro.template = templates; filtro.valore = "Profilazione Dinamica"; lista.Add(filtro); } return(lista.ToArray()); }
/// <summary> /// /// </summary> /// <param name="classificazione"></param> /// <param name="infoUtente"></param> /// <param name="pos"></param> /// <param name="report"></param> /// <param name="path"></param> private static void addFascProc(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.fascicolazione.Classificazione classificazione, int pos, ref System.Collections.ArrayList report, string path) { logger.Debug("addFascProc"); DocsPaVO.filtri.FiltroRicerca filtro = new DocsPaVO.filtri.FiltroRicerca(); filtro.argomento = DocsPaVO.filtri.fascicolazione.listaArgomenti.TIPO_FASCICOLO.ToString(); filtro.valore = "P"; DocsPaVO.filtri.FiltroRicerca[] filtri = { filtro }; System.Collections.ArrayList fascicoliProc = BusinessLogic.Fascicoli.FascicoloManager.getListaFascicoli(infoUtente, classificazione, filtri, false, false, false, null, ""); logger.Debug("Fascicoli procedimentali trovati: " + fascicoliProc.Count); for (int k = 0; k < fascicoliProc.Count; k++) { DocsPaVO.fascicolazione.Fascicolo fasc = (DocsPaVO.fascicolazione.Fascicolo)fascicoliProc[k]; string voceFasc = ReportUtils.stringFile(path + "report\\titolario\\voceProc.txt"); int firstPos = 100 * fasc.codice.Length; int secondPos = pos + 100 * fasc.codice.Length; voceFasc = voceFasc.Replace("XFIRSTPOS", "" + firstPos); voceFasc = voceFasc.Replace("XPOS", "" + secondPos); string testoFasc = fasc.codice + " " + fasc.descrizione; voceFasc = voceFasc.Replace("XTESTO_VOCE", testoFasc); ReportUtils.addStringToReport(voceFasc, ref report); } }
public ArrayList eseguiRicercaCampiComuni(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.filtri.FiltroRicerca[][] listaFiltri, int numPage, int pageSize, out int nRec) { ArrayList listaDocFasc = new ArrayList(); DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider(); nRec = getCountDocFasc(infoUtente, listaFiltri); if (nRec > 0) { try { //Condizioni security e amministrazione DocsPaUtils.Query queryMng = DocsPaUtils.InitQuery.getInstance().getQuery("S_CAMPI_COMUNI_DOC_FASC"); queryMng.setParam("idPeople", infoUtente.idPeople); queryMng.setParam("idGruppo", infoUtente.idGruppo); queryMng.setParam("idAmm", infoUtente.idAmministrazione); string idRuoloPubblico = DocsPaUtils.Configuration.InitConfigurationKeys.GetValue(infoUtente.idAmministrazione, "ENABLE_FASCICOLO_PUBBLICO"); if (string.IsNullOrEmpty(idRuoloPubblico)) { idRuoloPubblico = "0"; } queryMng.setParam("idRuoloPubblico", idRuoloPubblico); //SQL Server int pageSizeSqlServer = pageSize; int totalRowsSqlServer = (numPage * pageSize); if ((nRec - totalRowsSqlServer) <= 0) { pageSizeSqlServer -= System.Math.Abs(nRec - totalRowsSqlServer); totalRowsSqlServer = nRec; } queryMng.setParam("pageSize", pageSizeSqlServer.ToString()); queryMng.setParam("totalRows", totalRowsSqlServer.ToString()); //ORACLE int numTotPage = (nRec / pageSize); int startRow = ((numPage * pageSize) - pageSize) + 1; int endRow = (startRow - 1) + pageSize; queryMng.setParam("startRow", startRow.ToString()); queryMng.setParam("endRow", endRow.ToString()); //Condizioni registro Utenti utenti = new Utenti(); ArrayList registri = utenti.GetRuoloByIdGruppo(infoUtente.idGruppo).registri; string paramRegistri = " AND (A.ID_REGISTRO IS NULL OR A.ID_REGISTRO IN ("; foreach (DocsPaVO.utente.Registro registro in registri) { paramRegistri += registro.systemId + ","; } paramRegistri = paramRegistri.Substring(0, paramRegistri.Length - 1) + ")) "; queryMng.setParam("condIdRegistri", paramRegistri); //Condizioni titolari Amministrazione amministrazione = new Amministrazione(); ArrayList titolari = amministrazione.getTitolariUtilizzabili(infoUtente.idAmministrazione); string paramTitolari = " AND A.ID_TITOLARIO IN ("; foreach (DocsPaVO.amministrazione.OrgTitolario titolario in titolari) { paramTitolari += titolario.ID + ","; } paramTitolari = paramTitolari.Substring(0, paramTitolari.Length - 1) + ") "; queryMng.setParam("condIdTitolari", paramTitolari); //Condizioni profilazione campi comuni for (int i = 0; i < listaFiltri.Length; i++) { for (int j = 0; j < listaFiltri[i].Length; j++) { DocsPaVO.filtri.FiltroRicerca f = listaFiltri[i][j]; if (f.valore != null && !f.valore.Equals("")) { switch (f.argomento) { //Condizioni profilazione campi comuni fascicolo case "TEMPLATE_CAMPI_COMUNI_FASC": DocsPaDB.Query_DocsPAWS.ModelFasc modelFasc = new ModelFasc(); string paramCondProfilazioneFascicoli = string.Empty; paramCondProfilazioneFascicoli = modelFasc.getSeriePerRicercaProfilazione(f.template, ""); if (!string.IsNullOrEmpty(paramCondProfilazioneFascicoli)) { queryMng.setParam("condProfilazioneFascicoli", paramCondProfilazioneFascicoli); } else { queryMng.setParam("condProfilazioneFascicoli", " "); } break; //Condizioni profilazione campi comuni documento case "TEMPLATE_CAMPI_COMUNI_DOC": DocsPaDB.Query_DocsPAWS.Model model = new Model(); string paramCondProfilazioneDocumenti = string.Empty; paramCondProfilazioneDocumenti = model.getSeriePerRicercaProfilazione(f.template, ""); if (!string.IsNullOrEmpty(paramCondProfilazioneDocumenti)) { queryMng.setParam("condProfilazioneDocumenti", paramCondProfilazioneDocumenti); } else { queryMng.setParam("condProfilazioneDocumenti", " "); } break; } } } } //Condizioni inizio e fine anno (Per il momento viene considerato di default l'anno corrente) string anno = Convert.ToString(System.DateTime.Now.Year); queryMng.setParam("startDateDoc", "01/01/" + anno); queryMng.setParam("endDateDoc", "31/12/" + anno); //Solo per il database SQL Server va effettuata la sostituzione del parametro @dbUser@ string dbType = System.Configuration.ConfigurationManager.AppSettings["DBType"]; if (dbType.ToUpper() == "SQL") { queryMng.setParam("dbUser", DocsPaDbManagement.Functions.Functions.GetDbUserSession()); } string commandText = queryMng.getSQL(); System.Diagnostics.Debug.WriteLine("SQL - eseguiRicercaCampiComuni - RicProfCampiComuni.cs - QUERY : " + commandText); logger.Debug("SQL - eseguiRicercaCampiComuni - RicProfCampiComuni.cs - QUERY : " + commandText); DataSet ds = new DataSet(); dbProvider.ExecuteQuery(ds, commandText); DocsPaVO.ProfilazioneDinamica.ItemRicCampiComuni itemRicCampiComuni = null; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { itemRicCampiComuni = new DocsPaVO.ProfilazioneDinamica.ItemRicCampiComuni(); setItemRicCampiComuni(ref itemRicCampiComuni, ds, i); listaDocFasc.Add(itemRicCampiComuni); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("SQL - eseguiRicercaCampiComuni - RicProfCampiComuni.cs - Eccezione : " + ex.Message); logger.Debug("SQL - eseguiRicercaCampiComuni - RicProfCampiComuni.cs - Eccezione : " + ex.Message); return(null); } finally { dbProvider.Dispose(); } } return(listaDocFasc); }