use of it.cnr.si.spring.storage.StorageObject in project sigla-main by consiglionazionaledellericerche.
the class CRUDSelezionatoreDocumentiAmministrativiFatturazioneElettronicaBP method recuperoFilePerFirma.
public void recuperoFilePerFirma(ActionContext context, List<Fattura_attivaBulk> lista) throws ApplicationException, IOException {
FatturaAttivaSingolaComponentSession componentFatturaAttiva;
try {
componentFatturaAttiva = (FatturaAttivaSingolaComponentSession) createComponentSession("CNRDOCAMM00_EJB_FatturaAttivaSingolaComponentSession", FatturaAttivaSingolaComponentSession.class);
} catch (BusinessProcessException e1) {
throw new ApplicationException(e1);
}
for (Iterator<Fattura_attivaBulk> i = lista.iterator(); i.hasNext(); ) {
Fattura_attivaBulk docAmm = i.next();
if (Fattura_attivaBulk.FATT_ELETT_ALLA_FIRMA.equals(docAmm.getStatoInvioSdi())) {
try {
protocollaECreaFileXml(context.getUserContext(), componentFatturaAttiva, docAmm);
} catch (BusinessProcessException | ComponentException | PersistencyException e) {
throw new ApplicationException(e);
}
}
StorageObject so = documentiCollegatiDocAmmService.getFileXmlFatturaAttiva(docAmm);
if (so != null) {
logger.info("Recuperato File XML");
docAmm.setStorageObject(so);
}
}
}
use of it.cnr.si.spring.storage.StorageObject in project sigla-main by consiglionazionaledellericerche.
the class CRUDIncarichiProceduraBP method scaricaFile.
public void scaricaFile(ActionContext actioncontext, String cmsNodeRef) throws IOException, ServletException, ApplicationException {
ContrattiService contrattiService = SpringUtil.getBean(ContrattiService.class);
StorageObject storageObject = contrattiService.getStorageObjectBykey(cmsNodeRef);
InputStream is = contrattiService.getResource(storageObject);
((HttpActionContext) actioncontext).getResponse().setContentLength(storageObject.<BigInteger>getPropertyValue(StoragePropertyNames.CONTENT_STREAM_LENGTH.value()).intValue());
((HttpActionContext) actioncontext).getResponse().setContentType(storageObject.getPropertyValue(StoragePropertyNames.CONTENT_STREAM_MIME_TYPE.value()));
OutputStream os = ((HttpActionContext) actioncontext).getResponse().getOutputStream();
((HttpActionContext) actioncontext).getResponse().setDateHeader("Expires", 0);
IOUtils.copyLarge(is, os);
}
use of it.cnr.si.spring.storage.StorageObject in project sigla-main by consiglionazionaledellericerche.
the class CRUDIncarichiProceduraBP method scaricaAllegato.
private void scaricaAllegato(ActionContext actioncontext, Incarichi_archivioBulk incarichi_archivioBulk) throws IOException {
ContrattiService storeService = SpringUtil.getBean(ContrattiService.class);
StorageObject storageObject = storeService.getStorageObjectBykey(incarichi_archivioBulk.getCms_node_ref());
InputStream is = storeService.getResource(incarichi_archivioBulk.getCms_node_ref());
((HttpActionContext) actioncontext).getResponse().setContentLength((storageObject.<BigInteger>getPropertyValue(StoragePropertyNames.CONTENT_STREAM_LENGTH.value())).intValue());
((HttpActionContext) actioncontext).getResponse().setContentType((String) storageObject.getPropertyValue(StoragePropertyNames.CONTENT_STREAM_MIME_TYPE.value()));
OutputStream os = ((HttpActionContext) actioncontext).getResponse().getOutputStream();
((HttpActionContext) actioncontext).getResponse().setDateHeader("Expires", 0);
byte[] buffer = new byte[((HttpActionContext) actioncontext).getResponse().getBufferSize()];
int buflength;
while ((buflength = is.read(buffer)) > 0) {
os.write(buffer, 0, buflength);
}
is.close();
os.flush();
}
use of it.cnr.si.spring.storage.StorageObject in project sigla-main by consiglionazionaledellericerche.
the class ContrattoComponent method salvaDefinitivo.
/**
* Viene richiesto il salvataggio definitivo del Contratto
*
* Pre-post-conditions:
*
* Nome: Salvataggio definitivo del Contratto
* Pre: Viene richiesto il salvataggio definitivo del Contratto
* Post: Viene salvato in modo definitivo il contratto in questione e cancellato quello provvisorio
*
* @param userContext lo UserContext che ha generato la richiesta
* @param contratto l'OggettoBulk da salvara in modo definitivo
* @return il contratto definitivo
*
* Metodi privati chiamati:
* esitaVariazioneBilancio(UserContext userContext, Var_bilancioBulk varBilancio);
* reloadVarBilancio(UserContext userContext, Var_bilancioBulk varBilancio);
*/
public ContrattoBulk salvaDefinitivo(UserContext userContext, ContrattoBulk contratto) throws ComponentException {
try {
ContrattoService contrattoService = SpringUtil.getBean("contrattoService", ContrattoService.class);
Date dataStipulaParametri = ((Parametri_cnrBulk) getHome(userContext, Parametri_cnrBulk.class).findByPrimaryKey(new Parametri_cnrBulk(CNRUserContext.getEsercizio(userContext)))).getData_stipula_contratti();
lockBulk(userContext, contratto);
validaModificaConBulk(userContext, contratto);
try {
validaCampiObbligatori(userContext, contratto);
} catch (IntrospectionException e) {
throw new ComponentException(e);
} catch (SQLException e) {
throw new ComponentException(e);
}
if (contratto.getDt_inizio_validita() == null)
throw new ApplicationException("Valorizzare " + BulkInfo.getBulkInfo(contratto.getClass()).getFieldProperty("dt_inizio_validita").getLabel());
if (contratto.getDt_fine_validita() == null)
throw new ApplicationException("Valorizzare " + BulkInfo.getBulkInfo(contratto.getClass()).getFieldProperty("dt_fine_validita").getLabel());
if (!(contratto.getDt_stipula().before(dataStipulaParametri))) {
if ((contratto.isPassivo() || contratto.isAttivo_e_Passivo()) && contratto.getFl_mepa() == null)
throw new ApplicationException("Valorizzare " + BulkInfo.getBulkInfo(contratto.getClass()).getFieldProperty("fl_mepa").getLabel());
if ((contratto.isPassivo() || contratto.isAttivo_e_Passivo()) && contratto.getTipoNormaPerla() == null)
throw new ApplicationException("Valorizzare " + BulkInfo.getBulkInfo(contratto.getClass()).getFieldProperty("tipoNormaPerla").getLabel());
if (contratto.getTipo_contratto() != null && contratto.getTipo_contratto().getFl_cig() != null && contratto.getTipo_contratto().getFl_cig() && contratto.getCig() == null)
throw new ApplicationException("Valorizzare " + BulkInfo.getBulkInfo(contratto.getClass()).getFieldProperty("cig").getLabel());
}
if (contratto.isAttivo() || contratto.isAttivo_e_Passivo()) {
Optional.ofNullable(contratto.getPg_progetto()).orElseThrow(() -> new ApplicationRuntimeException("Valorizzare il progetto a fronte del quale il contratto รจ stato assunto."));
controllaProgetti(userContext, contratto.getProgetto(), contratto);
}
StorageObject storageObject = contrattoService.getFolderContratto(contratto);
if (storageObject == null || !contrattoService.isDocumentoContrattoPresent(contratto))
throw handleException(new ApplicationException("Bisogna allegare il file del Contratto!"));
boolean pubblica = ((Parametri_cnrBulk) getHome(userContext, Parametri_cnrBulk.class).findByPrimaryKey(new Parametri_cnrBulk(CNRUserContext.getEsercizio(userContext)))).getFl_pubblica_contratto().booleanValue();
if (pubblica) {
if (contratto.getDt_stipula().after(dataStipulaParametri) || contratto.getDt_stipula().equals(dataStipulaParametri)) {
if (contratto.isPassivo() || contratto.isAttivo_e_Passivo())
if (contratto.getTipo_contratto() != null && contratto.getTipo_contratto().getFl_pubblica_contratto() != null && contratto.getTipo_contratto().getFl_pubblica_contratto())
contratto.setFl_pubblica_contratto(Boolean.TRUE);
else
contratto.setFl_pubblica_contratto(Boolean.FALSE);
else
contratto.setFl_pubblica_contratto(Boolean.FALSE);
} else
contratto.setFl_pubblica_contratto(Boolean.FALSE);
} else
contratto.setFl_pubblica_contratto(Boolean.FALSE);
if (contratto.isPassivo() && contratto.getFl_pubblica_contratto() != null && contratto.getFl_pubblica_contratto())
if (contratto.getDitteInvitate() != null && contratto.getDitteInvitate().size() == 0)
throw handleException(new ApplicationException("Bisogna indicare le ditte invitate!"));
ContrattoBulk contrattoClone = (ContrattoBulk) contratto.clone();
try {
it.cnr.contab.config00.tabnum.ejb.Numerazione_baseComponentSession numerazione = (it.cnr.contab.config00.tabnum.ejb.Numerazione_baseComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRCONFIG00_TABNUM_EJB_Numerazione_baseComponentSession", it.cnr.contab.config00.tabnum.ejb.Numerazione_baseComponentSession.class);
contrattoClone.setPg_contratto(numerazione.creaNuovoProgressivo(userContext, contrattoClone.getEsercizio(), "CONTRATTO", "PG_CONTRATTO_DEFINITIVO", CNRUserContext.getUser(userContext)));
} catch (it.cnr.jada.bulk.BusyResourceException e) {
throw new ApplicationException(e);
} catch (Throwable e) {
throw new ApplicationException(e);
}
/* Elimino il contratto provvisorio */
contratto.setCrudStatus(OggettoBulk.TO_BE_DELETED);
for (java.util.Iterator j = contratto.getDitteInvitate().iterator(); j.hasNext(); ) {
Ass_contratto_ditteBulk ass_contratto_ditte = (Ass_contratto_ditteBulk) j.next();
if (ass_contratto_ditte.getCrudStatus() == OggettoBulk.NORMAL)
ass_contratto_ditte.setCrudStatus(OggettoBulk.TO_BE_DELETED);
}
for (java.util.Iterator j = contratto.getAssociazioneUO().iterator(); j.hasNext(); ) {
Ass_contratto_uoBulk ass_contratto_uo = (Ass_contratto_uoBulk) j.next();
if (ass_contratto_uo.getCrudStatus() == OggettoBulk.NORMAL)
ass_contratto_uo.setCrudStatus(OggettoBulk.TO_BE_DELETED);
}
super.eliminaConBulk(userContext, contratto);
/* Inserisco il nuovo contratto
Recupero le uo associate al contratto e le lego a quello definitivo */
for (java.util.Iterator j = contrattoClone.getAssociazioneUO().iterator(); j.hasNext(); ) {
Ass_contratto_uoBulk ass_contratto_uo = (Ass_contratto_uoBulk) j.next();
ass_contratto_uo.setContratto(contrattoClone);
ass_contratto_uo.setCrudStatus(OggettoBulk.TO_BE_CREATED);
}
for (java.util.Iterator j = contrattoClone.getDitteInvitate().iterator(); j.hasNext(); ) {
Ass_contratto_ditteBulk ass_contratto_ditte = (Ass_contratto_ditteBulk) j.next();
ass_contratto_ditte.setContratto(contrattoClone);
ass_contratto_ditte.setCrudStatus(OggettoBulk.TO_BE_CREATED);
}
contrattoClone.setCrudStatus(OggettoBulk.TO_BE_CREATED);
contrattoClone.setStato(ContrattoBulk.STATO_DEFINITIVO);
ContrattoBulk contrattoDefinitivo = (ContrattoBulk) super.creaConBulk(userContext, contrattoClone);
if (storageObject != null) {
if (!contrattoDefinitivo.isFromFlussoAcquisti()) {
contrattoService.changeProgressivoNodeRef(storageObject, contrattoDefinitivo);
StorageObject storageObject1 = contrattoService.getFolderContratto(contrattoDefinitivo);
storageObject = storageObject1;
}
if (storageObject != null) {
contrattoService.addAspect(storageObject, "P:sigla_contratti_aspect:stato_definitivo");
contrattoService.addConsumer(storageObject, SIGLAGroups.GROUP_CONTRATTI.name());
contrattoService.setInheritedPermission(contrattoService.getStorageObjectByPath(contrattoService.getCMISPathFolderContratto(contrattoDefinitivo)), Boolean.FALSE);
}
}
return contrattoDefinitivo;
} catch (it.cnr.jada.persistency.PersistencyException | it.cnr.jada.bulk.OutdatedResourceException | it.cnr.jada.bulk.BusyResourceException e) {
throw handleException(contratto, e);
} catch (ApplicationRuntimeException e) {
throw handleException(e);
}
}
use of it.cnr.si.spring.storage.StorageObject in project sigla-main by consiglionazionaledellericerche.
the class Fattura_attivaHome method aggiornaMetadatiFattura.
public void aggiornaMetadatiFattura(Fattura_attivaBulk fattura) {
DocumentiCollegatiDocAmmService documentiCollegatiDocAmmService = SpringUtil.getBean("documentiCollegatiDocAmmService", DocumentiCollegatiDocAmmService.class);
StorageObject so = documentiCollegatiDocAmmService.recuperoFolderFatturaByPath(fattura);
if (so != null) {
documentiCollegatiDocAmmService.updateMetadataFromBulk(so, new StorageFolderFatturaAttiva(fattura));
}
}
Aggregations