/*private static void aggiornaStorico(DocsPaWS.Utils.Database db, DocsPaVO.utente.Registro registro, DocsPaVO.utente.InfoUtente infoUtente) { * string insertString = * "INSERT INTO DPA_REGISTRO_STO " + * "(" + DocsPaWS.Utils.dbControl.getSystemIdColName() + " ID_REGISTRO, DTA_OPEN, DTA_CLOSE, NUM_RIF, ID_PEOPLE, ID_RUOLO_IN_UO) " + * "SELECT " + DocsPaWS.Utils.dbControl.getSystemIdNextVal("DPA_REGISTRO_STO") + * "SYSTEM_ID, DTA_OPEN, DTA_CLOSE, " + registro.ultimoNumeroProtocollo + ", " + infoUtente.idPeople + "," + infoUtente.idCorrGlobali + * " FROM DPA_EL_REGISTRI WHERE SYSTEM_ID = " + registro.systemId; * logger.Debug(insertString); * db.executeNonQuery(insertString); * }*/ #endregion public static string getIdRegistro(string codiceAmm, string codiceReg) { try { DocsPaDB.Query_DocsPAWS.Model model = new DocsPaDB.Query_DocsPAWS.Model(); string idAmm = model.getIdAmmByCod(codiceAmm); DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider(); DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("S_DPAElRegistri"); q.setParam("param1", " SYSTEM_ID "); q.setParam("param2", " ID_AMM = " + idAmm + " AND upper(VAR_CODICE) = '" + codiceReg.ToUpper() + "'"); string sql = q.getSQL(); logger.Debug(sql); DataSet ds = new DataSet(); dbProvider.ExecuteQuery(ds, sql); if (ds.Tables[0].Rows.Count != 0) { return(ds.Tables[0].Rows[0]["SYSTEM_ID"].ToString()); } else { return(string.Empty); } } catch (Exception ex) { logger.Debug("Errore durante getIdRegistro.", ex); return(string.Empty); } }
//PRIVATE private static DocsPaVO.ProfilazioneDinamica.Templates getTemplateDocumento(DocsPaVO.utente.InfoUtente infoUtente, string tipologiaDocumento) { try { DocsPaDB.Query_DocsPAWS.Model model = new DocsPaDB.Query_DocsPAWS.Model(); ArrayList tipologieDocumento = model.getTemplates(infoUtente.idAmministrazione); foreach (DocsPaVO.ProfilazioneDinamica.Templates template in tipologieDocumento) { if (template.DESCRIZIONE.ToUpper() == tipologiaDocumento.ToUpper()) { return(model.getTemplateById(template.SYSTEM_ID.ToString())); } } return(null); } catch (Exception e) { logger.Debug("Errore in LiveCycle - DocumentiManager - metodo: getTemplateDocumento()", e); return(null); } }
public static DocsPaVO.ProfilazioneDinamica.AssDocFascRuoli getDirittiCampo(string idRuolo, string idTemplate, string idOggetto) { DocsPaDB.Query_DocsPAWS.Model model = new DocsPaDB.Query_DocsPAWS.Model(); return(model.getDirittiCampoTipologiaDoc(idRuolo, idTemplate, idOggetto)); }
/// <summary> /// AS400 CONSRER ogni protocollo fascicolato o modificato in oggetto deve finire anhce in /// delle tabelle di collegamento presenti solo sulla versione etdocs sql di consrer che servono da tramite per /// aggiornare il sistema as400 presente dal cliente. in controlli se il protocollo è fascicolato oppure ha oggetto modificato sono fatti all'interno della progetto DocspaAS400 /// </summary> /// <param name="schedaDoc"></param> public static void setAs400InFolder(string idProfile, DocsPaVO.utente.InfoUtente infoUtente, string idFolder, string constAs400) { DocsPaVO.documento.SchedaDocumento schedaDoc = null; //AS400 string AS400 = System.Configuration.ConfigurationSettings.AppSettings["AS400"]; DocsPaDB.DBProvider db = null; sem.WaitOne(); try { if (AS400 != null && AS400.Equals("1")) { logger.Debug("In AS400"); // string[] checkValues= {"","",""} ; //inizializzazione valori, per essere lanciato l'as400 almeno uno dei valori deve esistere e deve esseere diverso da vuoto. //ricerca scheda. schedaDoc = BusinessLogic.Documenti.DocManager.getDettaglioPerNotificaAllegati(infoUtente, idProfile, ""); if (schedaDoc != null && schedaDoc.tipoProto != null && schedaDoc.tipoProto != "G" && schedaDoc.tipoProto != "R" && schedaDoc.tipologiaAtto != null && (schedaDoc.tipologiaAtto.descrizione != null && schedaDoc.tipologiaAtto.descrizione != "") ) //SOLO PROTOCOLLI { DocsPaDB.Query_DocsPAWS.Model model = new DocsPaDB.Query_DocsPAWS.Model(); DocsPaVO.ProfilazioneDinamica.Templates schTmpl = model.getTemplateDettagli(schedaDoc.docNumber); if (schTmpl != null) { for (int i = 0; i < schTmpl.ELENCO_OGGETTI.Count; i++) { DocsPaVO.ProfilazioneDinamica.OggettoCustom objc = (DocsPaVO.ProfilazioneDinamica.OggettoCustom)schTmpl.ELENCO_OGGETTI[i]; if (objc.DESCRIZIONE.ToLower().Trim().Equals("tipo atto")) { //sostituisco il valore perchè il codice dell'AS400 in docspa30 in realtà la tipologia //è nella profilazione dinamica, mentre il tipo atto in docspa è solo una categoria di tipi_atto_profilati_dinamicamente schedaDoc.tipologiaAtto.descrizione = objc.VALORE_DATABASE.Trim(); // checkValues[0]=objc.VALORE_DATABASE.Trim(); } if (objc.DESCRIZIONE.ToLower().Trim().Equals("commissione referente")) { //sostituisco il valore perchè il codice dell'AS400 in docspa30 schedaDoc.commissioneRef = objc.VALORE_DATABASE.Trim(); // checkValues[1]=objc.VALORE_DATABASE.Trim(); } if (objc.DESCRIZIONE.ToLower().Trim().Equals("numero")) { //sostituisco il valore perchè il codice dell'AS400 in docspa30 schedaDoc.numOggetto = objc.VALORE_DATABASE.Trim(); // checkValues[2]=objc.VALORE_DATABASE.Trim(); } } } } DocsPaAS400.InsertAgent ia = new DocsPaAS400.InsertAgent(); //per essere lanciato l'as400 almeno //uno dei valori deve esistere e deve esseere diverso da vuoto. // if(checkValues[0]!="" || // checkValues[1]!=""|| // checkValues[2]!="") ia.addDocFolder(schedaDoc, schedaDoc.systemId, idFolder); } //FINE AS400 } catch (Exception e) { logger.Debug(e); } finally { if (db != null) { db.Dispose(); } sem.ReleaseMutex(); } }
/// <summary> /// AS400 CONSRER ogni protocollo fascicolato o modificato in oggetto deve finire anhce in /// delle tabelle di collegamento presenti solo sulla versione etdocs sql di consrer che servono da tramite per /// aggiornare il sistema as400 presente dal cliente. in controlli se il protocollo è fascicolato oppure ha oggetto modificato sono fatti all'interno della progetto DocspaAS400 /// </summary> /// <param name="schedaDoc"></param> public static void setAs400(DocsPaVO.documento.SchedaDocumento schedaDoc, string constAs400) { //AS400 string AS400 = System.Configuration.ConfigurationSettings.AppSettings["AS400"]; DocsPaDB.DBProvider db = null; sem.WaitOne(); try { if (AS400 != null && AS400.Equals("1")) { // string[] checkValues= {"","",""} ; //inizializzazione valori, per essere lanciato l'as400 almeno uno dei valori deve esistere e deve esseere diverso da vuoto. logger.Debug("In AS400"); DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); //schedaDoc=BusinessLogic.Documenti.DocManager.getDettaglioPerNotificaAllegati(idGruppo,idPeople,idProfile,docnumber); if (schedaDoc != null && schedaDoc.tipoProto != null && schedaDoc.tipoProto != "G" && schedaDoc.tipoProto != "R" && schedaDoc.tipologiaAtto != null && (schedaDoc.tipologiaAtto.descrizione != null && schedaDoc.tipologiaAtto.descrizione != "")) //SOLO PROTOCOLLI { DocsPaDB.Query_DocsPAWS.Model model = new DocsPaDB.Query_DocsPAWS.Model(); DocsPaVO.ProfilazioneDinamica.Templates schTmpl = model.getTemplateDettagli(schedaDoc.docNumber); if (schTmpl != null) { for (int i = 0; i < schTmpl.ELENCO_OGGETTI.Count; i++) { DocsPaVO.ProfilazioneDinamica.OggettoCustom objc = (DocsPaVO.ProfilazioneDinamica.OggettoCustom)schTmpl.ELENCO_OGGETTI[i]; if (objc.DESCRIZIONE.ToLower().Trim().Equals("tipo atto")) { //sostituisco il valore perchè il codice dell'AS400 in docspa30 in realtà la tipologia //è nella profilazione dinamica, mentre il tipo atto in docspa è solo una categoria di tipi_atto_profilati_dinamicamente schedaDoc.tipologiaAtto.descrizione = objc.VALORE_DATABASE.Trim(); // checkValues[0]=objc.VALORE_DATABASE.Trim(); } if (objc.DESCRIZIONE.ToLower().Trim().Equals("commissione referente")) { //sostituisco il valore perchè il codice dell'AS400 in docspa30 in realtà la tipologia //è nella profilazione dinamica, mentre il tipo atto in docspa è solo una categoria di tipi_atto_profilati_dinamicamente schedaDoc.commissioneRef = objc.VALORE_DATABASE.Trim(); // checkValues[1]=objc.VALORE_DATABASE.Trim(); } if (objc.DESCRIZIONE.ToLower().Trim().Equals("numero")) { //sostituisco il valore perchè il codice dell'AS400 in docspa30 in realtà la tipologia //è nella profilazione dinamica, mentre il tipo atto in docspa è solo una categoria di tipi_atto_profilati_dinamicamente schedaDoc.numOggetto = objc.VALORE_DATABASE.Trim(); //checkValues[2]=objc.VALORE_DATABASE.Trim(); } } } } DocsPaAS400.InsertAgent ia = new DocsPaAS400.InsertAgent(); // if(checkValues[0]!="" || // checkValues[1]!=""|| // checkValues[2]!="") // { db = new DocsPaDB.DBProvider(); db.BeginTransaction(); ArrayList queries = ia.getInsertQueries(constAs400, schedaDoc, db); for (int i = 0; i < queries.Count; i++) { if (!db.ExecuteLockedNonQuery((string)queries[i])) { throw new Exception("Errore nell'inserimento dei dati in AS400"); } } db.CommitTransaction(); } // } //FINE AS400 } catch (Exception e) { db.RollbackTransaction(); logger.Debug(e); } finally { if (db != null) { db.Dispose(); } sem.ReleaseMutex(); } }