/// <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 buildClassificazione(string idAmministrazione, string idGruppo, string idPeople, DocsPaVO.fascicolazione.Classificazione classificazione, int pos, ref System.Collections.ArrayList report, string path) { string voceTitolario = ReportUtils.stringFile(path + "report\\titolario\\voceTitolario.txt"); int firstPos = 100 * classificazione.codice.Length; int secondPos = pos + 100 * classificazione.codice.Length; voceTitolario = voceTitolario.Replace("XFIRSTPOS", "" + firstPos); voceTitolario = voceTitolario.Replace("XPOS", "" + secondPos); string testo = classificazione.codice + " " + classificazione.descrizione; voceTitolario = voceTitolario.Replace("XTESTO_VOCE", testo); ReportUtils.addStringToReport(voceTitolario, ref report); for (int i = 0; i < classificazione.childs.Count; i++) { buildClassificazione(idAmministrazione, idGruppo, idPeople, (DocsPaVO.fascicolazione.Classificazione)classificazione.childs[i], secondPos, ref report, path); } //parte relativa ai fascicoli proc. //addFascProc(idAmministrazione, idGruppo, idPeople, classificazione,firstPos,ref report,path); }
/// <summary></summary> /// <param name="corr"></param> /// <param name="rowString"></param> /// <param name="report"></param> private static void addRowInTable(DocsPaVO.utente.Corrispondente corr, string rowString, ref ArrayList report) { string tmpStr = rowString; // tipo string tipo = ""; if (corr.GetType().Equals(typeof(DocsPaVO.utente.Utente))) { tipo = "Utente"; } else if (corr.GetType().Equals(typeof(DocsPaVO.utente.Ruolo))) { tipo = "Ruolo"; } else if (corr.GetType().Equals(typeof(DocsPaVO.utente.UnitaOrganizzativa))) { tipo = "UO"; } tmpStr = tmpStr.Replace("XTIPO", tipo); // codice tmpStr = tmpStr.Replace("XCODICE", corr.codiceRubrica); // descrizione tmpStr = tmpStr.Replace("XDESCRIZIONE", corr.descrizione); // email string email = ""; if (corr.email != null) { email = corr.email; } tmpStr = tmpStr.Replace("XEMAIL", email); // tipo I/E tmpStr = tmpStr.Replace("XIE", corr.tipoIE); ReportUtils.addStringToReport(tmpStr, ref report); }
/// <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); } }
/// <summary></summary> /// <param name="classificazioni"></param> /// <param name="infoUtente"></param> /// <returns></returns> public static DocsPaVO.documento.FileDocumento getTitolarioReport(string idAmministrazione, string idGruppo, string idPeople, System.Collections.ArrayList classificazioni) { DocsPaVO.documento.FileDocumento result = new DocsPaVO.documento.FileDocumento(); //string path = ReportUtils.getPathName(); //string path = DocsPaUtils.Functions.Functions.GetReportsPath(); string path = AppDomain.CurrentDomain.BaseDirectory; try { string headerString = ReportUtils.stringFile(path + "report\\titolario\\headerTitolario.txt"); logger.Debug("Generazione report"); System.DateTime data = System.DateTime.Now; System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("it-IT"); string[] formats = data.GetDateTimeFormats(ci); string dataString = formats[5]; headerString = headerString.Replace("XDATA", dataString); //string titolo=ConfigurationManager.AppSettings["intestazioneTitolario"]; string titolo = "Titolario"; // prima lo prendeva dal web.config, ma non esiste più if (titolo != null) { headerString = headerString.Replace("XTITOLO", titolo); } else { headerString = headerString.Replace("XTITOLO", ""); } System.Collections.ArrayList report = new System.Collections.ArrayList(); ReportUtils.addStringToReport(headerString, ref report); logger.Debug("Inserimento voci di titolario"); for (int i = 0; i < classificazioni.Count; i++) { DocsPaVO.fascicolazione.Classificazione classificazione = (DocsPaVO.fascicolazione.Classificazione)classificazioni[i]; string headerTableString = ReportUtils.stringFile(path + "report\\titolario\\headerTableTitolario.txt"); headerTableString = headerTableString.Replace("XPRIMO_CODICE", classificazione.codice); headerTableString = headerTableString.Replace("XPRIMA_DESCR", classificazione.descrizione); ReportUtils.addStringToReport(headerTableString, ref report); for (int j = 0; j < classificazione.childs.Count; j++) { buildClassificazione(idAmministrazione, idGruppo, idPeople, (DocsPaVO.fascicolazione.Classificazione)classificazione.childs[j], 0, ref report, path); } //inserimento fascicoli proc //addFascProc(idAmministrazione, idGruppo, idPeople, classificazione,0,ref report,path); string bottomTableString = ReportUtils.stringFile(path + "report\\titolario\\bottomTableTitolario.txt"); ReportUtils.addStringToReport(bottomTableString, ref report); } logger.Debug("Inserimento bottom"); string bottomString = ReportUtils.stringFile(path + "report\\titolario\\bottomTitolario.txt"); ReportUtils.addStringToReport(bottomString, ref report); logger.Debug("Generazione fileDocumento"); result.content = (byte[])report.ToArray(typeof(byte)); result.length = result.content.Length; result.contentType = "application/rtf"; result.name = "report.rtf"; logger.Debug("fileDocumento generato"); } catch (Exception e) { logger.Debug("Errore nella gestione di Report (getTitolarioReport)", e); throw e; } return(result); }
/// <summary></summary> /// <param name="qco"></param> /// <returns></returns> public static DocsPaVO.documento.FileDocumento stampa(DocsPaVO.addressbook.QueryCorrispondente qco) { //string path = ReportUtils.getPathName() + "\\corrispondenti\\"; string path = AppDomain.CurrentDomain.BaseDirectory + "report\\corrispondenti\\"; //string path = DocsPaUtils.Functions.Functions.GetReportsPath() + "\\corrispondenti\\"; DocsPaVO.documento.FileDocumento result = new DocsPaVO.documento.FileDocumento(); try { ArrayList report = new ArrayList(); string tmpStr = ""; #region Testata tmpStr = ReportUtils.stringFile(path + "Header.txt"); // Registri string registro = "COMUNI A TUTTI"; if (qco.idRegistri.Count > 0) { //db.openConnection(); registro = BusinessLogic.Utenti.RegistriManager.getRegistro((string)qco.idRegistri[0]).descrizione; //db.closeConnection(); } tmpStr = tmpStr.Replace("XREGISTRO", registro); // Tipo corrispondente string tipo = "INTERNI/ESTERNI"; if (qco.tipoUtente == DocsPaVO.addressbook.TipoUtente.INTERNO) { tipo = "INTERNI"; } else if (qco.tipoUtente == DocsPaVO.addressbook.TipoUtente.ESTERNO) { tipo = "ESTERNI"; } tmpStr = tmpStr.Replace("XFILTRO", tipo); ReportUtils.addStringToReport(tmpStr, ref report); #endregion Testata #region Tabella //testata tmpStr = ReportUtils.stringFile(path + "TableHead.txt"); ReportUtils.addStringToReport(tmpStr, ref report); //righe string rowString = ReportUtils.stringFile(path + "Row.txt"); qco.getChildren = false; // UO qco.descrizioneUO = ""; addRows(BusinessLogic.Utenti.addressBookManager.getListaCorrispondenti(qco), rowString, ref report); qco.descrizioneUO = null; // Ruoli qco.descrizioneRuolo = ""; addRows(BusinessLogic.Utenti.addressBookManager.getListaCorrispondenti(qco), rowString, ref report); qco.descrizioneRuolo = null; // Utenti qco.cognomeUtente = ""; ArrayList lista = BusinessLogic.Utenti.addressBookManager.getListaCorrispondenti(qco); if (qco.tipoUtente != DocsPaVO.addressbook.TipoUtente.INTERNO) { ArrayList listaSciolti = BusinessLogic.Utenti.addressBookManager.listaCorrEstSciolti(qco); for (int i = 0; i < listaSciolti.Count; i++) { lista.Add(listaSciolti[i]); } } addRows(lista, rowString, ref report); #endregion Tabella #region Bottom tmpStr = ReportUtils.stringFile(path + "Bottom.txt"); ReportUtils.addStringToReport(tmpStr, ref report); #endregion Bottom result.content = (byte[])report.ToArray(typeof(byte)); result.length = result.content.Length; result.contentType = "application/msword"; result.name = "report.rtf"; } catch (Exception e) { logger.Debug("Errore nella gestione di Report (stampa)", e); throw e; } return(result); }