/// <summary> /// GetInfoDocumento: metodo che popola il VO per il trasferimento dei dati al frontend /// </summary> /// <param name="dr">DataRow contenente i dati</param> /// <param name="co">CommonObject</param> /// <returns>Un VO popolato</returns> private DocsPaVO.documento.InfoDocumento GetInfoDocumento(DataRow row) { //Creiamo l'oggetto che restituiremo DocsPaVO.documento.InfoDocumento infoDoc = new DocsPaVO.documento.InfoDocumento(); //Popoliamo l'oggetto infoDoc.idProfile = row["SYSTEM_ID"].ToString(); infoDoc.docNumber = row["DOCNUMBER"].ToString(); infoDoc.numProt = row["NUM_PROTO"].ToString(); infoDoc.dataApertura = row["DATA"].ToString(); infoDoc.tipoProto = row["A_P"].ToString(); //aggiunto per gestire gli allegati if (row["ID_DOCUMENTO_PRINCIPALE"] != DBNull.Value) { infoDoc.allegato = (Convert.ToInt32(row["ID_DOCUMENTO_PRINCIPALE"]) > 0); } ArrayList mitt = this.GetElencoCorrispondenti(infoDoc.idProfile); infoDoc.mittDest = mitt; infoDoc.idRegistro = row["ID_REGISTRO"].ToString(); infoDoc.codRegistro = string.Empty; // if (infoDoc.idRegistro.Length>0) // infoDoc.codRegistro = row["codRegistro"].ToString(); infoDoc.oggetto = row["OGGETTO"].ToString(); infoDoc.segnatura = row["VAR_SEGNATURA"].ToString(); //nella ricerca FULL_TEXT, il file c'è sempre. infoDoc.acquisitaImmagine = row["CHA_IMG"].ToString(); return(infoDoc); }
/// <summary> /// Reperimento dell'ultima nota visibile dall'utente associata al documento /// </summary> /// <param name="infoUtente"></param> /// <param name="infoDocumento"></param> /// <returns></returns> public static string GetNotaDocumento(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.InfoDocumento infoDocumento) { return(BusinessLogic.Note.NoteManager.GetUltimaNotaAsString(infoUtente, new DocsPaVO.Note.AssociazioneNota { Id = infoDocumento.idProfile, TipoOggetto = DocsPaVO.Note.AssociazioneNota.OggettiAssociazioniNotaEnum.Documento })); }
public ArrayList GetDocumentiETDOCS(string[] resultKeys, InfoUtente infoUtente) { logger.Debug("GetDocumentiETDOCS_NO_SECURITY"); string resultQuery = this.GetSearchResultFilterCriteriaETDOCS(resultKeys); ArrayList result = new ArrayList(); string queryString = ""; DocsPaUtils.Query q; q = DocsPaUtils.InitQuery.getInstance().getQuery("S_FULLTEXT_GET_DOCUMENTI"); q.setParam("param", resultQuery); q.setParam("creationDate", DocsPaDbManagement.Functions.Functions.ToChar("P.CREATION_DATE", false)); q.setParam("dbuser", DocsPaDbManagement.Functions.Functions.GetDbUserSession()); queryString = q.getSQL(); logger.Debug(queryString); DataSet dsp = new DataSet(); this.ExecuteQuery(out dsp, "PROFILE", queryString); // recupero informazioni documenti foreach (DataRow dr in dsp.Tables[0].Rows) { DocsPaVO.documento.InfoDocumento tmp = this.GetInfoDocumento(dr); result.Add(tmp); tmp = null; } return(result); }
/// <summary> /// /// </summary> /// <param name="infoUtente"></param> /// <param name="docNumber"></param> /// <returns></returns> public static DocsPaVO.documento.InfoDocumento GetDocumento(DocsPaVO.utente.InfoUtente infoUtente, string docNumber) { DocsPaVO.documento.InfoDocumento infoDocumento = BusinessLogic.Documenti.DocManager.GetInfoDocumento(infoUtente, docNumber, docNumber, true); if (infoDocumento == null) { throw new ApplicationException(string.Format("Documento con id {0} non trovato", docNumber)); } return(infoDocumento); }
public ArrayList GetDocumentiFilenet(string[] resultKeys, InfoUtente infoUtente) { logger.Debug("GetDocumenti"); string resultQuery = this.GetSearchResultFilterCriteria(resultKeys); ArrayList result = new ArrayList(); string querySql = "SELECT DISTINCT " + "P.SYSTEM_ID,P.DOCNUMBER, " + "P.NUM_PROTO, " + "P.VAR_SEGNATURA, " + DocsPaDbManagement.Functions.Functions.ToChar("P.CREATION_DATE", false) + " AS DATA, " + "P.ID_REGISTRO AS ID_REGISTRO, " + // "R.VAR_CODICE As codRegistro, " + "P.CHA_TIPO_PROTO As A_P, " + "P.VAR_PROF_OGGETTO AS OGGETTO, " + "P.SYSTEM_ID, " + "P.CHA_IMG AS CHA_IMG, " + //aggiunto "P.ID_DOCUMENTO_PRINCIPALE " + //aggiunto "FROM PROFILE P,SECURITY S,DPA_EL_REGISTRI R " + "WHERE P.DOCNUMBER IN ("+ resultQuery + ") " + "AND (S.ACCESSRIGHTS >= 0 " + "AND (S.PERSONORGROUP = " + infoUtente.idPeople + " OR S.PERSONORGROUP=" + infoUtente.idGruppo + ")) " + "AND S.THING = P.SYSTEM_ID " + "AND (R.SYSTEM_ID=P.ID_REGISTRO OR P.ID_REGISTRO IS NULL)"; logger.Debug(querySql); DataSet ds = new DataSet(); this.ExecuteQuery(out ds, "PROFILE", querySql); // recupero informazioni foreach (DataRow dr in ds.Tables["PROFILE"].Rows) { DocsPaVO.documento.InfoDocumento tmp = this.GetInfoDocumento(dr); result.Add(tmp); tmp = null; } ds = null; return(result); }
/// <summary> /// Inserisce in deposito una serie di documenti /// </summary> /// <param name="infoUtente"></param> /// <param name="template"></param> /// <returns></returns> public static int TrasfInDepositoSerie(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.ProfilazioneDinamica.Templates template, string anno, string valOggetto, string tipoOp, string rfAOO) { bool result = false; int docInDep2 = 0; using (DocsPaDB.TransactionContext transactionalContext = new DocsPaDB.TransactionContext()) { ArrayList listaInfoDoc = new ArrayList(); DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); //Recupero la serie di documenti listaInfoDoc = doc.ListaDocumentiInSerie(listaInfoDoc, template, anno, valOggetto, rfAOO); string resInsDoc = ""; for (int i = 0; i < listaInfoDoc.Count; i++) { DocsPaVO.documento.InfoDocumento infoDoc = (DocsPaVO.documento.InfoDocumento)listaInfoDoc[i]; //Trasferimento in deposito dell'i-esimo documento del fascicolo resInsDoc = TrasfInDepositoDoc(infoDoc.idProfile, "1", tipoOp); if (resInsDoc == "-1") { break; } if (resInsDoc == "2") { docInDep2++; } } if (resInsDoc == "-1") { result = false; } else { result = true; } if (result) { transactionalContext.Complete(); } } return(docInDep2); }
public static DocsPaVO.trasmissione.Trasmissione addTrasmDaTemplate(DocsPaVO.documento.InfoDocumento infoDocumento, DocsPaVO.trasmissione.TemplateTrasmissione template, DocsPaVO.utente.Utente utente, DocsPaVO.utente.Ruolo ruolo) { //DocsPaVO.utente.Utente utente = utenti.getUtente(infoUtente.idPeople); //DocsPaVO.utente.Ruolo ruolo = Utenti.UserManager.getRuolo(infoUtente.idCorrGlobali); // DocsPaVO.utente.InfoUtente infoUtente = null; if (template == null) { return(null); } DocsPaVO.trasmissione.Trasmissione trasmTemplate = cercaTrasmissioneTemplate(template, infoDocumento, utente, ruolo); if (trasmTemplate == null) { return(null); } DocsPaVO.trasmissione.Trasmissione trasmissione = new DocsPaVO.trasmissione.Trasmissione(); //Ricostruisci la nuova trasmissione, con le trasmissioni utenti aggiornate trasmissione.utente = utente; trasmissione.ruolo = ruolo; trasmissione.tipoOggetto = trasmTemplate.tipoOggetto; trasmissione.noteGenerali = template.descrizione; // CONTROLLARE DOVE PRENDERE L'INFORMAZIONE trasmissione.infoDocumento = infoDocumento; if (trasmTemplate.trasmissioniSingole != null && trasmTemplate.trasmissioniSingole.Count > 0) { for (int i = 0; i < trasmTemplate.trasmissioniSingole.Count; i++) { trasmissione = addTrasmissioneSingola(trasmissione, ((DocsPaVO.trasmissione.TrasmissioneSingola)trasmTemplate.trasmissioniSingole[i]), utente.idAmministrazione); } } if (trasmissione != null && trasmissione.trasmissioniSingole != null && trasmissione.trasmissioniSingole.Count > 0) { trasmissione = TrasmManager.saveTrasmMethod(trasmissione); } else { logger.Debug("Errore nella creazione dell'oggetto trasmissione da template o trasmissioni singole non presenti"); return(null); } return(trasmissione); }
//OK VERO /// <summary> /// Inserisce in deposito tutti i documenti in un dato fascicolo generale /// Inserisce in deposito il fascicolo generale: il valore di questo in archivio /// sarà sempre 2 /// </summary> /// <param name="fascicolo"></param> /// <param name="anno"></param> /// <param name="infoUtente"></param> /// <returns></returns> public static int TrasfInDepositoAllDocsFascGen(DocsPaVO.fascicolazione.Fascicolo fascicolo, string anno, DocsPaVO.utente.InfoUtente infoUtente, string tipoOp) { int docInDep2 = 0; bool result = false; using (DocsPaDB.TransactionContext transactionalContext = new DocsPaDB.TransactionContext()) { //Recupero la lista di tutti i documenti contenuti in un dato fascicolo generale DocsPaDB.Query_DocsPAWS.Fascicoli fasc = new DocsPaDB.Query_DocsPAWS.Fascicoli(); ArrayList listaDoc = fasc.GetDocumentiDaArchiviare(infoUtente.idGruppo, infoUtente.idPeople, fascicolo, anno); string resInsDoc = ""; for (int i = 0; i < listaDoc.Count; i++) { DocsPaVO.documento.InfoDocumento infoDoc = (DocsPaVO.documento.InfoDocumento)listaDoc[i]; resInsDoc = TrasfInDepositoDoc(infoDoc.idProfile, "0", tipoOp); if (resInsDoc == "-1") { break; } if (resInsDoc == "2") { docInDep2++; } } if (resInsDoc != "-1") { //il fascicolo genereale viene inserito in deposito sempre con valore a 2 result = TrasfInDepositoFascicolo(fascicolo.systemID, "2", tipoOp); } if (result) { transactionalContext.Complete(); } } return(docInDep2); }
/// <summary> /// /// </summary> /// <param name="serverName"></param> /// <param name="path"></param> /// <param name="messaggio"></param> /// <param name="infoUtente"></param> /// <param name="ruolo"></param> /// <param name="registro"></param> /// <param name="destinatario"></param> private static void processaMessaggio(string serverName, string path, ZfLib.Message messaggio, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.utente.Registro registro, DocsPaVO.utente.Corrispondente destinatario) { logger.Debug("processaMessaggio"); System.IO.FileStream fs = null; bool daAggiornareUffRef = false; bool dbOpen = false; bool fsOpen = false; try { //informazioni sul fax string dataRic = messaggio.GetMsgHistories()[0].Date.ToString(); logger.Debug(" @ dataric = " + dataRic); //accesso al file del fax fs = getFileStream(path + messaggio.GetMsgInfo().Body); //=new System.IO.FileStream(path+messaggio.GetMsgInfo().Body+".G3N",System.IO.FileMode.Open,System.IO.FileAccess.ReadWrite,System.IO.FileShare.ReadWrite); logger.Debug(fs.CanRead.ToString() + "@ OK @"); fsOpen = true; //creazione scheda documento DocsPaVO.documento.SchedaDocumento sd = new DocsPaVO.documento.SchedaDocumento(); sd.idPeople = infoUtente.idPeople; logger.Debug("sd.idPeople = " + sd.idPeople.ToString()); sd.userId = infoUtente.userId; logger.Debug("sd.userId = " + sd.userId.ToString()); DocsPaVO.documento.Oggetto ogg = new DocsPaVO.documento.Oggetto(); ogg.descrizione = "Fax ricevuto in data " + dataRic; //DA COMPLETARE sd.oggetto = ogg; sd.predisponiProtocollazione = true; sd.registro = registro; sd.tipoProto = "A"; sd.typeId = "MAIL"; //aggiunta protocollo entrata DocsPaVO.documento.ProtocolloEntrata protEntr = new DocsPaVO.documento.ProtocolloEntrata(); DocsPaVO.utente.Corrispondente mittente = new DocsPaVO.utente.Corrispondente(); mittente.descrizione = messaggio.GetMsgInfo().Comment; logger.Debug(" @ mittente.descrizione = " + mittente.descrizione); //"QUI SI METTONO INFORMAZIONI"; protEntr.mittente = mittente; sd.protocollo = protEntr; protEntr.dataProtocollazione = System.DateTime.Today.ToString(); sd.appId = "ACROBAT"; sd = BusinessLogic.Documenti.DocSave.addDocGrigia(sd, infoUtente, ruolo); logger.Debug("Salvataggio doc..."); sd = BusinessLogic.Documenti.DocSave.save(infoUtente, sd, false, out daAggiornareUffRef, ruolo); logger.Debug("Salvataggio eseguito"); DocsPaVO.documento.FileDocumento fd = new DocsPaVO.documento.FileDocumento(); byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, (int)fs.Length); fd.content = buffer; fd.length = buffer.Length; fd.name = "fax.tif"; BusinessLogic.Documenti.FileManager.putFile((DocsPaVO.documento.FileRequest)sd.documenti[0], fd, infoUtente); logger.Debug("Documento inserito"); fs.Close(); fsOpen = false; //TRASMISSIONE DocsPaVO.trasmissione.Trasmissione trasm = new DocsPaVO.trasmissione.Trasmissione(); trasm.ruolo = ruolo; //db.openConnection(); dbOpen = true; trasm.utente = BusinessLogic.Utenti.UserManager.getUtente(infoUtente.idPeople); DocsPaVO.documento.InfoDocumento infoDoc = new DocsPaVO.documento.InfoDocumento(); infoDoc.idProfile = sd.systemId; infoDoc.docNumber = sd.docNumber; infoDoc.oggetto = sd.oggetto.descrizione; infoDoc.tipoProto = "A"; trasm.infoDocumento = infoDoc; //costruzione singole trasmissioni DocsPaVO.trasmissione.RagioneTrasmissione ragione = getRagioneTrasm(); System.Collections.ArrayList dest = new System.Collections.ArrayList(); dest.Add(destinatario); System.Collections.ArrayList trasmissioniSing = new System.Collections.ArrayList(); for (int i = 0; i < dest.Count; i++) { DocsPaVO.trasmissione.TrasmissioneSingola trSing = new DocsPaVO.trasmissione.TrasmissioneSingola(); trSing.ragione = ragione; logger.Debug(dest[i].GetType().ToString()); if (dest[i].GetType().Equals(typeof(DocsPaVO.utente.Ruolo))) { logger.Debug("ruolo"); trSing.corrispondenteInterno = (DocsPaVO.utente.Ruolo)dest[i]; } else { logger.Debug("utente"); trSing.corrispondenteInterno = (DocsPaVO.utente.Utente)dest[i]; } logger.Debug("ok"); trSing.tipoTrasm = "S"; if (dest[i].GetType().Equals(typeof(DocsPaVO.utente.Ruolo))) { logger.Debug("caso ruolo"); trSing.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.RUOLO; //ricerca degli utenti del ruolo System.Collections.ArrayList utenti = new System.Collections.ArrayList(); DocsPaVO.addressbook.QueryCorrispondente qc = new DocsPaVO.addressbook.QueryCorrispondente(); qc.codiceRubrica = ((DocsPaVO.utente.Ruolo)dest[i]).codiceRubrica; System.Collections.ArrayList registri = new System.Collections.ArrayList(); registri.Add(registro.systemId); qc.idRegistri = registri; qc.idAmministrazione = registro.idAmministrazione; qc.getChildren = true; utenti = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qc); System.Collections.ArrayList trasmissioniUt = new System.Collections.ArrayList(); for (int k = 0; k < utenti.Count; k++) { DocsPaVO.trasmissione.TrasmissioneUtente trUt = new DocsPaVO.trasmissione.TrasmissioneUtente(); trUt.utente = (DocsPaVO.utente.Utente)utenti[k]; trasmissioniUt.Add(trUt); } trSing.trasmissioneUtente = trasmissioniUt; } else { logger.Debug("Caso utente"); trSing.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.UTENTE; System.Collections.ArrayList trasmissioniUt = new System.Collections.ArrayList(); DocsPaVO.trasmissione.TrasmissioneUtente trUt = new DocsPaVO.trasmissione.TrasmissioneUtente(); trUt.utente = (DocsPaVO.utente.Utente)dest[i]; trasmissioniUt.Add(trUt); trSing.trasmissioneUtente = trasmissioniUt; } trasmissioniSing.Add(trSing); } trasm.trasmissioniSingole = trasmissioniSing; if (infoUtente.delegato != null) { trasm.delegato = ((DocsPaVO.utente.InfoUtente)(infoUtente.delegato)).idPeople; } //BusinessLogic.Trasmissioni.TrasmManager.saveTrasmMethod(trasm); //BusinessLogic.Trasmissioni.ExecTrasmManager.executeTrasmMethod(serverName,trasm); BusinessLogic.Trasmissioni.ExecTrasmManager.saveExecuteTrasmMethod(serverName, trasm); } catch (Exception e) { logger.Debug(e.Message); if (fsOpen) { fs.Close(); } if (dbOpen) { //db.closeConnection(); } logger.Debug("Errore nella gestione dei fax (processaMessaggio)", e); throw e; } }
public ArrayList GetDocumentiETDOCS_OLD(string[] resultKeys, InfoUtente infoUtente) { logger.Debug("GetDocumentiETDOCS"); string resultQuery = this.GetSearchResultFilterCriteriaETDOCS(resultKeys); ArrayList result = new ArrayList(); string querySql = "SELECT DISTINCT " + "P.SYSTEM_ID, " + "P.DOCNUMBER, " + "P.NUM_PROTO, " + "P.VAR_SEGNATURA, " + DocsPaDbManagement.Functions.Functions.ToChar("P.CREATION_DATE", false) + " AS DATA, " + "P.CHA_TIPO_PROTO As A_P, " + "P.VAR_PROF_OGGETTO AS OGGETTO, " + "P.ID_REGISTRO AS ID_REGISTRO, " + "P.CHA_IMG AS CHA_IMG, " + "P.ID_DOCUMENTO_PRINCIPALE " + "FROM PROFILE P,SECURITY S " + "WHERE P.SYSTEM_ID IN ("+ resultQuery + ") " + "AND S.THING = P.SYSTEM_ID " + "ORDER BY P.DOCNUMBER DESC"; // //query su DOCSPA // string querySql="SELECT DISTINCT " + // "P.SYSTEM_ID, " + // "P.DOCNUMBER, " + // "P.NUM_PROTO, " + // "P.VAR_SEGNATURA, " + // DocsPaDbManagement.Functions.Functions.ToChar("P.CREATION_DATE",false) + " AS DATA, " + // "P.CHA_TIPO_PROTO As A_P, " + // "P.VAR_PROF_OGGETTO AS OGGETTO, " + // "P.ID_REGISTRO AS ID_REGISTRO " + // "FROM PROFILE P,COMPONENTS C, SECURITY S " + //, DPA_EL_REGISTRI R " + // "WHERE C.VERSION_ID IN (" + resultQuery + ") " + // //"AND (S.ACCESSRIGHTS > 0 " + // //"AND (S.PERSONORGROUP = " + infoUtente.idPeople + " OR S.PERSONORGROUP=" + infoUtente.idGruppo + ")) " + // "AND S.THING = P.SYSTEM_ID AND C.DOCNUMBER=P.DOCNUMBER " + // //"AND (R.SYSTEM_ID=P.ID_REGISTRO OR P.ID_REGISTRO IS NULL) " + // //"AND P.CHA_TIPO_PROTO!='R' " + // "ORDER BY P.DOCNUMBER DESC"; logger.Debug(querySql); DataSet dsp = new DataSet(); this.ExecuteQuery(out dsp, "PROFILE", querySql); // recupero informazioni documenti foreach (DataRow dr in dsp.Tables[0].Rows) { DocsPaVO.documento.InfoDocumento tmp = this.GetInfoDocumento(dr); result.Add(tmp); tmp = null; } return(result); //return new ArrayList(); }
public bool AddDocumentoInCestino(DocsPaVO.documento.InfoDocumento infoDocumento) { throw new NotImplementedException(); }
/// <summary> /// Inserimento di un documento nel cestino /// </summary> /// <param name="infoDocumento"></param> /// <returns></returns> public bool AddDocumentoInCestino(DocsPaVO.documento.InfoDocumento infoDocumento) { return(this.Instance.AddDocumentoInCestino(infoDocumento)); }
/// <summary> /// Reperimento della descrizione dello stato associato al documento /// </summary> /// <param name="infoUtente"></param> /// <param name="infoDocumento"></param> /// <returns></returns> public static string GetDescrizioneStatoDocumento(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.InfoDocumento infoDocumento) { string descrizioneStato = string.Empty; if (!string.IsNullOrEmpty(infoDocumento.idTipoAtto)) { DocsPaVO.DiagrammaStato.Stato stato = BusinessLogic.DiagrammiStato.DiagrammiStato.getStatoDoc(infoDocumento.docNumber); if (stato != null) { descrizioneStato = stato.DESCRIZIONE; } } return(descrizioneStato); }
private static DocsPaVO.trasmissione.Trasmissione cercaTrasmissioneTemplate(DocsPaVO.trasmissione.TemplateTrasmissione template, DocsPaVO.documento.InfoDocumento infoDocumento, DocsPaVO.utente.Utente utente, DocsPaVO.utente.Ruolo ruolo) { DocsPaVO.trasmissione.OggettoTrasm oggTrasm = new DocsPaVO.trasmissione.OggettoTrasm(); oggTrasm.infoDocumento = infoDocumento; return(Trasmissioni.QueryTrasmManager.getTrasmissione(template.idTrasmissione, "E", false, null, utente, ruolo)); }
public static DocsPaVO.trasmissione.Trasmissione creaTrasmDaTemplate(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.trasmissione.TemplateTrasmissione template, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo) { DocsPaVO.documento.InfoDocumento infoDocumento = Documenti.DocManager.getInfoDocumento(schedaDocumento); DocsPaVO.utente.Utente utente = Utenti.UserManager.getUtente(infoUtente.idPeople); return(addTrasmDaTemplate(infoDocumento, template, utente, ruolo)); }
/// <summary> /// </summary> /// <param name="utente"></param> /// <param name="ruolo"></param> /// <param name="tipoObj"></param> /// <param name="tipoDoc"></param> /// <param name="tipoFasc"></param> /// <param name="numPage"></param> /// <param name="numTotPage"></param> /// <param name="nRec"></param> /// <returns></returns> public static DocsPaVO.areaLavoro.AreaLavoro getAreaLavoroPaging(DocsPaVO.utente.Utente utente, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.areaLavoro.TipoOggetto tipoObj, DocsPaVO.areaLavoro.TipoDocumento tipoDoc, DocsPaVO.areaLavoro.TipoFascicolo tipoFasc, string idRegistro, bool enableUffRef, string chaDaProto, int numPage, out int numTotPage, out int nRec, DocsPaVO.filtri.FiltroRicerca[][] query = null) { //DocsPaWS.Utils.Database db=DocsPaWS.Utils.dbControl.getDatabase(); DataSet dataSet; DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); DocsPaVO.areaLavoro.AreaLavoro al = new DocsPaVO.areaLavoro.AreaLavoro(); try { //db.openConnection(); string idPeople = utente.idPeople; string idRuoloInUo = ruolo.systemId; //DocsPaVO.areaLavoro.QueryAreaLavoro qal = new DocsPaVO.areaLavoro.QueryAreaLavoro(); //costruzione della query //doc.GetAreaLavoro(out dataSet, idPeople, idRuoloInUo, tipoObj, tipoDoc, tipoFasc); doc.GetAreaLavoroPaging(out dataSet, idPeople, idRuoloInUo, tipoObj, tipoDoc, tipoFasc, idRegistro, chaDaProto, numPage, out numTotPage, out nRec, query); #region codice originale /*string queryString="SELECT * FROM DPA_AREA_LAVORO WHERE ID_PEOPLE='"+idPeople+"' AND ID_RUOLO_IN_UO='"+idRuoloInUo+"'"; * if(tipoObj==DocsPaVO.areaLavoro.TipoOggetto.DOCUMENTO) * { * queryString=queryString+" AND ID_PROFILE IS NOT NULL"; * if(tipoDoc!=DocsPaVO.areaLavoro.TipoDocumento.TUTTI){ * queryString=queryString+" AND CHA_TIPO_DOC='"+DocsPaVO.areaLavoro.QueryAreaLavoro.tipoDocString[tipoDoc]+ "'"; * } * } * else * { * queryString=queryString+" AND ID_PROJECT IS NOT NULL"; * if(tipoFasc!=DocsPaVO.areaLavoro.TipoFascicolo.TUTTI) * { * queryString=queryString+" AND CHA_TIPO_FASC='"+DocsPaVO.areaLavoro.QueryAreaLavoro.tipoFascString[tipoFasc]+"'"; * } * } * logger.Debug(queryString); * db.fillTable(queryString,dataSet,"OGGETTI"); */ #endregion //si riempie la lista if (tipoObj == DocsPaVO.areaLavoro.TipoOggetto.DOCUMENTO) { logger.Debug("lista documenti"); foreach (DataRow dr in dataSet.Tables["PagingTable"].Rows) { DocsPaVO.documento.InfoDocumento id = new DocsPaVO.documento.InfoDocumento(); id.idProfile = dr["ID_PROFILE"].ToString(); id.tipoProto = dr["CHA_TIPO_DOC"].ToString(); id.docNumber = dr["DOCNUMBER"].ToString(); //DocsPaVO.utente.InfoUtente infoUtente=new DocsPaVO.utente.InfoUtente(utente,ruolo); /* mod sab * DocsPaVO.documento.SchedaDocumento sd=DocManager.getDettaglio(id,sic); * //DocsPaVO.documento.Documento doc=(DocsPaVO.documento.Documento) sd.documenti[0]; * DocsPaVO.documento.InfoDocumento infoDoc=new DocsPaVO.documento.InfoDocumento(sd); */ //nuovo DocsPaDB.Query_DocsPAWS.Documenti documento = new DocsPaDB.Query_DocsPAWS.Documenti(); DocsPaVO.documento.InfoDocumento infoDoc; infoDoc = documento.GetInfoDocumento(ruolo.idGruppo, utente.idPeople, id.docNumber, true); //fine nuovo if (infoDoc != null) { infoDoc.tipoProto = dr["CHA_TIPO_DOC"].ToString(); al.lista.Add(infoDoc); } } } else { logger.Debug("lista fascicoli"); foreach (DataRow dr in dataSet.Tables["DPA_AREA_LAVORO"].Rows) { DocsPaVO.fascicolazione.InfoFascicolo infoFasc = new DocsPaVO.fascicolazione.InfoFascicolo(); infoFasc.idFascicolo = dr["ID_PROJECT"].ToString(); DocsPaVO.utente.InfoUtente sic = new DocsPaVO.utente.InfoUtente(utente, ruolo); //Federica 5 ott 2005 DocsPaVO.fascicolazione.Fascicolo fasc = BusinessLogic.Fascicoli.FascicoloManager.getDettaglio(sic, infoFasc, enableUffRef); if (fasc == null) { logger.Debug("Errore nella gestione dell'area lavoro (getAreaLavoroPaging)"); //TODO: gestire la throw throw new Exception(); } fasc.tipo = dr["CHA_TIPO_FASC"].ToString(); al.lista.Add(fasc); } } // db.closeConnection(); return(al); } catch (Exception e) { logger.Debug("Errore nella gestione dell'area lavoro (getAreaLavoroPaging)", e); //db.closeConnection(); throw e; } }
private static DocsPaVO.trasmissione.Trasmissione creaTrasmDaModello(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo) { DocsPaVO.trasmissione.Trasmissione trasmissione = new DocsPaVO.trasmissione.Trasmissione(); try { DocsPaVO.documento.InfoDocumento infoDocumento = Documenti.DocManager.getInfoDocumento(schedaDocumento); trasmissione.infoDocumento = infoDocumento; DocsPaVO.utente.Utente utente = Utenti.UserManager.getUtente(infoUtente.idPeople); trasmissione.utente = utente; trasmissione.ruolo = ruolo; trasmissione.tipoOggetto = DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO; trasmissione.noteGenerali = modello.VAR_NOTE_GENERALI; for (int i = 0; i < modello.RAGIONI_DESTINATARI.Count; i++) { DocsPaVO.Modelli_Trasmissioni.RagioneDest ragDest = (DocsPaVO.Modelli_Trasmissioni.RagioneDest)modello.RAGIONI_DESTINATARI[i]; ArrayList destinatari = new ArrayList(ragDest.DESTINATARI); for (int j = 0; j < destinatari.Count; j++) { DocsPaVO.Modelli_Trasmissioni.MittDest mittDest = (DocsPaVO.Modelli_Trasmissioni.MittDest)destinatari[j]; DocsPaVO.trasmissione.RagioneTrasmissione ragione = Trasmissioni.QueryTrasmManager.getRagioneById(mittDest.ID_RAGIONE.ToString()); DocsPaVO.utente.Corrispondente corr = Utenti.UserManager.getCorrispondenteBySystemID(mittDest.ID_CORR_GLOBALI.ToString()); if (corr != null) //corr nullo se non esiste o se è stato disabilitato { // Aggiungo la trasmissione singola DocsPaVO.trasmissione.TrasmissioneSingola trasmissioneSingola = new DocsPaVO.trasmissione.TrasmissioneSingola(); trasmissioneSingola.tipoTrasm = mittDest.CHA_TIPO_TRASM; trasmissioneSingola.corrispondenteInterno = corr; trasmissioneSingola.ragione = ragione; trasmissioneSingola.noteSingole = mittDest.VAR_NOTE_SING; // RUOLO if (corr is DocsPaVO.utente.Ruolo) { trasmissioneSingola.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.RUOLO; ArrayList listaUtenti = queryUtenti(corr, modello.ID_AMM); if (listaUtenti.Count == 0) { trasmissioneSingola = null; } for (int ut = 0; ut < listaUtenti.Count; ut++) { DocsPaVO.trasmissione.TrasmissioneUtente trasmissioneUtente = new DocsPaVO.trasmissione.TrasmissioneUtente(); trasmissioneUtente.utente = (DocsPaVO.utente.Utente)listaUtenti[ut]; trasmissioneUtente.daNotificare = true; trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente); } } // UTENTE if (corr is DocsPaVO.utente.Utente) { trasmissioneSingola.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.UTENTE; DocsPaVO.trasmissione.TrasmissioneUtente trasmissioneUtente = new DocsPaVO.trasmissione.TrasmissioneUtente(); trasmissioneUtente.utente = (DocsPaVO.utente.Utente)corr; trasmissioneUtente.daNotificare = true; trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente); } if (trasmissioneSingola != null) { trasmissione.trasmissioniSingole.Add(trasmissioneSingola); } } } } } catch { trasmissione = null; } return(trasmissione); }
/// <summary> /// Ripristino del documento dal cestino /// </summary> /// <param name="infoDocumento"></param> /// <returns></returns> public bool RestoreDocumentoDaCestino(DocsPaVO.documento.InfoDocumento infoDocumento) { return(this.Instance.RestoreDocumentoDaCestino(infoDocumento)); }
/// <summary></summary> /// <param name="schedaDoc"></param> /// <param name="infoUtente"></param> /// <returns></returns> public static DocsPaVO.documento.FileDocumento getSchedaDocReport(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.SchedaDocumento schedaDoc, string mittDest_Indirizzo) { DocsPaVO.documento.FileDocumento result = null; if (schedaDoc.protocollo == null) { result = GetStampaProfiloRTF(infoUtente, schedaDoc); } else { result = new DocsPaVO.documento.FileDocumento(); string path = AppDomain.CurrentDomain.BaseDirectory; string report = string.Empty; bool existUffRef = false; try { existUffRef = ExistUfficioReferente(schedaDoc); logger.Debug("Generazione report"); if (existUffRef) { report = ReportUtils.stringFile(path + "\\report\\schedaDoc\\SchedaDoc_UffRef.rtf"); } else { report = ReportUtils.stringFile(path + "\\report\\schedaDoc\\SchedaDoc.rtf"); } if (schedaDoc.registro != null) { report = report.Replace("XNOME_REGISTRO", schedaDoc.registro.descrizione); report = report.Replace("XCODICE_REGISTRO", schedaDoc.registro.codRegistro); } else { report = report.Replace("XNOME_REGISTRO", string.Empty); report = report.Replace("XCODICE_REGISTRO", string.Empty); } report = report.Replace("XNUM_PR", schedaDoc.protocollo.numero); report = report.Replace("XDTA_PR", schedaDoc.protocollo.dataProtocollazione); report = report.Replace("XA/P", schedaDoc.tipoProto); string mittDest = ""; string protMitt = ""; string uffRef = ""; // Ufficio referente DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); if (schedaDoc.protocollo.GetType().Equals(typeof(DocsPaVO.documento.ProtocolloEntrata))) { if (mittDest_Indirizzo.ToUpper() == "FALSE") { mittDest = ((DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo).mittente.descrizione; } else if (mittDest_Indirizzo.ToUpper() == "TRUE") { mittDest = doc.GetIndirizzoMittDest(schedaDoc.systemId, schedaDoc.tipoProto); } protMitt = ((DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo).dataProtocolloMittente + ((DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo).descrizioneProtocolloMittente; // Ufficio referente if (existUffRef) { uffRef = ((DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo).ufficioReferente.descrizione; } } else { // Ufficio referente if (existUffRef) { uffRef = ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).ufficioReferente.descrizione; } if (mittDest_Indirizzo.ToUpper() == "FALSE") { System.Collections.ArrayList dest = ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatari; for (int i = 0; i < dest.Count; i++) { mittDest = mittDest + ((DocsPaVO.utente.Corrispondente)dest[i]).descrizione; if (i < (dest.Count - 1)) { mittDest = mittDest + " \\par "; } } System.Collections.ArrayList destCC = ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatariConoscenza; if (destCC != null && destCC.Count > 0) { mittDest = mittDest + " \\par "; for (int i = 0; i < destCC.Count; i++) { mittDest = mittDest + ((DocsPaVO.utente.Corrispondente)destCC[i]).descrizione; if (i < (destCC.Count - 1)) { mittDest = mittDest + " \\par "; } } } } else if (mittDest_Indirizzo.ToUpper() == "TRUE") { mittDest = doc.GetIndirizzoMittDest(schedaDoc.systemId, schedaDoc.tipoProto); } } report = report.Replace("XMITT/DEST", mittDest); report = report.Replace("XPROT_MITT", protMitt); //classifica DocsPaVO.documento.InfoDocumento infoDoc = new DocsPaVO.documento.InfoDocumento(schedaDoc); System.Collections.ArrayList fascicoli = BusinessLogic.Fascicoli.FascicoloManager.getFascicoliDaDoc(infoUtente, infoDoc.idProfile); string classifica = ""; string codice = ""; for (int i = 0; i < fascicoli.Count; i++) { //questo serve in caso nel codice fascicolo sia utilizzato come separatore il back slash "\", solo così è stampato nel file rtf... codice = ((DocsPaVO.fascicolazione.Fascicolo)fascicoli[i]).codice.Replace(@"\", @"{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1040\langfe1033\langnp1040\insrsid4612691 \\}"); classifica = classifica + " " + codice; if (i < (fascicoli.Count - 1)) { classifica = classifica + " \\par"; } } report = report.Replace("XCLASSIFICA", classifica); report = report.Replace("XRISPOSTA", ""); report = report.Replace("XOGGETTO", schedaDoc.oggetto.descrizione); report = report.Replace("XNOTE", BusinessLogic.Note.NoteManager.GetUltimaNotaAsString(infoUtente, new DocsPaVO.Note.AssociazioneNota(DocsPaVO.Note.AssociazioneNota.OggettiAssociazioniNotaEnum.Documento, schedaDoc.systemId))); if (existUffRef) { report = report.Replace("XUFFREF", uffRef); } result.content = ReportUtils.toByteArray(report); 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 (getSchedaDocReport)", e); throw e; } } return(result); }
public bool RestoreDocumentoDaCestino(DocsPaVO.documento.InfoDocumento infoDocumento) { throw new NotImplementedException(); }