Esempio n. 1
0
        /// <summary>Il metodo restituisce un file PDF che rappresenta il report delle trasmissioni relative all'oggetto specificato (documento o fascicolo)</summary>
        /// <param name="obj">oggetto della trasmissione</param>
        /// <returns>FileDocumento</returns>
        public static int reportTrasmDocFasc(DocsPaVO.trasmissione.OggettoTrasm obj, out DocsPaVO.documento.FileDocumento fileDoc)
        {
            int result = 0;

            fileDoc = null;
            FileStream fs = null;

            StampaPDF.Report report = null;
            try
            {
                string pathReport  = getPath();
                string templateXML = pathReport + "XMLRepTrasmDocFasc.xml";
                //costruisce il dataTable con le informazioni per il report
                DataTable dt_U;
                DataTable dt_R;
                bool      newPage = false;
                //trasmissioni a ruoli
                BusinessLogic.Trasmissioni.QueryTrasmManager.getTrasmissioniDocFasc(out dt_R, obj, "R");
                //trasmissioni a utenti
                BusinessLogic.Trasmissioni.QueryTrasmManager.getTrasmissioniDocFasc(out dt_U, obj, "U");

                if ((dt_R == null || dt_R.Rows.Count < 1) && (dt_U == null || dt_U.Rows.Count < 1))
                {
                    return(0);
                }

                //crea il report, inserendo i valori parametrici e riempiendo la tabella
                fs = new FileStream(templateXML, System.IO.FileMode.Open, System.IO.FileAccess.Read);

                report = new StampaPDF.Report(fs, pathReport);

                #region  Sostituzione valori parametrici in base al tipo di oggetto
                Hashtable ht = new Hashtable();
                string    idOggetto;
                string    descOggetto;
                if (obj.infoDocumento != null)
                {
                    if (obj.infoDocumento.segnatura != null && !obj.infoDocumento.segnatura.Equals(""))
                    {
                        idOggetto = "DOCUMENTO: " + obj.infoDocumento.segnatura;
                    }
                    else
                    {
                        idOggetto = "DOCUMENTO: " + obj.infoDocumento.docNumber;
                    }
                    descOggetto = "OGGETTO: " + obj.infoDocumento.oggetto;
                }
                else
                {
                    idOggetto   = "FASCICOLO: " + obj.infoFascicolo.codice;
                    descOggetto = "DESCRIZIONE: " + obj.infoFascicolo.descrizione;
                }
                ht["@param1"] = idOggetto;
                ht["@param2"] = descOggetto;
                report.replace(null, ht);
                #endregion

                report.printData(null);

                //
                //  dt_R.Rows[0][3].ToString()==obj.infoDocumento.
                //
                if (dt_R != null && dt_R.Rows.Count > 0)
                {
                    report.appendParagraph("R_P", "", false);                 //intestazione trasm a Ruoli
                    report.appendTable("R_T", dt_R, false);                   //tabella trasm a Ruoli
                    newPage = true;
                }
                if (dt_U != null && dt_U.Rows.Count > 0)
                {
                    report.appendParagraph("U_P", "", newPage);               //intestazione trasm a Utenti
                    report.appendTable("U_T", dt_U, false);                   //tabella trasm a Utenti
                }
                MemoryStream ms = report.close();
                ms.Flush();
                fs.Close();

                fileDoc             = new DocsPaVO.documento.FileDocumento();
                fileDoc.content     = ms.GetBuffer();
                fileDoc.length      = fileDoc.content.Length;
                fileDoc.contentType = "application/pdf";
                fileDoc.name        = "";
            }
            catch (StampaPDF.ReportException re)
            {
                logger.Debug("Errore nella creazione del Report (stampaPDF)", re);
                if (fs != null)
                {
                    fs.Close();
                }
                if (report != null)
                {
                    report.close();
                }
                result = (int)re.code;
            }
            catch (Exception e)
            {
                logger.Debug("Errore nella gestione di Report (stampa)", e);
                if (fs != null)
                {
                    fs.Close();
                }
                if (report != null)
                {
                    report.close();
                }
                result = -1;
            }

            return(result);
        }
Esempio n. 2
0
        private static void DO_AddTableToReport(StampaPDF.Report objReport, ReportDisponibili tipoReport, DataTable dt, string TableName, ArrayList parametriPDF)
        {
            switch (tipoReport)
            {
                #region ReportDisponibili.Annuale_By_Amministrazione
            case ReportDisponibili.Annuale_By_Amministrazione:
                //TODO: Aggiungere Codice di gestione
                break;
                #endregion

                #region ReportDisponibili.Annuale_By_Registro
            case ReportDisponibili.Annuale_By_Registro:
                /* Creiamo 2 diversi DT a partire dall'unico che abbiamo
                 * Ne recuperiamo la struttura, e ripuliamo il contenuto
                 */
                int anno = 0;
                foreach (Parametro p in parametriPDF)
                {
                    if (p.Descrizione == "@param2")
                    {
                        anno = Convert.ToInt32(p.Valore);
                    }
                }

                switch (TableName)
                {
                case "TABLE_ANNO":
                    DataTable dtAnni = new DataTable();
                    foreach (DataColumn dc in dt.Columns)
                    {
                        DataColumn _dc  = new DataColumn(dc.ColumnName, dc.DataType);
                        DataColumn _dc1 = new DataColumn(dc.ColumnName, dc.DataType);
                        dtAnni.Columns.Add(_dc1);
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["THING"].ToString() == anno.ToString())
                        {
                            dtAnni.ImportRow(dr);
                        }
                    }

                    objReport.appendTable("TABLE_ANNO", dtAnni, false);
                    break;

                case "TABLE_MESI":
                    DataTable dtMesi = new DataTable();
                    foreach (DataColumn dc in dt.Columns)
                    {
                        DataColumn _dc  = new DataColumn(dc.ColumnName, dc.DataType);
                        DataColumn _dc1 = new DataColumn(dc.ColumnName, dc.DataType);
                        dtMesi.Columns.Add(_dc1);
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["THING"].ToString() != anno.ToString() && dr["THING"].ToString() != "Classificati*" && dr["THING"].ToString() != "Senza Img.")
                        {
                            dtMesi.ImportRow(dr);
                        }
                    }
                    objReport.appendTable("TABLE_MESI", dtMesi, false);

                    break;

                case "TABLE_CLASS":
                    DataTable dtAnniClass = new DataTable();
                    foreach (DataColumn dc in dt.Columns)
                    {
                        DataColumn _dc  = new DataColumn(dc.ColumnName, dc.DataType);
                        DataColumn _dc1 = new DataColumn(dc.ColumnName, dc.DataType);
                        dtAnniClass.Columns.Add(_dc1);
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["THING"].ToString() == "Classificati*" || dr["THING"].ToString() == "Senza Img.")
                        {
                            dtAnniClass.ImportRow(dr);
                        }
                    }
                    objReport.appendTable("TABLE_CLASS", dtAnniClass, false);
                    objReport.appendParagraph("PAR_NOTE", "", false);
                    break;
                }
                break;
                #endregion

                #region ReportDisponibili.Documenti_Classificati
            case ReportDisponibili.Documenti_Classificati:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.Documenti_Trasmessi_Altre_AOO
            case ReportDisponibili.Documenti_Trasmessi_Altre_AOO:
                #region eliminiamo le righe relative all'anno
                //				for(int i = dt.Rows.Count-1;i>=0;i--)
                //				{
                //					DataRow dr = dt.Rows[i];
                //					if(dr["mese"].ToString().Length > 2)
                //					{
                //						dt.Rows.RemoveAt(i);
                //					}
                //				}
                #endregion
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.Fascicoli_Per_VT
            case ReportDisponibili.Fascicoli_Per_VT:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.Annuale_By_Fascicolo
            case ReportDisponibili.Annuale_By_Fascicolo:
                objReport.appendTable("TABLE_MESE", dt, false);
                break;
                #endregion

                #region ReportDisponibili.TempiMediLavFascicoli
            case ReportDisponibili.TempiMediLavFascicoli:
                objReport.appendTable("TABLE_MESE", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportDocXSede
            case ReportDisponibili.ReportDocXSede:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportDocXUo
            case ReportDisponibili.ReportDocXUo:
                objReport.appendTable("TABLE_ANNO", dt, false);
                objReport.appendParagraph("PAR_NOTE", "", false);
                break;
                #endregion
            }
        }
Esempio n. 3
0
        /// <summary>Il metodo restituisce un file PDF che rappresenta il report delle trasmissioni relative alla UO specificata</summary>
        /// <param name="filtriTrasm">filtri della trasmissione</param>
        /// <param name="UO">UO che ha ricevuto o trasmesso</param>
        /// <returns>FileDocumento</returns>
        public static int reportTrasmUO(DocsPaVO.filtri.FiltroRicerca[] filtriTrasm, out DocsPaVO.documento.FileDocumento fileDoc, string UO)
        {
            int result = 0;

            fileDoc = null;
            FileStream fs          = null;
            bool       newPage     = false;
            string     tipoOggetto = "D";

            StampaPDF.Report report = null;
            string           templateXML;
            string           paramDate;

            try
            {
                string pathReport = getPath();
                //costruisce il dataTable con le informazioni per il report
                DataTable dt_Eff;
                DataTable dt_Ric;
                //effettuate
                BusinessLogic.Trasmissioni.QueryTrasmManager.getTrasmissioniUO(out dt_Eff, filtriTrasm, "E");
                //ricevute
                BusinessLogic.Trasmissioni.QueryTrasmManager.getTrasmissioniUO(out dt_Ric, filtriTrasm, "R");

                if ((dt_Eff == null || dt_Eff.Rows.Count < 1) && (dt_Ric == null || dt_Ric.Rows.Count < 1))
                {
                    return(0);
                }
                //crea il report, inserendo i valori parametrici e riempiendo la tabella
                paramDate = setParam(filtriTrasm, ref tipoOggetto);

                templateXML = pathReport;
                if (tipoOggetto.Equals("D"))
                {
                    templateXML += "XMLRepTrasmUO_DOC.xml";
                }
                else
                {
                    templateXML += "XMLRepTrasmUO_FASC.xml";
                }
                fs     = new FileStream(templateXML, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                report = new StampaPDF.Report(fs, pathReport);

                #region  Sostituzione valori parametrici in base al tipo di oggetto
                Hashtable ht = new Hashtable();
                ht["@param1"] = UO;
                ht["@param2"] = paramDate;

                report.replace(null, ht);
                #endregion

                report.printData(null);
                if (dt_Eff != null && dt_Eff.Rows.Count > 0)
                {
                    report.appendParagraph("E_P", "", false);                   //intestazione trasm Effettuate
                    report.appendTable("E_T", dt_Eff, false);                   //tabella trasm Effettuate
                    newPage = true;
                }
                if (dt_Ric != null && dt_Ric.Rows.Count > 0)
                {
                    report.appendParagraph("R_P", "", newPage);                 //intestazione trasm Ricevute
                    report.appendTable("R_T", dt_Ric, false);                   //tabella trasm Ricevute
                }
                fs.Close();
                MemoryStream ms = report.close();
                ms.Flush();

                fileDoc             = new DocsPaVO.documento.FileDocumento();
                fileDoc.content     = ms.GetBuffer();
                fileDoc.length      = fileDoc.content.Length;
                fileDoc.contentType = "application/pdf";
                fileDoc.name        = "";
            }
            catch (StampaPDF.ReportException re)
            {
                logger.Debug("Errore nella creazione del Report (stampaPDF)", re);
                if (fs != null)
                {
                    fs.Close();
                }
                if (report != null)
                {
                    report.close();
                }
                result = (int)re.code;
            }
            catch (Exception e)
            {
                logger.Debug("Errore nella gestione di Report (stampa)", e);
                if (fs != null)
                {
                    fs.Close();
                }
                if (report != null)
                {
                    report.close();
                }
                result = -1;
            }
            return(result);
        }
Esempio n. 4
0
        /// <summary>
        /// DO_AddTableToReport: appende a ciascun report
        /// le tabelle di interesse
        /// </summary>
        /// <param name="objReport">oggetto Report</param>
        /// <param name="tipoReport">tipo Report</param>
        /// <param name="dt">DataTable contenente i dati della tabella</param>
        /// <param name="TableName">Nome della tabella nel template</param>
        private static void DO_AddTableToReport(StampaPDF.Report objReport, ReportDisponibili tipoReport, DataTable dt, string TableName)
        {
            switch (tipoReport)
            {
                #region ReportDisponibili.Annuale_By_Amministrazione
            case ReportDisponibili.Annuale_By_Amministrazione:
                //TODO: Aggiungere Codice di gestione
                break;
                #endregion

                #region ReportDisponibili.Annuale_By_Registro
            case ReportDisponibili.Annuale_By_Registro:
                /* Creiamo 2 diversi DT a partire dall'unico che abbiamo
                 * Ne recuperiamo la struttura, e ripuliamo il contenuto
                 */
                switch (TableName)
                {
                case "TABLE_ANNO":
                    DataTable dtAnni = new DataTable();
                    foreach (DataColumn dc in dt.Columns)
                    {
                        DataColumn _dc  = new DataColumn(dc.ColumnName, dc.DataType);
                        DataColumn _dc1 = new DataColumn(dc.ColumnName, dc.DataType);
                        dtAnni.Columns.Add(_dc1);
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["ANNO"].ToString() == dr["MESE"].ToString())
                        {
                            dtAnni.ImportRow(dr);
                        }
                    }
                    objReport.appendTable("TABLE_ANNO", dtAnni, false);
                    break;

                case "TABLE_MESI":
                    DataTable dtMesi = new DataTable();
                    foreach (DataColumn dc in dt.Columns)
                    {
                        DataColumn _dc  = new DataColumn(dc.ColumnName, dc.DataType);
                        DataColumn _dc1 = new DataColumn(dc.ColumnName, dc.DataType);
                        dtMesi.Columns.Add(_dc1);
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["ANNO"].ToString() != dr["MESE"].ToString())
                        {
                            dtMesi.ImportRow(dr);
                        }
                    }
                    objReport.appendTable("TABLE_MESI", dtMesi, false);
                    break;

                case "TABLE_CLASS":
                    DataTable dtAnniClass = new DataTable();
                    foreach (DataColumn dc in dt.Columns)
                    {
                        DataColumn _dc  = new DataColumn(dc.ColumnName, dc.DataType);
                        DataColumn _dc1 = new DataColumn(dc.ColumnName, dc.DataType);
                        dtAnniClass.Columns.Add(_dc1);
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["ANNO"].ToString() == dr["MESE"].ToString())
                        {
                            dtAnniClass.ImportRow(dr);
                        }
                    }
                    objReport.appendTable("TABLE_CLASS", dtAnniClass, false);
                    objReport.appendParagraph("PAR_NOTE", "", false);
                    break;
                }
                break;
                #endregion

                #region ReportDisponibili.Documenti_Classificati
            case ReportDisponibili.Documenti_Classificati:
                objReport.appendTable("TABLE_ANNO", dt, false);
                objReport.appendParagraph("PAR_NOTE", "", false);
                break;
                #endregion

                #region ReportDisponibili.Documenti_Trasmessi_Altre_AOO
            case ReportDisponibili.Documenti_Trasmessi_Altre_AOO:
                #region eliminiamo le righe relative all'anno
                //				for(int i = dt.Rows.Count-1;i>=0;i--)
                //				{
                //					DataRow dr = dt.Rows[i];
                //					if(dr["mese"].ToString().Length > 2)
                //					{
                //						dt.Rows.RemoveAt(i);
                //					}
                //				}
                #endregion
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.Fascicoli_Per_VT
            case ReportDisponibili.Fascicoli_Per_VT:
                objReport.appendTable("TABLE_ANNO", dt, false);
                objReport.appendParagraph("PAR_NOTE", "", false);
                break;
                #endregion

                #region ReportDisponibili.Annuale_By_Fascicolo
            case ReportDisponibili.Annuale_By_Fascicolo:
                objReport.appendTable("TABLE_MESE", dt, false);
                break;
                #endregion

                #region ReportDisponibili.TempiMediLavFascicoli
            case ReportDisponibili.TempiMediLavFascicoli:
                objReport.appendTable("TABLE_MESE", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportDocXSede
            case ReportDisponibili.ReportDocXSede:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportDocXUo
            case ReportDisponibili.ReportDocXUo:
                objReport.appendTable("TABLE_ANNO", dt, false);
                objReport.appendParagraph("PAR_NOTE", "", false);
                break;
                #endregion

                #region ReportDisponibili.ReportLogMassiveImport:
            case ReportDisponibili.ReportLogMassiveImport:
                objReport.appendTable("TABLE_DATA", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportContatoriDocumento
            case ReportDisponibili.ReportContatoriDocumento:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportContatoriFascicolo
            case ReportDisponibili.ReportContatoriFascicolo:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportProtocolloArma
            case ReportDisponibili.ReportProtocolloArma:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportDettaglioPratica
            case ReportDisponibili.ReportDettaglioPratica:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportGiornaleRiscontri
            case ReportDisponibili.ReportGiornaleRiscontri:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.ReportDocSpeditiInterop
            case ReportDisponibili.ReportDocSpeditiInterop:
                objReport.appendTable("TABLE_ANNO", dt, false);
                break;
                #endregion

                #region ReportDisponibili.CDC_reportControlloPreventivo
            case ReportDisponibili.CDC_reportControlloPreventivo:
                objReport.appendTable("TABLE_DOCUMENTI", dt, false);
                break;
                #endregion

                #region ReportDisponibili.CDC_reportControlloSuccessivoSCCLA
            //***************************************************************
            //
            //Modifica CDC GIORDANO IACOZZILLI 18/06/2012
            //
            //Aggiungo il report nuovo CDC_reportControlloSuccessivoSCCLA
            case ReportDisponibili.CDC_reportSuccessivoSCCLA:
                objReport.appendTable("TABLE_DOCUMENTI", dt, false);
                break;
                //***************************************************************
                //FINE
                //***************************************************************
                #endregion

                #region ReportDisponibili.CDC_reportPensioniCivili
            case ReportDisponibili.CDC_reportPensioniCivili:
                objReport.appendTable("TABLE_DOCUMENTI", dt, false);
                break;
                #endregion

                #region ReportDisponibili.CDC_reportPensioniMilitari
            case ReportDisponibili.CDC_reportPensioniMilitari:
                objReport.appendTable("TABLE_DOCUMENTI", dt, false);
                break;
                #endregion
            }
        }