use of it.cnr.contab.reports.bulk.Report 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);
}
}
use of it.cnr.contab.reports.bulk.Report in project sigla-main by consiglionazionaledellericerche.
the class CRUDOrdineAcqBP method stampaOrdine.
public File stampaOrdine(UserContext userContext, OrdineAcqBulk ordine) throws ComponentException {
try {
String jasperOrdineName = "ordini_acq.jasper";
String nomeFileOrdineOut = getOutputFileNameOrdine(jasperOrdineName, ordine);
File output = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", File.separator + nomeFileOrdineOut);
Print_spoolerBulk print = new Print_spoolerBulk();
print.setFlEmail(false);
print.setReport("/ordmag/ordini/" + jasperOrdineName);
print.setNomeFile(nomeFileOrdineOut);
print.setUtcr(userContext.getUser());
print.setPgStampa(UUID.randomUUID().getLeastSignificantBits());
print.addParam("CD_CDS", ordine.getCdCds(), String.class);
print.addParam("CD_UNITA_OPERATIVA", ordine.getCdUnitaOperativa(), String.class);
print.addParam("ESERCIZIO", ordine.getEsercizio(), Integer.class);
print.addParam("CD_NUMERATORE", ordine.getCdNumeratore(), String.class);
print.addParam("NUMERO", ordine.getNumero(), Integer.class);
Report report = SpringUtil.getBean("printService", PrintService.class).executeReport(userContext, print);
FileOutputStream f = new FileOutputStream(output);
f.write(report.getBytes());
return output;
} catch (IOException e) {
throw new GenerazioneReportException("Generazione Stampa non riuscita", e);
}
}
use of it.cnr.contab.reports.bulk.Report in project sigla-main by consiglionazionaledellericerche.
the class CRUDDistintaCassiereBP method archiviaStampa.
private StorageObject archiviaStampa(ActionContext context, Distinta_cassiereBulk distinta) throws IOException, ComponentException {
Format dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Print_spoolerBulk print = new Print_spoolerBulk();
print.setPgStampa(UUID.randomUUID().getLeastSignificantBits());
print.setFlEmail(false);
print.setReport("/doccont/doccont/distinta_cassiere.jasper");
print.setNomeFile("Distinta n." + distinta.getPg_distinta_def() + ".pdf");
print.setUtcr(context.getUserContext().getUser());
print.addParam("cd_cds", distinta.getCd_cds(), String.class);
print.addParam("cd_unita_organizzativa", distinta.getCd_unita_organizzativa(), String.class);
print.addParam("esercizio", distinta.getEsercizio().toString(), String.class);
print.addParam("pg_distinta", distinta.getPg_distinta().toString(), String.class);
Report report = SpringUtil.getBean("printService", PrintService.class).executeReport(context.getUserContext(), print);
return documentiContabiliService.restoreSimpleDocument(distinta, report.getInputStream(), report.getContentType(), report.getName(), distinta.getStorePath(), true);
}
use of it.cnr.contab.reports.bulk.Report in project sigla-main by consiglionazionaledellericerche.
the class ListaBolleScaricoGenerateBP method getStreamBollaScarico.
private InputStream getStreamBollaScarico(ActionContext actioncontext, BollaScaricoMagKey bollaScarico) throws Exception {
InputStream is;
Print_spoolerBulk print = new Print_spoolerBulk();
print.setPgStampa(UUID.randomUUID().getLeastSignificantBits());
print.setFlEmail(false);
print.setReport(NOME_REPORT);
print.setNomeFile(bollaScarico.toString());
print.setUtcr(actioncontext.getUserContext().getUser());
print.addParam("cds", bollaScarico.getCdCds(), String.class);
print.addParam("esercizio", bollaScarico.getEsercizio().intValue(), Integer.class);
print.addParam("magazzino", bollaScarico.getCdMagazzino(), String.class);
print.addParam("numeratore", bollaScarico.getCdNumeratoreMag(), String.class);
print.addParam("bollaSca", bollaScarico.getPgBollaSca().longValue(), Long.class);
Report report = SpringUtil.getBean("printService", PrintService.class).executeReport(actioncontext.getUserContext(), print);
return report.getInputStream();
}
use of it.cnr.contab.reports.bulk.Report in project sigla-main by consiglionazionaledellericerche.
the class PdGVariazioniComponent method lanciaStampa.
// per la stampa delle variazioni residuo conto terzi
public byte[] lanciaStampa(UserContext userContext, Integer esercizio, Integer pgVariazione, String tipo_variazione) throws PersistencyException, ComponentException, RemoteException, javax.ejb.EJBException {
String cdrPersonale = Optional.ofNullable(((Configurazione_cnrHome) getHome(userContext, Configurazione_cnrBulk.class)).getCdrPersonale(esercizio)).orElseThrow(() -> new ComponentException("Non è possibile individuare il codice CDR del Personale per l'esercizio " + esercizio + "."));
if (tipo_variazione.equals("R")) {
V_var_stanz_resHome home = (V_var_stanz_resHome) getHome(userContext, V_var_stanz_resBulk.class);
SQLBuilder sql = home.createSQLBuilder();
sql.addSQLClause(FindClause.AND, "ESERCIZIO", SQLBuilder.EQUALS, esercizio);
sql.addSQLClause(FindClause.AND, "PG_VARIAZIONE", SQLBuilder.EQUALS, pgVariazione);
sql.addSQLClause(FindClause.AND, "CD_CDR_ASSEGNATARIO", SQLBuilder.EQUALS, cdrPersonale);
sql.addSQLClause(FindClause.AND, "STATO", SQLBuilder.EQUALS, it.cnr.contab.varstanz00.bulk.Var_stanz_resBulk.STATO_APPROVATA);
java.util.List list = home.fetchAll(sql);
if (list.isEmpty())
throw new FatturaNonTrovataException("Variazione non trovata");
try {
File output = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", File.separator + getOutputFileName("stampa_var_stanziamento_res.jasper", esercizio, pgVariazione));
Print_spoolerBulk print = new Print_spoolerBulk();
print.setPgStampa(UUID.randomUUID().getLeastSignificantBits());
print.setFlEmail(false);
print.setReport("/cnrpreventivo/pdg/stampa_var_stanziamento_res.jasper");
print.setNomeFile(getOutputFileName("stampa_var_stanziamento_res.jasper", esercizio, pgVariazione));
print.setUtcr(userContext.getUser());
print.addParam("Esercizio", esercizio, Integer.class);
print.addParam("Variazione", pgVariazione, Integer.class);
Report report = SpringUtil.getBean("printService", PrintService.class).executeReport(userContext, print);
FileOutputStream f = new FileOutputStream(output);
f.write(report.getBytes());
f.flush();
f.close();
return report.getBytes();
} catch (IOException e) {
throw new GenerazioneReportException("Generazione Stampa non riuscita", e);
}
}
if (tipo_variazione.equals("C")) {
Configurazione_cnrHome homeCDR = (Configurazione_cnrHome) getHome(userContext, Configurazione_cnrBulk.class);
Pdg_variazioneHome home = (Pdg_variazioneHome) getHome(userContext, Pdg_variazioneBulk.class);
SQLBuilder sql = home.createSQLBuilder();
sql.addSQLClause(FindClause.AND, "PDG_VARIAZIONE.ESERCIZIO", SQLBuilder.EQUALS, esercizio);
sql.addSQLClause(FindClause.AND, "PDG_VARIAZIONE.PG_VARIAZIONE_PDG", SQLBuilder.EQUALS, pgVariazione);
sql.addTableToHeader("PDG_VARIAZIONE_RIGA_GEST");
sql.addSQLClause(FindClause.AND, "PDG_VARIAZIONE_RIGA_GEST.CD_CDR_ASSEGNATARIO", SQLBuilder.EQUALS, cdrPersonale);
sql.addSQLJoin("PDG_VARIAZIONE.ESERCIZIO", "PDG_VARIAZIONE_RIGA_GEST.ESERCIZIO");
sql.addSQLJoin("PDG_VARIAZIONE.PG_VARIAZIONE_PDG", "PDG_VARIAZIONE_RIGA_GEST.PG_VARIAZIONE_PDG");
sql.openParenthesis(FindClause.AND);
sql.addSQLClause(FindClause.AND, "PDG_VARIAZIONE.STATO", SQLBuilder.EQUALS, Pdg_variazioneBulk.STATO_APPROVATA);
sql.addSQLClause(FindClause.OR, "PDG_VARIAZIONE.STATO", SQLBuilder.EQUALS, Pdg_variazioneBulk.STATO_APPROVAZIONE_FORMALE);
sql.closeParenthesis();
java.util.List list = home.fetchAll(sql);
if (list.isEmpty())
throw new FatturaNonTrovataException("Variazione non trovata");
try {
File output = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", File.separator + getOutputFileName("stampa_variazioni_pdg.jasper", esercizio, pgVariazione));
Print_spoolerBulk print = new Print_spoolerBulk();
print.setPgStampa(UUID.randomUUID().getLeastSignificantBits());
print.setFlEmail(false);
print.setReport("/cnrpreventivo/pdg/stampa_variazioni_pdg.jasper");
print.setNomeFile(getOutputFileName("stampa_variazioni_pdg.jasper", esercizio, pgVariazione));
print.setUtcr(userContext.getUser());
print.addParam("Esercizio", esercizio, Integer.class);
print.addParam("Variazione", pgVariazione, Integer.class);
Report report = SpringUtil.getBean("printService", PrintService.class).executeReport(userContext, print);
FileOutputStream f = new FileOutputStream(output);
f.write(report.getBytes());
f.flush();
f.close();
return report.getBytes();
} catch (IOException e) {
throw new GenerazioneReportException("Generazione Stampa non riuscita", e);
}
}
return null;
}
Aggregations