use of it.cnr.jada.bulk.BusyResourceException 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.jada.bulk.BusyResourceException in project sigla-main by consiglionazionaledellericerche.
the class FatturaElettronicaPassivaComponent method getEmailPecSdi.
public Configurazione_cnrBulk getEmailPecSdi(UserContext userContext, boolean lock) throws it.cnr.jada.comp.ComponentException {
try {
Configurazione_cnrBulk configurazione_cnrBulk = new Configurazione_cnrBulk(Configurazione_cnrBulk.PK_EMAIL_PEC, Configurazione_cnrBulk.SK_SDI, "*", new Integer(0));
Configurazione_cnrHome configurazione_cnrHome = (Configurazione_cnrHome) getHome(userContext, Configurazione_cnrBulk.class);
configurazione_cnrBulk = (Configurazione_cnrBulk) configurazione_cnrHome.findAndLock(configurazione_cnrBulk);
if (lock) {
if ("Y".equalsIgnoreCase(configurazione_cnrBulk.getVal04()))
return null;
configurazione_cnrBulk.setVal04("Y");
configurazione_cnrBulk.setToBeUpdated();
configurazione_cnrHome.update(configurazione_cnrBulk, userContext);
}
return configurazione_cnrBulk;
} catch (BusyResourceException _ex) {
return null;
} catch (Throwable e) {
throw handleException(e);
}
}
use of it.cnr.jada.bulk.BusyResourceException in project sigla-main by consiglionazionaledellericerche.
the class Id_inventarioHome method assegnaProgressivo.
public void assegnaProgressivo(Id_inventarioBulk id_inventario) throws PersistencyException, OutdatedResourceException, BusyResourceException {
Long x = new Long(0);
try {
x = (Long) (findAndLockMax(id_inventario, "pg_inventario", x)) + 1;
} catch (it.cnr.jada.bulk.BusyResourceException e) {
throw new PersistencyException(e);
}
id_inventario.setPg_inventario(x);
}
use of it.cnr.jada.bulk.BusyResourceException in project sigla-main by consiglionazionaledellericerche.
the class Aggiornamento_inventarioComponent method AggiornaBeni.
public Aggiornamento_inventarioBulk AggiornaBeni(UserContext userContext, Aggiornamento_inventarioBulk aggiorno) throws ComponentException {
validaUtilizzatori(userContext, aggiorno);
valida(userContext, aggiorno);
try {
for (java.util.Iterator i = aggiorno.getDettagli().iterator(); i.hasNext(); ) {
it.cnr.contab.inventario00.docs.bulk.Inventario_beniBulk bene = (it.cnr.contab.inventario00.docs.bulk.Inventario_beniBulk) i.next();
if ((aggiorno.getassegnatario() != null && aggiorno.getassegnatario().getCd_terzo() != null) || (aggiorno.getUbicazione_destinazione() != null && aggiorno.getUbicazione_destinazione().getCd_ubicazione() != null)) {
lockBulk(userContext, bene);
if (aggiorno.getassegnatario() != null)
bene.setAssegnatario(aggiorno.getassegnatario());
if (aggiorno.getUbicazione_destinazione() != null)
bene.setUbicazione(aggiorno.getUbicazione_destinazione());
bene.setToBeUpdated();
super.modificaConBulk(userContext, bene);
}
if (aggiorno.getV_utilizzatoriColl().size() != 0)
aggiorna_utilizzatori(userContext, aggiorno, bene);
}
return aggiorno;
} catch (PersistencyException e) {
throw new ComponentException(e);
} catch (OutdatedResourceException e) {
throw new ApplicationException("Risorsa non pi\371 valida. Ripetere la selezione dei beni.");
} catch (BusyResourceException e) {
throw new ComponentException(e);
}
}
use of it.cnr.jada.bulk.BusyResourceException in project sigla-main by consiglionazionaledellericerche.
the class BuonoCaricoScaricoComponent method modificaBeniAssociati.
/**
* Inserisce i beni temporanei.
* PreCondition:
* E' stata generata la richiesta di riportare i beni selezionati dall'utente nella tabella
* temporanea INVENTARIO_BENI_APG. L'utente, in questa fase, si trova a selezionare dei
* beni già presenti sul DB, per una operazione di associazione con Fattura Passiva.
* PostCondition:
* Vengono riportati sulla tabella INVENTARIO_BENI_APG i dati relativi ai beni selezionati dall'utente.
*
* @param userContext lo <code>UserContext</code> che ha generato la richiesta
* @param associaBulk <code>Ass_inv_bene_fatturaBulk</code> l'oggetto che contiene le informazioni
* relative all'Inventario di riferimento ed alle righe di Fattura Passive.
*
* @param righe_fattura la <code>List</code> lista di righe di fattura a cui associare i beni.
* @param beni <code>OggettoBulk[]</code> i beni selezionati dall'utente.
* @param old_ass la <code>BitSet</code> selezione precedente.
* @param ass la <code>BitSet</code> selezione attuale.
*/
public void modificaBeniAssociati(UserContext userContext, Ass_inv_bene_fatturaBulk associaBulk, java.util.List righe_fattura, OggettoBulk[] buoni, java.util.BitSet old_ass, java.util.BitSet ass) throws ComponentException {
/* Questo metodo viene richiamato tutte le volte che c'è un cambio di pagina del selezionatore
* dei beni, oppure una richiesta di Riporta - Seleziona.
*/
Fattura_passiva_rigaIBulk riga_fattura = null;
Fattura_attiva_rigaIBulk fattura_attiva = null;
Nota_di_credito_rigaBulk nota = null;
Nota_di_debito_rigaBulk notadeb = null;
Documento_generico_rigaBulk documento = null;
BigDecimal im_riga_fattura = new java.math.BigDecimal(0);
BigDecimal tot_bene_apg = new BigDecimal(0);
BigDecimal tot_ass_apg = new BigDecimal(0);
try {
for (Iterator selected = righe_fattura.iterator(); selected.hasNext(); ) {
OggettoBulk oggettoBulk = (OggettoBulk) selected.next();
if (oggettoBulk instanceof Fattura_passiva_rigaIBulk)
riga_fattura = (Fattura_passiva_rigaIBulk) oggettoBulk;
else if (oggettoBulk instanceof Fattura_attiva_rigaIBulk)
fattura_attiva = (Fattura_attiva_rigaIBulk) oggettoBulk;
else if (oggettoBulk instanceof Nota_di_debito_rigaBulk)
notadeb = (Nota_di_debito_rigaBulk) oggettoBulk;
else if (oggettoBulk instanceof Nota_di_credito_rigaBulk)
nota = (Nota_di_credito_rigaBulk) oggettoBulk;
else if (oggettoBulk instanceof Documento_generico_rigaBulk)
documento = (Documento_generico_rigaBulk) oggettoBulk;
for (int i = 0; i < buoni.length; i++) {
if (!associaBulk.isPerAumentoValore() && !associaBulk.isPerAumentoValoreDoc()) {
Buono_carico_scarico_dettBulk buono = (Buono_carico_scarico_dettBulk) buoni[i];
if (old_ass.get(i) != ass.get(i)) {
if (ass.get(i)) {
Inventario_beni_apgBulk new_bene_apg = new Inventario_beni_apgBulk();
new_bene_apg.setPg_inventario(buono.getPg_inventario());
new_bene_apg.setNr_inventario(buono.getNr_inventario());
new_bene_apg.setProgressivo(new Long(buono.getProgressivo()));
new_bene_apg.setDt_validita_variazione(buono.getBene().getDt_validita_variazione());
new_bene_apg.setLocal_transaction_id(associaBulk.getLocal_transactionID());
new_bene_apg.setTi_documento(buono.getTi_documento());
new_bene_apg.setPg_buono_c_s(buono.getPg_buono_c_s());
if (riga_fattura != null) {
new_bene_apg.setCd_cds(riga_fattura.getCd_cds());
new_bene_apg.setCd_unita_organizzativa(riga_fattura.getCd_unita_organizzativa());
new_bene_apg.setEsercizio(riga_fattura.getEsercizio());
new_bene_apg.setPg_fattura(riga_fattura.getPg_fattura_passiva());
new_bene_apg.setProgressivo_riga(riga_fattura.getProgressivo_riga());
if (riga_fattura.getTi_istituz_commerc().equals(TipoIVA.ISTITUZIONALE.value()))
im_riga_fattura = riga_fattura.getIm_imponibile().add(riga_fattura.getIm_iva());
else
im_riga_fattura = riga_fattura.getIm_imponibile();
} else if (nota != null) {
new_bene_apg.setCd_cds(nota.getCd_cds());
new_bene_apg.setCd_unita_organizzativa(nota.getCd_unita_organizzativa());
new_bene_apg.setEsercizio(nota.getEsercizio());
new_bene_apg.setPg_fattura(nota.getPg_fattura_passiva());
new_bene_apg.setProgressivo_riga(nota.getProgressivo_riga());
if (nota.getTi_istituz_commerc().equals(TipoIVA.ISTITUZIONALE.value()))
im_riga_fattura = nota.getIm_imponibile().add(nota.getIm_iva());
else
im_riga_fattura = nota.getIm_imponibile();
} else if (fattura_attiva != null) {
new_bene_apg.setCd_cds(fattura_attiva.getCd_cds());
new_bene_apg.setCd_unita_organizzativa(fattura_attiva.getCd_unita_organizzativa());
new_bene_apg.setEsercizio(fattura_attiva.getEsercizio());
new_bene_apg.setPg_fattura(fattura_attiva.getPg_fattura_attiva());
new_bene_apg.setProgressivo_riga(fattura_attiva.getProgressivo_riga());
im_riga_fattura = fattura_attiva.getIm_imponibile();
} else if (notadeb != null) {
new_bene_apg.setCd_cds(notadeb.getCd_cds());
new_bene_apg.setCd_unita_organizzativa(notadeb.getCd_unita_organizzativa());
new_bene_apg.setEsercizio(notadeb.getEsercizio());
new_bene_apg.setPg_fattura(notadeb.getPg_fattura_passiva());
new_bene_apg.setProgressivo_riga(notadeb.getProgressivo_riga());
if (notadeb.getTi_istituz_commerc().equals(TipoIVA.ISTITUZIONALE.value()))
im_riga_fattura = notadeb.getIm_imponibile().add(notadeb.getIm_iva());
else
im_riga_fattura = notadeb.getIm_imponibile();
} else if (documento != null) {
new_bene_apg.setCd_cds(documento.getCd_cds());
new_bene_apg.setCd_unita_organizzativa(documento.getCd_unita_organizzativa());
new_bene_apg.setEsercizio(documento.getEsercizio());
new_bene_apg.setPg_fattura(documento.getPg_documento_generico());
new_bene_apg.setCd_tipo_documento_amm(documento.getCd_tipo_documento_amm());
new_bene_apg.setProgressivo_riga(documento.getProgressivo_riga());
// IVA NON IMPUTATA SEPARATAMENTE
im_riga_fattura = documento.getIm_riga();
}
if ((fattura_attiva != null) || (documento != null && documento.getDocumento_generico().getTi_entrate_spese() == Documento_genericoBulk.ENTRATE)) {
new_bene_apg.setValore_alienazione(buono.getBene().getValore_alienazione());
} else {
tot_bene_apg = new BigDecimal(0);
tot_ass_apg = new BigDecimal(0);
Inventario_beni_apgHome home = (Inventario_beni_apgHome) getHome(userContext, Inventario_beni_apgBulk.class);
SQLBuilder sql = home.createSQLBuilder();
sql.addSQLClause("AND", "PG_INVENTARIO", sql.EQUALS, associaBulk.getInventario().getPg_inventario());
sql.addSQLClause("AND", "NR_INVENTARIO", sql.EQUALS, buono.getNr_inventario());
sql.addSQLClause("AND", "PROGRESSIVO", sql.EQUALS, buono.getProgressivo());
sql.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, buono.getEsercizio());
sql.addSQLClause("AND", "TI_DOCUMENTO", sql.EQUALS, buono.getTi_documento());
sql.addSQLClause("AND", "PG_BUONO_C_S", sql.EQUALS, buono.getPg_buono_c_s());
sql.addSQLClause("AND", "LOCAL_TRANSACTION_ID", sql.EQUALS, associaBulk.getLocal_transactionID());
List apg = home.fetchAll(sql);
for (Iterator iterator = apg.iterator(); iterator.hasNext(); ) {
Inventario_beni_apgBulk bene_apg = (Inventario_beni_apgBulk) iterator.next();
tot_bene_apg = tot_bene_apg.add(bene_apg.getValore_alienazione());
}
SQLBuilder sql_fatt = home.createSQLBuilder();
if (documento != null) {
sql_fatt.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, documento.getEsercizio());
sql_fatt.addSQLClause("AND", "CD_CDS", sql.EQUALS, documento.getCd_cds());
sql_fatt.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, documento.getCd_unita_organizzativa());
sql_fatt.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, documento.getPg_documento_generico());
sql_fatt.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, documento.getProgressivo_riga());
sql_fatt.addSQLClause("AND", "CD_TIPO_DOCUMENTO_AMM", sql.EQUALS, documento.getCd_tipo_documento_amm());
} else if (riga_fattura != null) {
sql_fatt.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, riga_fattura.getEsercizio());
sql_fatt.addSQLClause("AND", "CD_CDS", sql.EQUALS, riga_fattura.getCd_cds());
sql_fatt.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, riga_fattura.getCd_unita_organizzativa());
sql_fatt.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, riga_fattura.getPg_fattura_passiva());
sql_fatt.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, riga_fattura.getProgressivo_riga());
} else if (nota != null) {
sql_fatt.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, nota.getEsercizio());
sql_fatt.addSQLClause("AND", "CD_CDS", sql.EQUALS, nota.getCd_cds());
sql_fatt.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, nota.getCd_unita_organizzativa());
sql_fatt.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, nota.getPg_fattura_passiva());
sql_fatt.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, nota.getProgressivo_riga());
} else if (notadeb != null) {
sql_fatt.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, notadeb.getEsercizio());
sql_fatt.addSQLClause("AND", "CD_CDS", sql.EQUALS, notadeb.getCd_cds());
sql_fatt.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, notadeb.getCd_unita_organizzativa());
sql_fatt.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, notadeb.getPg_fattura_passiva());
sql_fatt.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, notadeb.getProgressivo_riga());
}
sql_fatt.addSQLClause("AND", "LOCAL_TRANSACTION_ID", sql.EQUALS, associaBulk.getLocal_transactionID());
apg = home.fetchAll(sql_fatt);
for (Iterator iterator = apg.iterator(); iterator.hasNext(); ) {
Inventario_beni_apgBulk bene_apg = (Inventario_beni_apgBulk) iterator.next();
tot_ass_apg = tot_ass_apg.add(bene_apg.getValore_alienazione());
}
// new_bene_apg.setValore_alienazione(buono.getValore_unitario());
if ((buono.getValore_unitario().subtract(tot_bene_apg)).compareTo(im_riga_fattura.subtract(tot_ass_apg)) > 0)
new_bene_apg.setValore_alienazione(im_riga_fattura.subtract(tot_ass_apg));
else
new_bene_apg.setValore_alienazione(buono.getValore_unitario().subtract(tot_bene_apg));
}
new_bene_apg.setImp_fattura(im_riga_fattura);
if (new_bene_apg.getValore_alienazione().compareTo(new BigDecimal(0)) > 0) {
Inventario_beniBulk inv = (Inventario_beniBulk) getHome(userContext, Inventario_beniBulk.class).findByPrimaryKey(new Inventario_beniBulk(new_bene_apg.getNr_inventario(), new_bene_apg.getPg_inventario(), new Long(new_bene_apg.getProgressivo().longValue())));
lockBulk(userContext, inv);
new_bene_apg.setToBeCreated();
super.creaConBulk(userContext, new_bene_apg);
}
}
} else {
Inventario_beni_apgHome home = (Inventario_beni_apgHome) getHome(userContext, Inventario_beni_apgBulk.class);
SQLBuilder sql = home.createSQLBuilder();
sql.addSQLClause("AND", "PG_INVENTARIO", sql.EQUALS, associaBulk.getInventario().getPg_inventario());
sql.addSQLClause("AND", "NR_INVENTARIO", sql.EQUALS, buono.getNr_inventario());
sql.addSQLClause("AND", "PROGRESSIVO", sql.EQUALS, buono.getProgressivo());
sql.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, buono.getEsercizio());
sql.addSQLClause("AND", "TI_DOCUMENTO", sql.EQUALS, buono.getTi_documento());
sql.addSQLClause("AND", "PG_BUONO_C_S", sql.EQUALS, buono.getPg_buono_c_s());
sql.addSQLClause("AND", "LOCAL_TRANSACTION_ID", sql.EQUALS, associaBulk.getLocal_transactionID());
if (riga_fattura != null) {
sql.addSQLClause("AND", "CD_CDS", sql.EQUALS, riga_fattura.getCd_cds());
sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, riga_fattura.getCd_unita_organizzativa());
sql.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, riga_fattura.getPg_fattura_passiva());
sql.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, riga_fattura.getProgressivo_riga());
} else if (nota != null) {
sql.addSQLClause("AND", "CD_CDS", sql.EQUALS, nota.getCd_cds());
sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, nota.getCd_unita_organizzativa());
sql.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, nota.getPg_fattura_passiva());
sql.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, nota.getProgressivo_riga());
} else if (fattura_attiva != null) {
sql.addSQLClause("AND", "CD_CDS", sql.EQUALS, fattura_attiva.getCd_cds());
sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, fattura_attiva.getCd_unita_organizzativa());
sql.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, fattura_attiva.getPg_fattura_attiva());
sql.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, fattura_attiva.getProgressivo_riga());
} else if (notadeb != null) {
sql.addSQLClause("AND", "CD_CDS", sql.EQUALS, notadeb.getCd_cds());
sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, notadeb.getCd_unita_organizzativa());
sql.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, notadeb.getPg_fattura_passiva());
sql.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, notadeb.getProgressivo_riga());
} else if (documento != null) {
sql.addSQLClause("AND", "CD_CDS", sql.EQUALS, documento.getCd_cds());
sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, documento.getCd_unita_organizzativa());
sql.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, documento.getPg_documento_generico());
sql.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, documento.getProgressivo_riga());
sql.addSQLClause("AND", "CD_TIPO_DOCUMENTO_AMM", sql.EQUALS, documento.getCd_tipo_documento_amm());
}
// ??
List beni_canc = home.fetchAll(sql);
for (Iterator iteratore = beni_canc.iterator(); iteratore.hasNext(); ) {
Inventario_beni_apgBulk new_bene_apg = (Inventario_beni_apgBulk) iteratore.next();
new_bene_apg.setToBeDeleted();
super.eliminaConBulk(userContext, new_bene_apg);
}
}
} else {
Inventario_beniBulk bene = (Inventario_beniBulk) buoni[i];
if (old_ass.get(i) != ass.get(i)) {
if (ass.get(i)) {
Inventario_beni_apgBulk new_bene_apg = new Inventario_beni_apgBulk();
new_bene_apg.setPg_inventario(bene.getPg_inventario());
new_bene_apg.setNr_inventario(bene.getNr_inventario());
new_bene_apg.setProgressivo(bene.getProgressivo());
new_bene_apg.setDt_validita_variazione(associaBulk.getTest_buono().getData_registrazione());
new_bene_apg.setEsercizio(associaBulk.getEsercizio());
if (riga_fattura != null) {
new_bene_apg.setCd_cds(riga_fattura.getCd_cds());
new_bene_apg.setCd_unita_organizzativa(riga_fattura.getCd_unita_organizzativa());
new_bene_apg.setPg_fattura(riga_fattura.getPg_fattura_passiva());
new_bene_apg.setProgressivo_riga(riga_fattura.getProgressivo_riga());
} else if (notadeb != null) {
new_bene_apg.setCd_cds(notadeb.getCd_cds());
new_bene_apg.setCd_unita_organizzativa(notadeb.getCd_unita_organizzativa());
new_bene_apg.setPg_fattura(notadeb.getPg_fattura_passiva());
new_bene_apg.setProgressivo_riga(notadeb.getProgressivo_riga());
} else if (documento != null) {
new_bene_apg.setCd_cds(documento.getCd_cds());
new_bene_apg.setCd_unita_organizzativa(documento.getCd_unita_organizzativa());
new_bene_apg.setEsercizio(documento.getEsercizio());
new_bene_apg.setPg_fattura(documento.getPg_documento_generico());
new_bene_apg.setCd_tipo_documento_amm(documento.getCd_tipo_documento_amm());
new_bene_apg.setProgressivo_riga(documento.getProgressivo_riga());
}
new_bene_apg.setLocal_transaction_id(associaBulk.getLocal_transactionID());
new_bene_apg.setValore_alienazione(bene.getValoreBene());
new_bene_apg.setTi_documento(associaBulk.getTi_documento());
new_bene_apg.setPg_buono_c_s(associaBulk.getPg_buono_c_s());
Inventario_beniBulk inv = (Inventario_beniBulk) getHome(userContext, Inventario_beniBulk.class).findByPrimaryKey(new Inventario_beniBulk(new_bene_apg.getNr_inventario(), new_bene_apg.getPg_inventario(), new Long(new_bene_apg.getProgressivo().longValue())));
lockBulk(userContext, inv);
new_bene_apg.setToBeCreated();
super.creaConBulk(userContext, new_bene_apg);
}
} else {
Inventario_beni_apgHome home = (Inventario_beni_apgHome) getHome(userContext, Inventario_beni_apgBulk.class);
SQLBuilder sql = home.createSQLBuilder();
sql.addSQLClause("AND", "PG_INVENTARIO", sql.EQUALS, associaBulk.getInventario().getPg_inventario());
sql.addSQLClause("AND", "NR_INVENTARIO", sql.EQUALS, bene.getNr_inventario());
sql.addSQLClause("AND", "PROGRESSIVO", sql.EQUALS, bene.getProgressivo());
sql.addSQLClause("AND", "LOCAL_TRANSACTION_ID", sql.EQUALS, associaBulk.getLocal_transactionID());
if (riga_fattura != null) {
sql.addSQLClause("AND", "CD_CDS", sql.EQUALS, riga_fattura.getCd_cds());
sql.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, riga_fattura.getEsercizio());
sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, riga_fattura.getCd_unita_organizzativa());
sql.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, riga_fattura.getPg_fattura_passiva());
sql.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, riga_fattura.getProgressivo_riga());
} else if (nota != null) {
sql.addSQLClause("AND", "CD_CDS", sql.EQUALS, nota.getCd_cds());
sql.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, nota.getEsercizio());
sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, nota.getCd_unita_organizzativa());
sql.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, nota.getPg_fattura_passiva());
sql.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, nota.getProgressivo_riga());
} else if (notadeb != null) {
sql.addSQLClause("AND", "CD_CDS", sql.EQUALS, notadeb.getCd_cds());
sql.addSQLClause("AND", "ESERCIZIO", sql.EQUALS, notadeb.getEsercizio());
sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, notadeb.getCd_unita_organizzativa());
sql.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, notadeb.getPg_fattura_passiva());
sql.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, notadeb.getProgressivo_riga());
} else if (documento != null) {
sql.addSQLClause("AND", "CD_CDS", sql.EQUALS, documento.getCd_cds());
sql.addSQLClause("AND", "CD_UNITA_ORGANIZZATIVA", sql.EQUALS, documento.getCd_unita_organizzativa());
sql.addSQLClause("AND", "PG_FATTURA", sql.EQUALS, documento.getPg_documento_generico());
sql.addSQLClause("AND", "PROGRESSIVO_RIGA", sql.EQUALS, documento.getProgressivo_riga());
sql.addSQLClause("AND", "CD_TIPO_DOCUMENTO_AMM", sql.EQUALS, documento.getCd_tipo_documento_amm());
}
List beni_canc = home.fetchAll(sql);
for (Iterator iteratore = beni_canc.iterator(); iteratore.hasNext(); ) {
Inventario_beni_apgBulk new_bene_apg = (Inventario_beni_apgBulk) iteratore.next();
new_bene_apg.setToBeDeleted();
super.eliminaConBulk(userContext, new_bene_apg);
}
}
}
}
}
} catch (PersistencyException e) {
handleException(e);
} catch (OutdatedResourceException e) {
handleException(e);
} catch (BusyResourceException e) {
throw new ApplicationException("Risorsa occupata");
}
}
Aggregations