Search in sources :

Example 1 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk in project sigla-main by consiglionazionaledellericerche.

the class ScritturaPartitaDoppiaComponent method addMovimentoCoge.

private Movimento_cogeBulk addMovimentoCoge(UserContext userContext, Scrittura_partita_doppiaBulk scritturaPartitaDoppia, IDocumentoCogeBulk doccoge, TestataPrimaNota testata, String aTipoDett, String aSezione, String aCdConto, BigDecimal aImporto, IDocumentoCogeBulk aPartita) throws ComponentException {
    try {
        if (aImporto.compareTo(BigDecimal.ZERO) == 0)
            return null;
        Movimento_cogeBulk movimentoCoge = new Movimento_cogeBulk();
        ContoHome contoHome = (ContoHome) getHome(userContext, ContoBulk.class);
        ContoBulk contoBulk = (ContoBulk) contoHome.findByPrimaryKey(new ContoBulk(aCdConto, CNRUserContext.getEsercizio(userContext)));
        movimentoCoge.setToBeCreated();
        movimentoCoge.setUser(userContext.getUser());
        movimentoCoge.setConto(contoBulk);
        movimentoCoge.setIm_movimento(aImporto);
        movimentoCoge.setTerzo(Optional.ofNullable(testata.getCdTerzo()).map(cdTerzo -> {
            try {
                return findByPrimaryKey(userContext, new TerzoBulk(cdTerzo));
            } catch (ComponentException e) {
                return handleException(e);
            }
        }).filter(TerzoBulk.class::isInstance).map(TerzoBulk.class::cast).orElse(null));
        movimentoCoge.setDt_da_competenza_coge(testata.getDtDa());
        movimentoCoge.setDt_a_competenza_coge(testata.getDtA());
        movimentoCoge.setStato(Movimento_cogeBulk.STATO_DEFINITIVO);
        movimentoCoge.setFl_modificabile(Boolean.FALSE);
        if (doccoge instanceof Fattura_passivaBulk) {
            Fattura_passivaBulk fatpas = (Fattura_passivaBulk) doccoge;
            movimentoCoge.setCd_cds(fatpas.getCd_cds_origine());
            movimentoCoge.setEsercizio(fatpas.getEsercizio());
            movimentoCoge.setCd_unita_organizzativa(fatpas.getCd_uo_origine());
            movimentoCoge.setTi_istituz_commerc(fatpas.getTi_istituz_commerc());
        } else if (doccoge instanceof Fattura_attivaBulk) {
            Fattura_attivaBulk fatatt = (Fattura_attivaBulk) doccoge;
            movimentoCoge.setCd_cds(fatatt.getCd_cds_origine());
            movimentoCoge.setEsercizio(fatatt.getEsercizio());
            movimentoCoge.setCd_unita_organizzativa(fatatt.getCd_uo_origine());
            movimentoCoge.setTi_istituz_commerc(TipoIVA.ISTITUZIONALE.value());
        } else if (doccoge instanceof Documento_genericoBulk) {
            Documento_genericoBulk documento_genericoBulk = (Documento_genericoBulk) doccoge;
            movimentoCoge.setCd_cds(documento_genericoBulk.getCd_cds_origine());
            movimentoCoge.setEsercizio(documento_genericoBulk.getEsercizio());
            movimentoCoge.setCd_unita_organizzativa(documento_genericoBulk.getCd_uo_origine());
            movimentoCoge.setTi_istituz_commerc(documento_genericoBulk.getTi_istituz_commerc());
        } else if (doccoge instanceof CompensoBulk) {
            CompensoBulk compensoBulk = (CompensoBulk) doccoge;
            movimentoCoge.setCd_cds(compensoBulk.getCd_cds_origine());
            movimentoCoge.setEsercizio(compensoBulk.getEsercizio());
            movimentoCoge.setCd_unita_organizzativa(compensoBulk.getCd_uo_origine());
            movimentoCoge.setTi_istituz_commerc(compensoBulk.getTi_istituz_commerc());
        } else if (doccoge instanceof MandatoBulk) {
            MandatoBulk mandatoBulk = (MandatoBulk) doccoge;
            movimentoCoge.setCd_cds(mandatoBulk.getCd_cds_origine());
            movimentoCoge.setEsercizio(mandatoBulk.getEsercizio());
            movimentoCoge.setCd_unita_organizzativa(mandatoBulk.getCd_uo_origine());
            movimentoCoge.setTi_istituz_commerc(TipoIVA.ISTITUZIONALE.value());
        }
        if (aPartita != null) {
            movimentoCoge.setCd_tipo_documento(aPartita.getCd_tipo_doc());
            movimentoCoge.setCd_cds_documento(aPartita.getCd_cds());
            movimentoCoge.setCd_uo_documento(aPartita.getCd_uo());
            movimentoCoge.setEsercizio_documento(aPartita.getEsercizio());
            movimentoCoge.setPg_numero_documento(aPartita.getPg_doc());
        }
        movimentoCoge.setTi_riga(aTipoDett);
        if (aSezione.equals(Movimento_cogeBulk.SEZIONE_DARE))
            scritturaPartitaDoppia.addToMovimentiDareColl(movimentoCoge);
        else
            scritturaPartitaDoppia.addToMovimentiAvereColl(movimentoCoge);
        logger.info("TipoRiga: " + aTipoDett + " - Conto: " + aCdConto + " - Sezione: " + aSezione + " - Importo: " + aImporto + (aPartita != null ? " - Partita: " + aPartita.getCd_tipo_doc() + "/" + aPartita.getCd_cds() + "/" + aPartita.getCd_uo() + "/" + aPartita.getEsercizio() + "/" + aPartita.getPg_doc() : ""));
        return movimentoCoge;
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) CompensoBulk(it.cnr.contab.compensi00.docs.bulk.CompensoBulk) SQLException(java.sql.SQLException) PersistencyException(it.cnr.jada.persistency.PersistencyException) RemoteException(java.rmi.RemoteException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException)

Example 2 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk in project sigla-main by consiglionazionaledellericerche.

the class ScritturaPartitaDoppiaComponent method getTerzoNullo.

/* restitusce un'istanza fittizia di TerzoBulk con codice = 0 a rappresentare
       la non presenza di un terzo */
private TerzoBulk getTerzoNullo() {
    TerzoBulk terzo = new TerzoBulk();
    terzo.setCd_terzo(TerzoBulk.TERZO_NULLO);
    terzo.setDenominazione_sede("Terzo non definito");
    terzo.setCrudStatus(TerzoBulk.NORMAL);
    return terzo;
}
Also used : TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk)

Example 3 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk in project sigla-main by consiglionazionaledellericerche.

the class ScritturaPartitaDoppiaComponent method findContoAnag.

private Voce_epBulk findContoAnag(UserContext userContext, TerzoBulk terzo, String tipoConto) throws ComponentException, PersistencyException {
    Voce_epBulk voceEpBulk = null;
    TerzoHome terzohome = (TerzoHome) getHome(userContext, TerzoBulk.class);
    TerzoBulk terzoDB = (TerzoBulk) terzohome.findByPrimaryKey(terzo);
    if (Optional.ofNullable(terzo).isPresent()) {
        Anagrafico_esercizioHome anagesehome = (Anagrafico_esercizioHome) getHome(userContext, Anagrafico_esercizioBulk.class);
        Anagrafico_esercizioBulk anagEse = (Anagrafico_esercizioBulk) anagesehome.findByPrimaryKey(new Anagrafico_esercizioBulk(terzoDB.getCd_anag(), CNRUserContext.getEsercizio(userContext)));
        if (tipoConto.equals(Movimento_cogeBulk.TipoRiga.DEBITO.value())) {
            if (Optional.ofNullable(anagEse).flatMap(el -> Optional.ofNullable(el.getCd_voce_debito_ep())).isPresent()) {
                Voce_epHome voceEpHome = (Voce_epHome) getHome(userContext, Voce_epBulk.class);
                voceEpBulk = (Voce_epBulk) voceEpHome.findByPrimaryKey(new Voce_epBulk(anagEse.getCd_voce_debito_ep(), anagEse.getEsercizio_voce_debito_ep()));
            }
        } else {
            if (Optional.ofNullable(anagEse).flatMap(el -> Optional.ofNullable(el.getCd_voce_credito_ep())).isPresent()) {
                Voce_epHome voceEpHome = (Voce_epHome) getHome(userContext, Voce_epBulk.class);
                voceEpBulk = (Voce_epBulk) voceEpHome.findByPrimaryKey(new Voce_epBulk(anagEse.getCd_voce_credito_ep(), anagEse.getEsercizio_voce_credito_ep()));
            }
        }
    }
    return Optional.ofNullable(voceEpBulk).orElseThrow(() -> new ApplicationRuntimeException("Conto " + (tipoConto.equals(Movimento_cogeBulk.TipoRiga.DEBITO.value()) ? "debito" : "credito") + " associato al codice terzo " + terzo.getCd_terzo() + " non individuato."));
}
Also used : Anagrafico_esercizioBulk(it.cnr.contab.anagraf00.core.bulk.Anagrafico_esercizioBulk) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) UserContext(it.cnr.jada.UserContext) Liquidazione_ivaVBulk(it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaVBulk) it.cnr.jada.persistency.sql(it.cnr.jada.persistency.sql) AnticipoBulk(it.cnr.contab.missioni00.docs.bulk.AnticipoBulk) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) java.util(java.util) Stipendi_cofiBulk(it.cnr.contab.pdg00.cdip.bulk.Stipendi_cofiBulk) EsercizioBulk(it.cnr.contab.config00.esercizio.bulk.EsercizioBulk) it.cnr.jada.comp(it.cnr.jada.comp) LoggerFactory(org.slf4j.LoggerFactory) Utility(it.cnr.contab.util.Utility) Anagrafico_esercizioBulk(it.cnr.contab.anagraf00.core.bulk.Anagrafico_esercizioBulk) Ass_anag_voce_epHome(it.cnr.contab.coepcoan00.tabrif.bulk.Ass_anag_voce_epHome) Contributo_ritenutaBulk(it.cnr.contab.compensi00.docs.bulk.Contributo_ritenutaBulk) it.cnr.contab.doccont00.core.bulk(it.cnr.contab.doccont00.core.bulk) TerzoHome(it.cnr.contab.anagraf00.core.bulk.TerzoHome) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk) BigDecimal(java.math.BigDecimal) SQLException(java.sql.SQLException) Ass_anag_voce_epBulk(it.cnr.contab.coepcoan00.tabrif.bulk.Ass_anag_voce_epBulk) Pair(org.springframework.data.util.Pair) Stipendi_cofiHome(it.cnr.contab.pdg00.cdip.bulk.Stipendi_cofiHome) Ass_tipo_cori_voce_epBulk(it.cnr.contab.compensi00.tabrif.bulk.Ass_tipo_cori_voce_epBulk) Anagrafico_esercizioHome(it.cnr.contab.anagraf00.core.bulk.Anagrafico_esercizioHome) it.cnr.contab.config00.sto.bulk(it.cnr.contab.config00.sto.bulk) TipoIVA(it.cnr.contab.util.enumeration.TipoIVA) RoundingMode(java.math.RoundingMode) MissioneBulk(it.cnr.contab.missioni00.docs.bulk.MissioneBulk) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) PersistencyException(it.cnr.jada.persistency.PersistencyException) Liquidazione_ivaBulk(it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaBulk) Timestamp(java.sql.Timestamp) it.cnr.contab.docamm00.docs.bulk(it.cnr.contab.docamm00.docs.bulk) Liquidazione_ivaHome(it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaHome) Ass_tipo_cori_voce_epHome(it.cnr.contab.compensi00.tabrif.bulk.Ass_tipo_cori_voce_epHome) BulkList(it.cnr.jada.bulk.BulkList) it.cnr.contab.config00.pdcep.bulk(it.cnr.contab.config00.pdcep.bulk) Tipo_contributo_ritenutaBulk(it.cnr.contab.compensi00.tabrif.bulk.Tipo_contributo_ritenutaBulk) Collectors(java.util.stream.Collectors) Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk) it.cnr.contab.coepcoan00.core.bulk(it.cnr.contab.coepcoan00.core.bulk) Serializable(java.io.Serializable) RemoteException(java.rmi.RemoteException) DetailedRuntimeException(it.cnr.jada.DetailedRuntimeException) Contributo_ritenutaHome(it.cnr.contab.compensi00.docs.bulk.Contributo_ritenutaHome) CompensoBulk(it.cnr.contab.compensi00.docs.bulk.CompensoBulk) RimborsoBulk(it.cnr.contab.missioni00.docs.bulk.RimborsoBulk) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) Anagrafico_esercizioHome(it.cnr.contab.anagraf00.core.bulk.Anagrafico_esercizioHome) TerzoHome(it.cnr.contab.anagraf00.core.bulk.TerzoHome)

Example 4 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk in project sigla-main by consiglionazionaledellericerche.

the class CRUDFatturaPassivaElettronicaBP method rifiutaFatturaConPEC.

public void rifiutaFatturaConPEC(ActionContext context, DocumentoEleTestataBulk bulk, RifiutaFatturaBulk rifiutaFatturaBulk) throws BusinessProcessException {
    try {
        if (isDirty()) {
            save(context);
            bulk = (DocumentoEleTestataBulk) createComponentSession().inizializzaBulkPerModifica(context.getUserContext(), bulk);
        }
        TerzoBulk prestatore = Optional.ofNullable(bulk.getDocumentoEleTrasmissione().getPrestatore()).orElseThrow(() -> new ApplicationException("Valorizzare il terzo cedente/prestatore"));
        TerzoBulk terzoPerUnitaOrganizzativa = ((it.cnr.contab.anagraf00.ejb.TerzoComponentSession) createComponentSession("CNRANAGRAF00_EJB_TerzoComponentSession")).cercaTerzoPerUnitaOrganizzativa(context.getUserContext(), bulk.getDocumentoEleTrasmissione().getUnitaOrganizzativa());
        Numerazione_baseComponentSession numerazione = (Numerazione_baseComponentSession) EJBCommonServices.createEJB("CNRCONFIG00_TABNUM_EJB_Numerazione_baseComponentSession");
        boolean isNota = bulk.getTipoDocumento().equalsIgnoreCase(TipoDocumentoType.TD_04.value());
        Format dateFormat = new SimpleDateFormat("yyyy/MM/dd");
        Print_spoolerBulk print = new Print_spoolerBulk();
        print.setPgStampa(UUID.randomUUID().getLeastSignificantBits());
        print.setFlEmail(false);
        print.setReport("/docamm/docamm/rifiuto_fattura_elettronica.jasper");
        print.setNomeFile("Comunicazione di non registrabilità del ".concat(LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy"))).concat(".pdf"));
        print.setUtcr(context.getUserContext().getUser());
        print.addParam("title", Optional.ofNullable(rifiutaFatturaBulk.getMessageText()).filter(s -> !isNota).map(s -> "Richiesta storno Documento Elettronico").orElseGet(() -> "Rifiuto Documento Elettronico"), String.class);
        print.addParam("message", rifiutaFatturaBulk.getMessage(), String.class);
        print.addParam("note", rifiutaFatturaBulk.getNote(), String.class);
        print.addParam("is_nota", isNota, Boolean.class);
        print.addParam("codice_uo", bulk.getDocumentoEleTrasmissione().getUnitaOrganizzativa().getCd_unita_organizzativa(), String.class);
        print.addParam("descrizione_uo", bulk.getDocumentoEleTrasmissione().getUnitaOrganizzativa().getDs_unita_organizzativa(), String.class);
        print.addParam("codice_cuu", terzoPerUnitaOrganizzativa.getCodiceUnivocoUfficioIpa(), String.class);
        print.addParam("denominazione_sede", prestatore.getDenominazione_sede(), String.class);
        print.addParam("pec", rifiutaFatturaBulk.getEmailPEC(), String.class);
        print.addParam("tipo_documento", DocumentoEleTestataBulk.tiTipoDocumentoKeys.get(bulk.getTipoDocumento()), String.class);
        print.addParam("identificativo_sdi", bulk.getIdentificativoSdi(), Long.class);
        print.addParam("numero_documento", bulk.getNumeroDocumento(), String.class);
        print.addParam("data_documento", bulk.getDataDocumento(), Date.class, dateFormat);
        print.addParam("data_ricezione", bulk.getDocumentoEleTrasmissione().getDataRicezione(), Date.class, dateFormat);
        Report report = SpringUtil.getBean("printService", PrintService.class).executeReport(context.getUserContext(), print);
        LocalDateTime now = LocalDateTime.now();
        int esercizio = now.getYear();
        Long numProtocollo = numerazione.creaNuovoProgressivo(context.getUserContext(), esercizio, "RIFIUTO_FATTURA_PEC", "NUM_PROTOCOLLO", CNRUserContext.getUser(context.getUserContext()));
        AllegatoNonRegistrabilitaBulk allegatoNonRegistrabilitaBulk = new AllegatoNonRegistrabilitaBulk();
        allegatoNonRegistrabilitaBulk.setNome(report.getName());
        allegatoNonRegistrabilitaBulk.setUtenteSIGLA(CNRUserContext.getUser(context.getUserContext()));
        allegatoNonRegistrabilitaBulk.setAnnoProtocollo(esercizio);
        allegatoNonRegistrabilitaBulk.setNumeroProtocollo(Utility.lpad(numProtocollo, 6, '0'));
        allegatoNonRegistrabilitaBulk.setDataProtocollo(Date.from(now.toInstant(ZoneOffset.UTC)));
        allegatoNonRegistrabilitaBulk.setTitolo("Allegato inviato al seguente indirizzo email: " + rifiutaFatturaBulk.getEmailPEC());
        final StorageObject storageObject = SpringUtil.getBean("storeService", StoreService.class).restoreSimpleDocument(allegatoNonRegistrabilitaBulk, report.getInputStream(), report.getContentType(), report.getName(), Optional.ofNullable(getStorePath(bulk, false)).orElseThrow(() -> new ApplicationException("Path sul documentale non trovato, contattare il supporto Help Desk!")), false);
        FatturaPassivaElettronicaService fatturaPassivaElettronicaService = SpringUtil.getBean("fatturaPassivaElettronicaService", FatturaPassivaElettronicaService.class);
        fatturaPassivaElettronicaService.inviaPECFornitore(context.getUserContext(), new ByteArrayDataSource(storeService.getResource(storageObject.getKey()), MimeTypes.PDF.mimetype()), report.getName(), rifiutaFatturaBulk.getEmailPEC(), Optional.ofNullable(rifiutaFatturaBulk.getMessageText()).filter(s -> !isNota).map(s -> "Richiesta Storno documento elettronico ricevuto IdentificativoSdI: ").orElseGet(() -> "Rifiuto documento elettronico ricevuto IdentificativoSdI: ").concat(bulk.getIdentificativoSdi().toString()), Optional.ofNullable(rifiutaFatturaBulk.getMessageText()).filter(s -> !isNota).map(s -> "Richiesta Storno documento elettronico ricevuto. ").orElseGet(() -> "Rifiuto documento elettronico ricevuto. ").concat("Informazioni del rifiuto e riferimenti del documento in allegato." + "\n\nNota: questa è un'e-mail generata automaticamente e non avremo la possibilità di " + "leggere eventuali e-mail di risposta. Non rispondere a questo messaggio."));
        bulk.setFlIrregistrabile("S");
        if (isNota) {
            bulk.setStatoDocumento(StatoDocumentoEleEnum.RIFIUTATA_CON_PEC.name());
        } else {
            bulk.setStatoDocumento(StatoDocumentoEleEnum.DA_STORNARE.name());
        }
        bulk.setToBeUpdated();
        OggettoBulk oggettoBulk = getComponentSession().modificaConBulk(context.getUserContext(), bulk);
        if (!Optional.ofNullable(getEMailPEC(context)).isPresent()) {
            TelefonoBulk telefonoBulk = new TelefonoBulk();
            telefonoBulk.setTerzo(prestatore);
            telefonoBulk.setRiferimento(rifiutaFatturaBulk.getEmailPEC());
            telefonoBulk.setTi_riferimento(TelefonoBulk.PEC);
            telefonoBulk.setFattElettronica(Boolean.TRUE);
            telefonoBulk.setToBeCreated();
            getComponentSession().creaConBulk(context.getUserContext(), telefonoBulk);
        }
        setMessage("Comunicazione inviata correttamente.");
        edit(context, oggettoBulk);
    } catch (ComponentException | IOException | EmailException | BusyResourceException | ValidationException e) {
        throw handleException(e);
    }
}
Also used : Transformer(javax.xml.transform.Transformer) ByteArrayDataSource(javax.mail.util.ByteArrayDataSource) Format(java.text.Format) CRUDFatturaPassivaAction(it.cnr.contab.docamm00.actions.CRUDFatturaPassivaAction) ServletException(javax.servlet.ServletException) StreamResult(javax.xml.transform.stream.StreamResult) ActionContext(it.cnr.jada.action.ActionContext) Button(it.cnr.jada.util.jsp.Button) FatturaPassivaComponentSession(it.cnr.contab.docamm00.ejb.FatturaPassivaComponentSession) BigDecimal(java.math.BigDecimal) ByteArrayInputStream(java.io.ByteArrayInputStream) SimpleDetailCRUDController(it.cnr.jada.util.action.SimpleDetailCRUDController) it.cnr.contab.docamm00.fatturapa.bulk(it.cnr.contab.docamm00.fatturapa.bulk) BigInteger(java.math.BigInteger) ZoneOffset(java.time.ZoneOffset) PrintService(it.cnr.contab.reports.service.PrintService) ValidationException(it.cnr.jada.bulk.ValidationException) StorageObject(it.cnr.si.spring.storage.StorageObject) Timestamp(java.sql.Timestamp) TemporalField(java.time.temporal.TemporalField) FatturaPassivaElettronicaService(it.cnr.contab.docamm00.service.FatturaPassivaElettronicaService) EJBCommonServices(it.cnr.jada.util.ejb.EJBCommonServices) RemoteException(java.rmi.RemoteException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) EJBException(javax.ejb.EJBException) IOUtils(org.apache.commons.io.IOUtils) Stream(java.util.stream.Stream) TipoDocumentoType(it.gov.agenziaentrate.ivaservizi.docs.xsd.fatture.v1.TipoDocumentoType) Fattura_passivaBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_passivaBulk) EmailException(org.apache.commons.mail.EmailException) StoragePropertyNames(it.cnr.si.spring.storage.config.StoragePropertyNames) AnagraficoBulk(it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk) SpringUtil(it.cnr.contab.service.SpringUtil) ContattoBulk(it.cnr.contab.anagraf00.core.bulk.ContattoBulk) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) UserContext(it.cnr.jada.UserContext) HttpActionContext(it.cnr.jada.action.HttpActionContext) ChronoField(java.time.temporal.ChronoField) EsercizioComponentSession(it.cnr.contab.config00.ejb.EsercizioComponentSession) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) java.util(java.util) Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) Fattura_passiva_rigaBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_passiva_rigaBulk) TransformerException(javax.xml.transform.TransformerException) Tipo_sezionaleBulk(it.cnr.contab.docamm00.tabrif.bulk.Tipo_sezionaleBulk) StreamSource(javax.xml.transform.stream.StreamSource) RegimeFiscaleType(it.gov.agenziaentrate.ivaservizi.docs.xsd.fatture.v1.RegimeFiscaleType) LocalDateTime(java.time.LocalDateTime) JspWriter(javax.servlet.jsp.JspWriter) Utility(it.cnr.contab.util.Utility) SimpleDateFormat(java.text.SimpleDateFormat) Source(javax.xml.transform.Source) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk) Tipo_documento_ammBulk(it.cnr.contab.docamm00.docs.bulk.Tipo_documento_ammBulk) AllegatiCRUDBP(it.cnr.contab.util00.bp.AllegatiCRUDBP) CRUDComponentSession(it.cnr.jada.ejb.CRUDComponentSession) Numerazione_baseComponentSession(it.cnr.contab.config00.tabnum.ejb.Numerazione_baseComponentSession) RemoteIterator(it.cnr.jada.util.RemoteIterator) StoreService(it.cnr.si.spring.storage.StoreService) DateUtils(it.cnr.jada.util.DateUtils) OutputStream(java.io.OutputStream) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) ApplicationException(it.cnr.jada.comp.ApplicationException) FormBP(it.cnr.jada.util.action.FormBP) Voce_ivaBulk(it.cnr.contab.docamm00.tabrif.bulk.Voce_ivaBulk) BusyResourceException(it.cnr.jada.bulk.BusyResourceException) TelefonoBulk(it.cnr.contab.anagraf00.core.bulk.TelefonoBulk) StorageDocAmmAspect(it.cnr.contab.docamm00.storage.StorageDocAmmAspect) Print_spoolerBulk(it.cnr.contab.reports.bulk.Print_spoolerBulk) HttpServletResponse(javax.servlet.http.HttpServletResponse) IOException(java.io.IOException) AllegatoGenericoBulk(it.cnr.contab.util00.bulk.storage.AllegatoGenericoBulk) Report(it.cnr.contab.reports.bulk.Report) MimeTypes(it.cnr.si.spring.storage.MimeTypes) FatturaElettronicaPassivaComponentSession(it.cnr.contab.docamm00.ejb.FatturaElettronicaPassivaComponentSession) DateTimeFormatter(java.time.format.DateTimeFormatter) TransformerFactory(javax.xml.transform.TransformerFactory) ComponentException(it.cnr.jada.comp.ComponentException) CompoundFindClause(it.cnr.jada.persistency.sql.CompoundFindClause) InputStream(java.io.InputStream) LocalDateTime(java.time.LocalDateTime) ValidationException(it.cnr.jada.bulk.ValidationException) FatturaPassivaElettronicaService(it.cnr.contab.docamm00.service.FatturaPassivaElettronicaService) OggettoBulk(it.cnr.jada.bulk.OggettoBulk) PrintService(it.cnr.contab.reports.service.PrintService) Numerazione_baseComponentSession(it.cnr.contab.config00.tabnum.ejb.Numerazione_baseComponentSession) Print_spoolerBulk(it.cnr.contab.reports.bulk.Print_spoolerBulk) Format(java.text.Format) SimpleDateFormat(java.text.SimpleDateFormat) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) EmailException(org.apache.commons.mail.EmailException) ByteArrayDataSource(javax.mail.util.ByteArrayDataSource) StorageObject(it.cnr.si.spring.storage.StorageObject) Report(it.cnr.contab.reports.bulk.Report) StoreService(it.cnr.si.spring.storage.StoreService) IOException(java.io.IOException) ApplicationException(it.cnr.jada.comp.ApplicationException) BusyResourceException(it.cnr.jada.bulk.BusyResourceException) ComponentException(it.cnr.jada.comp.ComponentException) TelefonoBulk(it.cnr.contab.anagraf00.core.bulk.TelefonoBulk) SimpleDateFormat(java.text.SimpleDateFormat)

Example 5 with TerzoBulk

use of it.cnr.contab.anagraf00.core.bulk.TerzoBulk in project sigla-main by consiglionazionaledellericerche.

the class ReversaleComponent method docGenerico_creaDocumentoGenericoRiga.

/**
 * creazione riga di documento di entrata x incasso IVA da fatture estere
 * PreCondition:
 * E' stata generata la richiesta di creazione di una riga di documento amministrativo di entrata
 * a partire da una reversale di incasso IVA x fattura estera
 * PostCondition:
 * Un riga di documento amministrativo viene creata.
 *
 * @param userContext lo <code>UserContext</code> che ha generato la richiesta
 * @param documento   <code>Documento_genericoBulk</code> il documento generico
 * @param scadenza    <code>Accertamento_scadenzarioBulk</code> la scadenza dell'accertamento
 * @param importo     L'importo della reversale di regolarizzazione
 * @param mRiga       Mandato_rigaBulk da cui dedurre le modalita di pagamento
 * @return riga <code>Documento_generico_rigaBulk</code> la riga del documento generico creata
 */
public Documento_generico_rigaBulk docGenerico_creaDocumentoGenericoRiga(UserContext userContext, Documento_genericoBulk documento, Accertamento_scadenzarioBulk scadenza, BigDecimal importo, Mandato_rigaBulk mRiga) throws ComponentException {
    try {
        Documento_generico_rigaBulk riga = docGenerico_creaDocumentoGenericoRiga(userContext, documento, scadenza, importo);
        // terzo uo
        SQLBuilder sql = getHome(userContext, TerzoBulk.class).createSQLBuilder();
        sql.addClause("AND", "cd_unita_organizzativa", SQLBuilder.EQUALS, documento.getCd_unita_organizzativa());
        sql.addClause("AND", "dt_canc", SQLBuilder.ISNULL, null);
        List result = getHome(userContext, TerzoBulk.class).fetchAll(sql);
        if (result == null || result.size() == 0)
            throw handleException(new ApplicationException(" Impossibile emettere la reversale: l'unità organizzativa " + documento.getCd_unita_organizzativa() + " non e' stata codificata in anagrafica"));
        TerzoBulk terzo_uo = (TerzoBulk) result.get(0);
        riga.setCd_terzo_uo_cds(terzo_uo.getCd_terzo());
        riga.setTerzo_uo_cds(terzo_uo);
        // modalità pagamento
        sql = getHome(userContext, Modalita_pagamentoBulk.class).createSQLBuilder();
        sql.addClause("AND", "cd_terzo", SQLBuilder.EQUALS, terzo_uo.getCd_terzo());
        sql.addClause("AND", "cd_terzo_delegato", SQLBuilder.ISNULL, null);
        sql.addTableToHeader("RIF_MODALITA_PAGAMENTO");
        sql.addSQLJoin("RIF_MODALITA_PAGAMENTO.CD_MODALITA_PAG", "MODALITA_PAGAMENTO.CD_MODALITA_PAG");
        sql.addSQLClause("AND", "TI_PAGAMENTO", SQLBuilder.EQUALS, Rif_modalita_pagamentoBulk.BANCARIO);
        result = getHome(userContext, Modalita_pagamentoBulk.class).fetchAll(sql);
        if (result == null || result.size() == 0)
            throw handleException(new ApplicationException(" Impossibile emettere la reversale: l'unità organizzativa " + documento.getCd_unita_organizzativa() + " non ha modalità di pagamento associate"));
        Modalita_pagamentoBulk mp = (Modalita_pagamentoBulk) result.get(0);
        riga.setCd_modalita_pag_uo_cds(mp.getCd_modalita_pag());
        riga.setModalita_pagamento_uo_cds(new Rif_modalita_pagamentoBulk(mp.getCd_modalita_pag()));
        sql = getHome(userContext, BancaBulk.class).createSQLBuilder();
        sql.addClause("AND", "cd_terzo", SQLBuilder.EQUALS, terzo_uo.getCd_terzo());
        sql.addClause("AND", "ti_pagamento", SQLBuilder.EQUALS, Rif_modalita_pagamentoBulk.BANCARIO);
        sql.addClause("AND", "fl_cancellato", SQLBuilder.EQUALS, Boolean.FALSE);
        sql.addSQLClause("AND", "CODICE_IBAN", SQLBuilder.ISNOTNULL, null);
        sql.addSQLClause("AND", "cd_terzo_delegato", SQLBuilder.ISNULL, null);
        try {
            if (!Utility.createParametriCnrComponentSession().getParametriCnr(userContext, CNRUserContext.getEsercizio(userContext)).getFl_tesoreria_unica().booleanValue())
                sql.addSQLClause("AND", "BANCA.FL_CC_CDS", SQLBuilder.EQUALS, "Y");
            else {
                Configurazione_cnrBulk config = new Configurazione_cnrBulk("CONTO_CORRENTE_SPECIALE", "ENTE", "*", new Integer(0));
                it.cnr.contab.config00.bulk.Configurazione_cnrHome home = (it.cnr.contab.config00.bulk.Configurazione_cnrHome) getHome(userContext, config);
                List configurazioni = home.find(config);
                if ((configurazioni != null) && (configurazioni.size() == 1)) {
                    Configurazione_cnrBulk configBanca = (Configurazione_cnrBulk) configurazioni.get(0);
                    sql.addSQLClause("AND", "BANCA.ABI", SQLBuilder.EQUALS, configBanca.getVal01());
                    sql.addSQLClause("AND", "BANCA.CAB", SQLBuilder.EQUALS, configBanca.getVal02());
                    sql.addSQLClause("AND", "BANCA.NUMERO_CONTO", SQLBuilder.CONTAINS, configBanca.getVal03());
                }
            }
        } catch (Exception e) {
            throw handleException(e);
        }
        result = getHome(userContext, BancaBulk.class).fetchAll(sql);
        if (result == null || result.size() == 0)
            throw handleException(new ApplicationException(" Impossibile emettere la reversale: l'unità organizzativa " + documento.getCd_unita_organizzativa() + " non ha coordinate bancarie associate"));
        BancaBulk banca = (BancaBulk) result.get(0);
        riga.setPg_banca_uo_cds(banca.getPg_banca());
        riga.setBanca_uo_cds(banca);
        return riga;
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : Configurazione_cnrHome(it.cnr.contab.config00.bulk.Configurazione_cnrHome) ParseException(java.text.ParseException) ValidationException(it.cnr.jada.bulk.ValidationException) RemoteException(java.rmi.RemoteException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) SQLException(java.sql.SQLException) PersistencyException(it.cnr.jada.persistency.PersistencyException) IOException(java.io.IOException) BulkList(it.cnr.jada.bulk.BulkList) it.cnr.contab.anagraf00.core.bulk(it.cnr.contab.anagraf00.core.bulk) it.cnr.contab.config00.sto.bulk(it.cnr.contab.config00.sto.bulk) it.cnr.contab.docamm00.docs.bulk(it.cnr.contab.docamm00.docs.bulk) it.cnr.contab.doccont00.core.bulk(it.cnr.contab.doccont00.core.bulk) Configurazione_cnrHome(it.cnr.contab.config00.bulk.Configurazione_cnrHome) Rif_modalita_pagamentoBulk(it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk) Configurazione_cnrBulk(it.cnr.contab.config00.bulk.Configurazione_cnrBulk)

Aggregations

TerzoBulk (it.cnr.contab.anagraf00.core.bulk.TerzoBulk)127 PersistencyException (it.cnr.jada.persistency.PersistencyException)63 RemoteException (java.rmi.RemoteException)52 ComponentException (it.cnr.jada.comp.ComponentException)51 ApplicationException (it.cnr.jada.comp.ApplicationException)48 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)35 AnagraficoBulk (it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk)32 EJBException (javax.ejb.EJBException)27 Unita_organizzativaBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)26 TerzoHome (it.cnr.contab.anagraf00.core.bulk.TerzoHome)25 ValidationException (it.cnr.jada.bulk.ValidationException)22 Iterator (java.util.Iterator)21 Rif_modalita_pagamentoBulk (it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk)20 List (java.util.List)20 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)18 UserContext (it.cnr.jada.UserContext)17 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)17 BulkList (it.cnr.jada.bulk.BulkList)17 SQLException (java.sql.SQLException)17 it.cnr.contab.anagraf00.core.bulk (it.cnr.contab.anagraf00.core.bulk)16