Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        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());
        }
Пример #4
0
 /// <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);
     }
 }
Пример #5
0
        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);
        }