Search in sources :

Example 1 with RicercaDocContComponentSession

use of it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession in project sigla-main by consiglionazionaledellericerche.

the class RiportoEsSuccessivoBP method initializeSelection.

/**
 * inizializza il pg_call del protocollo VSX in modo da consentire l'inserimento dei doc. contabili
 * selezionat dall'utente nella tabella VSX_CHIUSURA
 */
public void initializeSelection(it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
    try {
        V_obb_acc_xxxBulk doc = ((RicercaDocContComponentSession) createComponentSession()).initializeSelectionPerRiportaAvanti(context.getUserContext(), (V_obb_acc_xxxBulk) getModel());
        setModel(context, doc);
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : V_obb_acc_xxxBulk(it.cnr.contab.chiusura00.bulk.V_obb_acc_xxxBulk) RicercaDocContComponentSession(it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) ApplicationException(it.cnr.jada.comp.ApplicationException)

Example 2 with RicercaDocContComponentSession

use of it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession in project sigla-main by consiglionazionaledellericerche.

the class RiportoEsSuccessivoBP method cercaDocDaRiportare.

/**
 * Ricerca di documenti contabili idonei al riporto avanti
 *
 * @param context	L'ActionContext della richiesta
 * @param model
 * @return
 * @throws BusinessProcessException
 */
public it.cnr.jada.util.RemoteIterator cercaDocDaRiportare(ActionContext context, V_obb_acc_xxxBulk model) throws it.cnr.jada.action.BusinessProcessException {
    try {
        validaRibaltamento(context);
        RicercaDocContComponentSession sessione = (RicercaDocContComponentSession) createComponentSession();
        return it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context, sessione.cercaPerRiportaAvanti(context.getUserContext(), model));
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : RicercaDocContComponentSession(it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) ApplicationException(it.cnr.jada.comp.ApplicationException)

Example 3 with RicercaDocContComponentSession

use of it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession in project sigla-main by consiglionazionaledellericerche.

the class TrasmissioneFatture method notificaFatturaAttivaAvvenutaTrasmissioneNonRecapitata.

public void notificaFatturaAttivaAvvenutaTrasmissioneNonRecapitata(UserContext userContext, String nomeFile, DataHandler data) throws ComponentException {
    RicercaDocContComponentSession docComponent = recuperoComponentRicercaDocCont();
    FatturaElettronicaAttivaComponentSession component = recuperoComponentFatturaElettronicaAttiva();
    try {
        JAXBElement<INonRecapitabile> file = (JAXBElement<INonRecapitabile>) getJAXBElement(data);
        INonRecapitabile notifica = file.getValue();
        logger.info("Fatture Elettroniche: Attive: Trasmissione non recapitata. MessageId:" + notifica.getMessageId());
        String codiceSDI = String.valueOf(notifica.getIdentificativoSdI());
        Fattura_attivaBulk fattura = recuperoFatturaDaCodiceInvioSDI(userContext, codiceSDI);
        if (fattura != null && fattura.getStatoInvioSdi() != null && fattura.getStatoInvioSdi().equals(Fattura_attivaBulk.FATT_ELETT_NON_RECAPITABILE)) {
            logger.info("Fatture Elettroniche: Attive: Fattura già elaborata " + codiceSDI);
        } else {
            String nomeFileP7m = notifica.getNomeFile();
            fattura = recuperoFatturaDaNomeFile(userContext, nomeFileP7m);
            if (fattura != null) {
                if ((CNRUserContext.getEsercizio(userContext).compareTo(fattura.getEsercizio()) == 0) || (docComponent.isRibaltato(userContext, fattura.getCd_cds_origine(), fattura.getEsercizio()) && CNRUserContext.getEsercizio(userContext).compareTo(fattura.getEsercizio()) > 0)) {
                    salvaFileSuDocumentale(data, nomeFile, fattura, StorageDocAmmAspect.SIGLA_FATTURE_ATTACHMENT_TRASMISSIONE_FATTURA);
                    try {
                        component.aggiornaFatturaTrasmissioneNonRecapitataSDI(userContext, fattura, codiceSDI, notifica.getNote());
                        logger.info("Fatture Elettroniche: Attive: aggiornamento Fattura con trasmissione non recapitata con nome file " + nomeFileP7m);
                        if (fattura instanceof Fattura_attiva_IBulk) {
                            Fattura_attiva_IBulk fatturaAttiva = (Fattura_attiva_IBulk) fattura;
                            if (fatturaAttiva.getNotaCreditoAutomaticaGenerata() != null) {
                                component.gestioneInvioMailNonRecapitabilita(userContext, fattura);
                                try {
                                    SpringUtil.getBean("documentiCollegatiDocAmmService", DocumentiCollegatiDocAmmService.class).gestioneAllegatiPerFatturazioneElettronica(userContext, fatturaAttiva.getNotaCreditoAutomaticaGenerata());
                                } catch (Exception ex) {
                                    logger.error("Fatture Elettroniche: Attive: MessageId:" + notifica.getMessageId() + ". Errore nell'elaborazione della stampa della mancata consegna della fattura con nome file " + nomeFileP7m + ". Errore:" + ex.getMessage() == null ? (ex.getCause() == null ? "" : ex.getCause().toString()) : ex.getMessage());
                                    java.io.StringWriter sw = new java.io.StringWriter();
                                    ex.printStackTrace(new java.io.PrintWriter(sw));
                                    SendMail.sendErrorMail("Fatture Elettroniche: Attive: Mancata Consegna. Nome file " + nomeFileP7m, sw.toString());
                                }
                            }
                        }
                    } catch (Exception ex) {
                        logger.error("Fatture Elettroniche: Attive: MessageId:" + notifica.getMessageId() + ". Errore nell'elaborazione della mancata consegna della fattura con nome file " + nomeFileP7m + ". Errore:" + ex.getMessage() == null ? (ex.getCause() == null ? "" : ex.getCause().toString()) : ex.getMessage());
                        java.io.StringWriter sw = new java.io.StringWriter();
                        ex.printStackTrace(new java.io.PrintWriter(sw));
                        SendMail.sendErrorMail("Fatture Elettroniche: Attive: Trasmissione non recapitata. Nome file " + nomeFileP7m, sw.toString());
                    }
                }
            } else {
                logger.warn("Fatture Elettroniche: Attive: Per il nome del file inviato indicato nel file dell'e-mail non corrisponde nessuna fattura. Trasmissione non recapitata. Nome File " + nomeFileP7m);
                SendMail.sendErrorMail("Fatture Elettroniche: Attive: Per il nome del file inviato indicato nel file dell'e-mail non corrisponde nessuna fattura", "Trasmissione non recapitata. Nome File " + nomeFileP7m);
            }
        }
    } catch (Exception e) {
        throw new ComponentException(e);
    }
}
Also used : FatturaElettronicaAttivaComponentSession(it.cnr.contab.docamm00.ejb.FatturaElettronicaAttivaComponentSession) JAXBElement(javax.xml.bind.JAXBElement) SOAPException(javax.xml.soap.SOAPException) StorageException(it.cnr.si.spring.storage.StorageException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ApplicationException(it.cnr.jada.comp.ApplicationException) IOException(java.io.IOException) ComponentException(it.cnr.jada.comp.ComponentException) INonRecapitabile(it.cnr.contab.sdi.INonRecapitabile) Fattura_attivaBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_attivaBulk) DocumentiCollegatiDocAmmService(it.cnr.contab.docamm00.service.DocumentiCollegatiDocAmmService) RicercaDocContComponentSession(it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession) ComponentException(it.cnr.jada.comp.ComponentException) Fattura_attiva_IBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_attiva_IBulk)

Example 4 with RicercaDocContComponentSession

use of it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession in project sigla-main by consiglionazionaledellericerche.

the class TrasmissioneFatture method notificaFatturaAttivaEsito.

public void notificaFatturaAttivaEsito(UserContext userContext, String nomeFile, DataHandler data) throws ComponentException {
    RicercaDocContComponentSession docComponent = recuperoComponentRicercaDocCont();
    FatturaElettronicaAttivaComponentSession component = recuperoComponentFatturaElettronicaAttiva();
    try {
        JAXBElement<NotificaEsitoType> file = (JAXBElement<NotificaEsitoType>) getJAXBElement(data);
        NotificaEsitoType notifica = file.getValue();
        String identificativoSdi = String.valueOf(notifica.getIdentificativoSdI());
        logger.info("Fatture Elettroniche: Attive: Esito. MessageId:" + notifica.getMessageId() + ". Identificativo SDI: " + identificativoSdi);
        Fattura_attivaBulk fattura = recuperoFatturaDaCodiceInvioSDI(userContext, identificativoSdi);
        if (fattura != null) {
            if (!StringUtils.isEmpty(fattura.getStatoInvioSdi())) {
                if (fattura.getStatoInvioSdi().equals(Fattura_attivaBulk.FATT_ELETT_ACCETTATA_DESTINATARIO) || fattura.getStatoInvioSdi().equals(Fattura_attivaBulk.FATT_ELETT_RIFIUTATA_DESTINATARIO)) {
                    logger.info("Fatture Elettroniche: Attive: Fattura già elaborata ");
                } else if (fattura.getStatoInvioSdi().equals(Fattura_attivaBulk.FATT_ELETT_CONSEGNATA_DESTINATARIO)) {
                    if (esitoAccettato(notifica)) {
                        salvaFileSuDocumentale(data, nomeFile, fattura, StorageDocAmmAspect.SIGLA_FATTURE_ATTACHMENT_ESITO_ACCETTATO);
                        try {
                            component.aggiornaFatturaEsitoAccettatoSDI(userContext, fattura);
                            logger.info("Fatture Elettroniche: Attive: aggiornamento Fattura accettata con id SDI " + identificativoSdi);
                        } catch (Exception ex) {
                            logger.error("Fatture Elettroniche: Attive: MessageId:" + notifica.getMessageId() + ". Errore nell'elaborazione della Fattura accettata con id SDI " + identificativoSdi + ". Errore:" + ex.getMessage() == null ? (ex.getCause() == null ? "" : ex.getCause().toString()) : ex.getMessage());
                            java.io.StringWriter sw = new java.io.StringWriter();
                            ex.printStackTrace(new java.io.PrintWriter(sw));
                            SendMail.sendErrorMail("Fatture Elettroniche: Attive: Esito Accettato. Id SDI " + identificativoSdi, sw.toString());
                        }
                    } else {
                        if ((CNRUserContext.getEsercizio(userContext).compareTo(fattura.getEsercizio()) == 0) || (docComponent.isRibaltato(userContext, fattura.getCd_cds_origine(), fattura.getEsercizio()) && CNRUserContext.getEsercizio(userContext).compareTo(fattura.getEsercizio()) > 0)) {
                            salvaFileSuDocumentale(data, nomeFile, fattura, StorageDocAmmAspect.SIGLA_FATTURE_ATTACHMENT_ESITO_RIFIUTATO);
                            String rifiuto = recuperoMotivoRifiuto(notifica);
                            try {
                                fattura = component.aggiornaFatturaRifiutataDestinatarioSDI(userContext, fattura, rifiuto);
                                logger.info("Fatture Elettroniche: Attive: aggiornamento Fattura rifiutata con id SDI " + identificativoSdi);
                                if (fattura instanceof Fattura_attiva_IBulk) {
                                    Fattura_attiva_IBulk fatturaAttiva = (Fattura_attiva_IBulk) fattura;
                                    if (fatturaAttiva.getNotaCreditoAutomaticaGenerata() != null) {
                                        try {
                                            SpringUtil.getBean("documentiCollegatiDocAmmService", DocumentiCollegatiDocAmmService.class).gestioneAllegatiPerFatturazioneElettronica(userContext, fatturaAttiva.getNotaCreditoAutomaticaGenerata());
                                        } catch (Exception ex) {
                                            logger.error("Fatture Elettroniche: Attive: MessageId:" + notifica.getMessageId() + ". Errore nell'elaborazione della stampa della Fattura rifiutata con id SDI " + identificativoSdi + ". Errore:" + ex.getMessage() == null ? (ex.getCause() == null ? "" : ex.getCause().toString()) : ex.getMessage());
                                            java.io.StringWriter sw = new java.io.StringWriter();
                                            ex.printStackTrace(new java.io.PrintWriter(sw));
                                            SendMail.sendErrorMail("Fatture Elettroniche: Attive: Esito Rifiutato. Id SDI " + identificativoSdi, sw.toString());
                                        }
                                    }
                                }
                            } catch (Exception ex) {
                                logger.error("Fatture Elettroniche: Attive: MessageId:" + notifica.getMessageId() + ". Errore nell'elaborazione della Fattura rifiutata con id SDI " + identificativoSdi + ". Errore:" + ex.getMessage() == null ? (ex.getCause() == null ? "" : ex.getCause().toString()) : ex.getMessage());
                                java.io.StringWriter sw = new java.io.StringWriter();
                                ex.printStackTrace(new java.io.PrintWriter(sw));
                                SendMail.sendErrorMail("Fatture Elettroniche: Attive: Esito Rifiutato. Id SDI " + identificativoSdi, sw.toString());
                            }
                        }
                    }
                // } else {
                // logger.warn("Fatture Elettroniche: Attive: Stato fattura vuoto non previsto per la notifica esito per la fattura " + identificativoSdi);
                }
            // } else {
            // logger.warn("Fatture Elettroniche: Attive: Stato fattura " + fattura.getStatoInvioSdi() + " non previsto per la notifica esito per la fattura " + identificativoSdi);
            }
        } else {
            logger.warn("Fatture Elettroniche: Attive: Per il nome dell'identificativo SDI indicato nel file dell'e-mail non corrisponde nessuna fattura." + identificativoSdi);
            SendMail.sendErrorMail("Fatture Elettroniche: Attive: Per il nome del file inviato indicato nel file dell'e-mail non corrisponde nessuna fattura", "Notifica Esito. Id SDI " + identificativoSdi);
        }
    } catch (Exception e) {
        throw new ComponentException(e);
    }
}
Also used : NotificaEsitoType(it.gov.fatturapa.sdi.messaggi.v1.NotificaEsitoType) FatturaElettronicaAttivaComponentSession(it.cnr.contab.docamm00.ejb.FatturaElettronicaAttivaComponentSession) JAXBElement(javax.xml.bind.JAXBElement) SOAPException(javax.xml.soap.SOAPException) StorageException(it.cnr.si.spring.storage.StorageException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ApplicationException(it.cnr.jada.comp.ApplicationException) IOException(java.io.IOException) ComponentException(it.cnr.jada.comp.ComponentException) Fattura_attivaBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_attivaBulk) RicercaDocContComponentSession(it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession) ComponentException(it.cnr.jada.comp.ComponentException) Fattura_attiva_IBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_attiva_IBulk)

Example 5 with RicercaDocContComponentSession

use of it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession in project sigla-main by consiglionazionaledellericerche.

the class TrasmissioneFatture method notificaFatturaAttivaScarto.

public void notificaFatturaAttivaScarto(UserContext userContext, String nomeFile, DataHandler data) throws ComponentException {
    FatturaElettronicaAttivaComponentSession component = recuperoComponentFatturaElettronicaAttiva();
    RicercaDocContComponentSession docComponent = recuperoComponentRicercaDocCont();
    try {
        JAXBElement<IScarto> file = (JAXBElement<IScarto>) getJAXBElement(data);
        IScarto notifica = file.getValue();
        logger.info("Fatture Elettroniche: Attive: Notifica Scarto. MessageId:" + notifica.getMessageId());
        String codiceSDI = notifica.getIdentificativoSdI();
        Fattura_attivaBulk fattura = recuperoFatturaDaCodiceInvioSDI(userContext, codiceSDI);
        if (fattura != null) {
            logger.info("Fatture Elettroniche: Attive: Fattura già elaborata " + codiceSDI);
        } else {
            String nomeFileP7m = recuperoNomeFileP7m(notifica);
            fattura = recuperoFatturaDaNomeFile(userContext, nomeFileP7m);
            if (fattura != null) {
                if ((CNRUserContext.getEsercizio(userContext).compareTo(fattura.getEsercizio()) == 0) || (docComponent.isRibaltato(userContext, fattura.getCd_cds_origine(), fattura.getEsercizio()) && CNRUserContext.getEsercizio(userContext).compareTo(fattura.getEsercizio()) > 0)) {
                    salvaFileSuDocumentale(data, nomeFile, fattura, StorageDocAmmAspect.SIGLA_FATTURE_ATTACHMENT_SCARTO);
                    StringBuffer errore = estraiErrore(notifica);
                    try {
                        fattura = component.aggiornaFatturaScartoSDI(userContext, fattura, codiceSDI, errore.toString());
                        logger.info("Fatture Elettroniche: Attive: aggiornamento Fattura scartata con nomeFile " + nomeFileP7m);
                        if (fattura instanceof Fattura_attiva_IBulk) {
                            Fattura_attiva_IBulk fatturaAttiva = (Fattura_attiva_IBulk) fattura;
                            if (fatturaAttiva.getNotaCreditoAutomaticaGenerata() != null) {
                                try {
                                    SpringUtil.getBean("documentiCollegatiDocAmmService", DocumentiCollegatiDocAmmService.class).gestioneAllegatiPerFatturazioneElettronica(userContext, fatturaAttiva.getNotaCreditoAutomaticaGenerata());
                                } catch (Exception ex) {
                                    logger.error("Fatture Elettroniche: Attive: MessageId:" + notifica.getMessageId() + ". Errore nell'elaborazione della stampa dello scarto della fattura con nome file " + nomeFileP7m + ". Errore:" + ex.getMessage() == null ? (ex.getCause() == null ? "" : ex.getCause().toString()) : ex.getMessage());
                                    java.io.StringWriter sw = new java.io.StringWriter();
                                    ex.printStackTrace(new java.io.PrintWriter(sw));
                                    SendMail.sendErrorMail("Fatture Elettroniche: Attive: Notifica Scarto. Nome file " + nomeFileP7m, sw.toString());
                                }
                            }
                        }
                    } catch (Exception ex) {
                        logger.error("Fatture Elettroniche: Attive: MessageId:" + notifica.getMessageId() + ". Errore nell'elaborazione dello scarto della fattura con nome file " + nomeFileP7m + ". Errore:" + ex.getMessage() == null ? (ex.getCause() == null ? "" : ex.getCause().toString()) : ex.getMessage());
                        java.io.StringWriter sw = new java.io.StringWriter();
                        ex.printStackTrace(new java.io.PrintWriter(sw));
                        SendMail.sendErrorMail("Fatture Elettroniche: Attive: Notifica Scarto. Nome file " + nomeFileP7m, sw.toString());
                    }
                }
            } else {
                logger.warn("Fatture Elettroniche: Attive: Per il nome del file inviato indicato nel file dell'e-mail non corrisponde nessuna fattura." + nomeFileP7m);
                SendMail.sendErrorMail("Fatture Elettroniche: Attive: Per il nome del file inviato indicato nel file dell'e-mail non corrisponde nessuna fattura", "Scarto. Nome File " + nomeFileP7m);
            }
        }
    } catch (Exception e) {
        throw new ComponentException(e);
    }
}
Also used : FatturaElettronicaAttivaComponentSession(it.cnr.contab.docamm00.ejb.FatturaElettronicaAttivaComponentSession) JAXBElement(javax.xml.bind.JAXBElement) SOAPException(javax.xml.soap.SOAPException) StorageException(it.cnr.si.spring.storage.StorageException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ApplicationException(it.cnr.jada.comp.ApplicationException) IOException(java.io.IOException) ComponentException(it.cnr.jada.comp.ComponentException) IScarto(it.cnr.contab.sdi.IScarto) Fattura_attivaBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_attivaBulk) DocumentiCollegatiDocAmmService(it.cnr.contab.docamm00.service.DocumentiCollegatiDocAmmService) RicercaDocContComponentSession(it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession) ComponentException(it.cnr.jada.comp.ComponentException) Fattura_attiva_IBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_attiva_IBulk)

Aggregations

RicercaDocContComponentSession (it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession)9 ApplicationException (it.cnr.jada.comp.ApplicationException)9 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)6 Fattura_attivaBulk (it.cnr.contab.docamm00.docs.bulk.Fattura_attivaBulk)3 Fattura_attiva_IBulk (it.cnr.contab.docamm00.docs.bulk.Fattura_attiva_IBulk)3 FatturaElettronicaAttivaComponentSession (it.cnr.contab.docamm00.ejb.FatturaElettronicaAttivaComponentSession)3 ComponentException (it.cnr.jada.comp.ComponentException)3 StorageException (it.cnr.si.spring.storage.StorageException)3 IOException (java.io.IOException)3 JAXBElement (javax.xml.bind.JAXBElement)3 SOAPException (javax.xml.soap.SOAPException)3 SOAPFaultException (javax.xml.ws.soap.SOAPFaultException)3 DocumentiCollegatiDocAmmService (it.cnr.contab.docamm00.service.DocumentiCollegatiDocAmmService)2 V_obb_acc_xxxBulk (it.cnr.contab.chiusura00.bulk.V_obb_acc_xxxBulk)1 INonRecapitabile (it.cnr.contab.sdi.INonRecapitabile)1 IScarto (it.cnr.contab.sdi.IScarto)1 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)1 NotificaEsitoType (it.gov.fatturapa.sdi.messaggi.v1.NotificaEsitoType)1