Search in sources :

Example 1 with TelefonoBulk

use of it.cnr.contab.anagraf00.core.bulk.TelefonoBulk 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 2 with TelefonoBulk

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

the class PendenzaPagopaComponent method generaPosizioneDebitoria.

public PendenzaPagopaBulk generaPosizioneDebitoria(UserContext userContext, IDocumentoAmministrativoBulk documentoAmministrativoBulk, Timestamp dataScadenza, String descrizione, BigDecimal importoScadenza, TerzoBulk terzoBulk) throws ComponentException {
    try {
        GestionePagopaHome home = (GestionePagopaHome) getHome(userContext, GestionePagopaBulk.class);
        Timestamp dataOdierna = DateServices.getDataOdierna();
        GestionePagopaBulk gestionePagopaBulk = home.findGestionePagopa(dataOdierna);
        if (gestionePagopaBulk != null) {
            PendenzaPagopaBulk scadenzaPagopaBulk = new PendenzaPagopaBulk();
            Numerazione_doc_ammBulk numerazioneProgressivoUnivoco = new Numerazione_doc_ammBulk();
            TipoPendenzaPagopaBulk tipoPendenzaPagopaBulk = getTipoScadenzaPagopaBulk(userContext, gestionePagopaBulk);
            String iuv = generaIuv(userContext, documentoAmministrativoBulk, dataOdierna, numerazioneProgressivoUnivoco, tipoPendenzaPagopaBulk);
            String codiceAvviso = generaCodiceAvviso(tipoPendenzaPagopaBulk, iuv);
            scadenzaPagopaBulk.setCdAvviso(codiceAvviso);
            scadenzaPagopaBulk.setCdIuv(iuv);
            scadenzaPagopaBulk.setTipoPendenzaPagopa(tipoPendenzaPagopaBulk);
            scadenzaPagopaBulk.setEsercizio(numerazioneProgressivoUnivoco.getEsercizio());
            scadenzaPagopaBulk.setDtScadenza(dataScadenza);
            scadenzaPagopaBulk.setTipoPosizione(PendenzaPagopaBulk.TIPO_POSIZIONE_CREDITORIA);
            scadenzaPagopaBulk.setStato(PendenzaPagopaBulk.STATO_VALIDO);
            scadenzaPagopaBulk.setUnitaOrganizzativa(new Unita_organizzativaBulk());
            scadenzaPagopaBulk.setCdUnitaOrganizzativa(CNRUserContext.getCd_unita_organizzativa(userContext));
            scadenzaPagopaBulk.setImportoPendenza(importoScadenza);
            scadenzaPagopaBulk.setDescrizione(descrizione);
            scadenzaPagopaBulk.setTerzo(terzoBulk);
            if (documentoAmministrativoBulk != null) {
                scadenzaPagopaBulk.setCdCdsDocAmm(documentoAmministrativoBulk.getCd_cds());
                scadenzaPagopaBulk.setCdUoDocAmm(documentoAmministrativoBulk.getCd_uo());
                scadenzaPagopaBulk.setCdTipoDocAmm(documentoAmministrativoBulk.getCd_tipo_doc_amm());
                scadenzaPagopaBulk.setEsercizioDocAmm(documentoAmministrativoBulk.getEsercizio());
                scadenzaPagopaBulk.setPgDocAmm(documentoAmministrativoBulk.getPg_doc_amm());
            }
            scadenzaPagopaBulk.setToBeCreated();
            Pendenza pendenza = new Pendenza();
            pendenza.setIdTipoPendenza("PRESTAZIONE");
            pendenza.setIdDominio(1);
            pendenza.setIdUnitaOperativa(scadenzaPagopaBulk.getCdUnitaOrganizzativa());
            pendenza.setCausale(scadenzaPagopaBulk.getDescrizione());
            SoggettoPagatore soggettoPagatore = new SoggettoPagatore();
            AnagraficoBulk anagraficoBulk = scadenzaPagopaBulk.getTerzo().getAnagrafico();
            soggettoPagatore.setTipo(anagraficoBulk.getTi_entita());
            soggettoPagatore.setAnagrafica(terzoBulk.getDenominazione_sede());
            soggettoPagatore.setIndirizzo(terzoBulk.getVia_sede());
            try {
                soggettoPagatore.setCap(new Integer(terzoBulk.getCap_comune_sede()));
            } catch (NumberFormatException e) {
            }
            try {
                ComuneBulk comuneBulk = (ComuneBulk) getHome(userContext, terzoBulk.getComune_sede()).findByPrimaryKey(terzoBulk.getComune_sede());
                soggettoPagatore.setLocalita(comuneBulk.getDs_comune());
                soggettoPagatore.setProvincia(comuneBulk.getCd_provincia());
                NazioneBulk nazioneBulk = (NazioneBulk) getHome(userContext, comuneBulk.getNazione()).findByPrimaryKey(comuneBulk.getNazione());
                soggettoPagatore.setNazione(nazioneBulk.getCd_iso());
            } catch (PersistencyException e) {
            }
            TerzoHome terzoHome = (TerzoHome) getHome(userContext, terzoBulk);
            Collection<TelefonoBulk> mails = terzoHome.findTelefoni(terzoBulk, TelefonoBulk.EMAIL);
            if (mails != null && mails.isEmpty()) {
                soggettoPagatore.setEmail(mails.iterator().next().getRiferimento());
            }
            Collection<TelefonoBulk> telefoni = terzoHome.findTelefoni(terzoBulk, TelefonoBulk.TEL);
            if (telefoni != null && telefoni.isEmpty()) {
                soggettoPagatore.setCellulare(telefoni.iterator().next().getRiferimento());
            }
            soggettoPagatore.setIndirizzo(terzoBulk.getVia_sede());
            pendenza.setImporto(importoScadenza);
            pendenza.setNumeroAvviso(new Long(codiceAvviso));
            pendenza.setAnnoRiferimento(CNRUserContext.getEsercizio(userContext));
            java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd");
            Date data = new Date(dataScadenza.getTime());
            pendenza.setDataScadenza(formatter.format(data));
            pendenza.setDataNotificaAvviso(formatter.format(new Date(dataOdierna.getTime())));
            pendenza.setDataPromemoriaScadenza(pendenza.getDataScadenza());
            Voci voci = new Voci();
            Entrata entrata = new Entrata();
            entrata.setIbanAccredito("AA");
            entrata.setIbanAppoggio("AA1");
            voci.setEntrata(entrata);
            pendenza.setVoci(Arrays.asList(voci));
            return scadenzaPagopaBulk;
        } else {
            throw new it.cnr.jada.comp.ApplicationException("La gestione PagoPA non è indicata per la data odierna");
        }
    } catch (Throwable t) {
        throw handleException(t);
    }
}
Also used : TipoPendenzaPagopaBulk(it.cnr.contab.pagopa.bulk.TipoPendenzaPagopaBulk) Pendenza(it.cnr.contab.pagopa.model.Pendenza) Unita_organizzativaBulk(it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk) PendenzaPagopaBulk(it.cnr.contab.pagopa.bulk.PendenzaPagopaBulk) TipoPendenzaPagopaBulk(it.cnr.contab.pagopa.bulk.TipoPendenzaPagopaBulk) TerzoHome(it.cnr.contab.anagraf00.core.bulk.TerzoHome) Timestamp(java.sql.Timestamp) GestionePagopaHome(it.cnr.contab.pagopa.bulk.GestionePagopaHome) Numerazione_doc_ammBulk(it.cnr.contab.docamm00.docs.bulk.Numerazione_doc_ammBulk) Voci(it.cnr.contab.pagopa.model.Voci) PersistencyException(it.cnr.jada.persistency.PersistencyException) UserContext(it.cnr.jada.UserContext) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext) NazioneBulk(it.cnr.contab.anagraf00.tabter.bulk.NazioneBulk) AnagraficoBulk(it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk) SoggettoPagatore(it.cnr.contab.pagopa.model.SoggettoPagatore) Date(java.sql.Date) TelefonoBulk(it.cnr.contab.anagraf00.core.bulk.TelefonoBulk) Entrata(it.cnr.contab.pagopa.model.Entrata) GestionePagopaBulk(it.cnr.contab.pagopa.bulk.GestionePagopaBulk) ComuneBulk(it.cnr.contab.anagraf00.tabter.bulk.ComuneBulk)

Example 3 with TelefonoBulk

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

the class TerzoResource method update.

public Response update(@Context HttpServletRequest request, TerzoBulk terzoBulk) throws Exception {
    CNRUserContext userContext = (CNRUserContext) securityContext.getUserPrincipal();
    Optional.ofNullable(terzoBulk.getCd_terzo()).orElseThrow(() -> new RestException(Status.BAD_REQUEST, "Errore, indicare il codice terzo."));
    TerzoBulk terzoDB = getTerzo(userContext, terzoBulk.getCd_terzo());
    Optional.ofNullable(terzoDB).orElseThrow(() -> new RestException(Status.BAD_REQUEST, "Errore, il codice terzo indicato " + terzoBulk.getCd_terzo() + " non esiste"));
    Optional.ofNullable(terzoBulk.getCodiceDestinatarioFatt()).orElseGet(() -> Optional.ofNullable(terzoBulk.getPecForRest()).orElseThrow(() -> new RestException(Status.BAD_REQUEST, "Errore, indicare almeno la pec o il codice destinatario fattura.")));
    terzoDB = (TerzoBulk) terzoComponentSession.inizializzaBulkPerModifica(userContext, terzoDB);
    terzoDB.setCodiceDestinatarioFatt(Optional.ofNullable(terzoBulk.getCodiceDestinatarioFatt()).orElse(terzoDB.getCodiceDestinatarioFatt()));
    if (terzoBulk.getPecForRest() != null && !terzoBulk.getPecForRest().isEmpty()) {
        String newPec = terzoBulk.getPecForRest();
        Boolean pecEsistente = false;
        for (java.util.Iterator i = terzoDB.getPec().iterator(); i.hasNext(); ) {
            TelefonoBulk emailPec = (TelefonoBulk) i.next();
            if (emailPec.getRiferimento().equalsIgnoreCase(newPec)) {
                pecEsistente = true;
                emailPec.setFattElettronica(true);
                emailPec.setToBeUpdated();
            } else if (emailPec.getFattElettronica()) {
                emailPec.setFattElettronica(false);
                emailPec.setToBeUpdated();
            }
        }
        if (!pecEsistente) {
            TelefonoBulk telefonoBulk = new TelefonoBulk();
            telefonoBulk.setToBeCreated();
            telefonoBulk.setRiferimento(terzoBulk.getPecForRest());
            telefonoBulk.setDs_riferimento("INDIRIZZO PEC PER FATTURAZIONE ELETTRONICA");
            telefonoBulk.setFattElettronica(true);
            terzoDB.addToPec(telefonoBulk);
        }
    }
    terzoDB.setToBeUpdated();
    terzoDB = (TerzoBulk) terzoComponentSession.modificaConBulk(userContext, terzoDB);
    return Response.status(Status.OK).entity(terzoBulk).build();
}
Also used : TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) RestException(it.cnr.contab.web.rest.exception.RestException) TelefonoBulk(it.cnr.contab.anagraf00.core.bulk.TelefonoBulk) CNRUserContext(it.cnr.contab.utenze00.bp.CNRUserContext)

Example 4 with TelefonoBulk

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

the class AnagraficoComponent method inizializzaBulkPerModifica.

/**
 * Carica un anagrafica con tutti i dati correlati.
 * <p>
 * Nome: Inizializzazione;
 * Pre:  Preparare l'oggetto alle modifiche;
 * Post: Si procede, oltre che alla normare procedura di inizializzazione di un oggetto bulk,
 * anche al caricamento di tutti gli elementi associati all'anagrafica in modifica.
 *
 * @param bulk dovrà essere sempore <code>AnagraficoBulk</code>.
 * @return un <code>OggettoBulk</code> che sarà sempre un <code>AnagraficoBulk</code>.
 */
public OggettoBulk inizializzaBulkPerModifica(UserContext userContext, OggettoBulk bulk) throws it.cnr.jada.comp.ComponentException {
    try {
        AnagraficoBulk anagrafico = (AnagraficoBulk) super.inizializzaBulkPerModifica(userContext, bulk);
        AnagraficoHome anagraficoHome = (AnagraficoHome) getHome(userContext, AnagraficoBulk.class);
        // anagrafico.setTerzi(new BulkList(anagraficoHome.findTerzi(anagrafico)));
        anagrafico.setRapporti(new BulkList(anagraficoHome.findRapporti(anagrafico)));
        anagrafico.setAssGruppoIva(new BulkList(anagraficoHome.findAssGruppoIva(anagrafico)));
        anagrafico.setDichiarazioni_intento(new BulkList(anagraficoHome.findDichiarazioni_intento(anagrafico)));
        anagrafico.setCarichi_familiari_anag(new BulkList(anagraficoHome.findCarichi_familiari_anag(anagrafico)));
        anagrafico.setPagamenti_esterni(new BulkList(anagraficoHome.findPagamenti_esterni(anagrafico)));
        if (anagrafico.STRUT_CNR.equals(anagrafico.getTi_entita()))
            anagrafico.setTi_entita_persona_struttura(anagrafico.ENTITA_STRUTTURA);
        else
            anagrafico.setTi_entita_persona_struttura(anagrafico.ENTITA_PERSONA);
        // ??????????????
        // anagrafico.setCervello(anagrafico.getFl_cervelloni());
        // java.util.Collection details = anagraficoHome.findContatti(anagrafico);
        // for (java.util.Iterator i = details.iterator();i.hasNext();) {
        // ContattoBulk contatto = (ContattoBulk)i.next();
        // contatto.getTerzo().addToContatti(contatto);
        // }
        // details = anagraficoHome.findBanca(anagrafico);
        // for (java.util.Iterator i = details.iterator();i.hasNext();) {
        // BancaBulk banca = (BancaBulk)i.next();
        // banca.getTerzo().addToBanche(banca);
        // }
        // details = anagraficoHome.findTermini_pagamento(anagrafico);
        // for (java.util.Iterator i = details.iterator();i.hasNext();) {
        // Termini_pagamentoBulk termini_pagamento = (Termini_pagamentoBulk)i.next();
        // termini_pagamento.getTerzo().addToTermini_pagamento(termini_pagamento);
        // }
        // details = anagraficoHome.findModalita_pagamento(anagrafico);
        // for (java.util.Iterator i = details.iterator();i.hasNext();) {
        // Modalita_pagamentoBulk modalita_pagamento = (Modalita_pagamentoBulk)i.next();
        // modalita_pagamento.getTerzo().addToModalita_pagamento(modalita_pagamento);
        // }
        // details = anagraficoHome.findTelefoni(anagrafico, getHomeCache(userContext).getHome(TelefonoBulk.class,"V_TELEFONO_ANAG"));
        // for (java.util.Iterator i = details.iterator();i.hasNext();) {
        // TelefonoBulk telefoni = (TelefonoBulk)i.next();
        // if(TelefonoBulk.TEL.equals(telefoni.getTi_riferimento()))   telefoni.getTerzo().addToTelefoni(telefoni);
        // else if(TelefonoBulk.EMAIL.equals(telefoni.getTi_riferimento())) telefoni.getTerzo().addToEmail(telefoni);
        // else if(TelefonoBulk.FAX.equals(telefoni.getTi_riferimento()))   telefoni.getTerzo().addToFax(telefoni);
        // }
        // for (java.util.Iterator i = anagrafico.getTerzi().iterator();i.hasNext();) {
        // TerzoBulk terzo = (TerzoBulk)i.next();
        // terzo.setRif_termini_pagamento_disponibili(anagrafico.getRif_termini_pagamento());
        // terzo.setRif_modalita_pagamento_disponibili(anagrafico.getRif_modalita_pagamento());
        // if (terzo.getCd_unita_organizzativa() != null) {
        // terzo.setUnita_organizzativa((it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)getHome(userContext,it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk.class).findByPrimaryKey(new it.cnr.contab.config00.sto.bulk.Unita_organizzativaKey(terzo.getCd_unita_organizzativa())));
        // if (terzo.getUnita_organizzativa() == null) {
        // terzo.setUnita_organizzativa(new it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk());
        // terzo.getUnita_organizzativa().setCd_unita_organizzativa(terzo.getCd_unita_organizzativa());
        // terzo.getUnita_organizzativa().setCrudStatus(terzo.NORMAL);
        // }
        // }
        // super.initializeKeysAndOptionsInto(userContext,terzo);
        // }
        java.util.Collection details = anagraficoHome.findInquadramenti(anagrafico);
        for (java.util.Iterator i = details.iterator(); i.hasNext(); ) {
            InquadramentoBulk inquadramento = (InquadramentoBulk) i.next();
            inquadramento.setMax_dt_fin_validita_missione(findMaxFinMissione(userContext, anagrafico));
            inquadramento.getRapporto().getInquadramenti().add(inquadramento);
        }
        anagrafico.setDipendente(anagraficoHome.findRapportoDipendenteFor(anagrafico));
        anagrafico.setUtilizzata(isAnagraficaUtilizzata(userContext, anagrafico));
        anagrafico.setUtilizzata_detrazioni(isAnagraficaUtilizzataDetrazione(userContext, anagrafico));
        /* Cerca una corrispondenza nella tabella ANAGRAFICO_ESERCIZIO;
             *	se non la trova, ne crea uno nuovo e ne imposta l'esercizio con quello di
             *	scrivania.
             */
        Anagrafico_esercizioHome anag_esercHome = (Anagrafico_esercizioHome) getHome(userContext, Anagrafico_esercizioBulk.class);
        Anagrafico_esercizioBulk anagrafico_esercizio = anag_esercHome.findAnagrafico_esercizioFor(userContext, anagrafico, it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(userContext));
        if (anagrafico_esercizio != null) {
            anagrafico_esercizio.setToBeUpdated();
        } else {
            anagrafico_esercizio = new Anagrafico_esercizioBulk(anagrafico.getCd_anag(), it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(userContext));
            anagrafico_esercizio.setIm_detrazione_personale_anag(new java.math.BigDecimal(0));
            anagrafico_esercizio.setIm_deduzione_family_area(new java.math.BigDecimal(0));
            anagrafico_esercizio.setIm_reddito_complessivo(new java.math.BigDecimal(0));
            anagrafico_esercizio.setIm_reddito_abitaz_princ(new java.math.BigDecimal(0));
            anagrafico_esercizio.setToBeCreated();
        }
        anagrafico.setAnagrafico_esercizio(anagrafico_esercizio);
        anagrafico.setAssociatiStudio(new BulkList(anagraficoHome.findAssociatiStudio(anagrafico)));
        getHomeCache(userContext).fetchAll(userContext);
        if (!isAnagraficaModificabile(userContext, anagrafico))
            return asRO(anagrafico, "Non si hanno diritti per modificare una struttura CNR.");
        if (anagrafico.isSpeciale())
            return asRO(anagrafico, "Anagrafica non modificabile.");
        return anagrafico;
    } catch (Exception e) {
        throw handleException(e);
    }
}
Also used : BigDecimal(java.math.BigDecimal) it.cnr.contab.anagraf00.util(it.cnr.contab.anagraf00.util) java.util(java.util) FeignException(feign.FeignException) AddressException(javax.mail.internet.AddressException) RemoteException(java.rmi.RemoteException) EJBException(javax.ejb.EJBException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) NoSuchBeanDefinitionException(org.springframework.beans.factory.NoSuchBeanDefinitionException) ApplicationMessageFormatException(it.cnr.contab.util.ApplicationMessageFormatException) ComponentException(it.cnr.jada.comp.ComponentException)

Aggregations

TelefonoBulk (it.cnr.contab.anagraf00.core.bulk.TelefonoBulk)3 CNRUserContext (it.cnr.contab.utenze00.bp.CNRUserContext)3 AnagraficoBulk (it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk)2 TerzoBulk (it.cnr.contab.anagraf00.core.bulk.TerzoBulk)2 Unita_organizzativaBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)2 UserContext (it.cnr.jada.UserContext)2 Timestamp (java.sql.Timestamp)2 FeignException (feign.FeignException)1 ContattoBulk (it.cnr.contab.anagraf00.core.bulk.ContattoBulk)1 TerzoHome (it.cnr.contab.anagraf00.core.bulk.TerzoHome)1 ComuneBulk (it.cnr.contab.anagraf00.tabter.bulk.ComuneBulk)1 NazioneBulk (it.cnr.contab.anagraf00.tabter.bulk.NazioneBulk)1 it.cnr.contab.anagraf00.util (it.cnr.contab.anagraf00.util)1 Configurazione_cnrBulk (it.cnr.contab.config00.bulk.Configurazione_cnrBulk)1 EsercizioComponentSession (it.cnr.contab.config00.ejb.EsercizioComponentSession)1 Numerazione_baseComponentSession (it.cnr.contab.config00.tabnum.ejb.Numerazione_baseComponentSession)1 CRUDFatturaPassivaAction (it.cnr.contab.docamm00.actions.CRUDFatturaPassivaAction)1 Fattura_passivaBulk (it.cnr.contab.docamm00.docs.bulk.Fattura_passivaBulk)1 Fattura_passiva_rigaBulk (it.cnr.contab.docamm00.docs.bulk.Fattura_passiva_rigaBulk)1 Numerazione_doc_ammBulk (it.cnr.contab.docamm00.docs.bulk.Numerazione_doc_ammBulk)1