Search in sources :

Example 26 with StorageObject

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);
        }
    }
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) Fattura_attivaBulk(it.cnr.contab.docamm00.docs.bulk.Fattura_attivaBulk) StorageObject(it.cnr.si.spring.storage.StorageObject) ComponentException(it.cnr.jada.comp.ComponentException) FatturaAttivaSingolaComponentSession(it.cnr.contab.docamm00.ejb.FatturaAttivaSingolaComponentSession) PersistencyException(it.cnr.jada.persistency.PersistencyException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException)

Example 27 with StorageObject

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);
}
Also used : StorageObject(it.cnr.si.spring.storage.StorageObject) InputStream(java.io.InputStream) OutputStream(java.io.OutputStream) BigInteger(java.math.BigInteger) ContrattiService(it.cnr.contab.incarichi00.service.ContrattiService)

Example 28 with StorageObject

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();
}
Also used : StorageObject(it.cnr.si.spring.storage.StorageObject) InputStream(java.io.InputStream) OutputStream(java.io.OutputStream) ContrattiService(it.cnr.contab.incarichi00.service.ContrattiService)

Example 29 with StorageObject

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);
    }
}
Also used : SQLException(java.sql.SQLException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ContrattoService(it.cnr.contab.config00.service.ContrattoService) StorageObject(it.cnr.si.spring.storage.StorageObject) RicercaContrattoBulk(it.cnr.contab.config00.bulk.RicercaContrattoBulk) ContrattoBulk(it.cnr.contab.config00.contratto.bulk.ContrattoBulk) Date(java.util.Date) LocalDate(java.time.LocalDate) ApplicationException(it.cnr.jada.comp.ApplicationException) ApplicationRuntimeException(it.cnr.jada.comp.ApplicationRuntimeException) Ass_contratto_uoBulk(it.cnr.contab.config00.contratto.bulk.Ass_contratto_uoBulk) ComponentException(it.cnr.jada.comp.ComponentException) Parametri_cnrBulk(it.cnr.contab.config00.bulk.Parametri_cnrBulk) Ass_contratto_ditteBulk(it.cnr.contab.config00.contratto.bulk.Ass_contratto_ditteBulk)

Example 30 with StorageObject

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));
    }
}
Also used : StorageObject(it.cnr.si.spring.storage.StorageObject) StorageFolderFatturaAttiva(it.cnr.contab.docamm00.storage.StorageFolderFatturaAttiva) DocumentiCollegatiDocAmmService(it.cnr.contab.docamm00.service.DocumentiCollegatiDocAmmService)

Aggregations

StorageObject (it.cnr.si.spring.storage.StorageObject)86 ApplicationException (it.cnr.jada.comp.ApplicationException)48 ComponentException (it.cnr.jada.comp.ComponentException)36 BigInteger (java.math.BigInteger)34 StorageException (it.cnr.si.spring.storage.StorageException)31 RemoteException (java.rmi.RemoteException)27 StoragePropertyNames (it.cnr.si.spring.storage.config.StoragePropertyNames)25 SpringUtil (it.cnr.contab.service.SpringUtil)24 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)24 HttpActionContext (it.cnr.jada.action.HttpActionContext)24 OggettoBulk (it.cnr.jada.bulk.OggettoBulk)23 StoreService (it.cnr.si.spring.storage.StoreService)21 java.util (java.util)20 ServletException (javax.servlet.ServletException)19 ActionContext (it.cnr.jada.action.ActionContext)18 Unita_organizzativaBulk (it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk)16 EJBCommonServices (it.cnr.jada.util.ejb.EJBCommonServices)16 Collectors (java.util.stream.Collectors)16 Print_spoolerBulk (it.cnr.contab.reports.bulk.Print_spoolerBulk)15 Report (it.cnr.contab.reports.bulk.Report)15