Skip to content

Commit

Permalink
Aggiunta la gestione degli allegati (non inviati a SDI) sulle fatture…
Browse files Browse the repository at this point in the history
… attive
  • Loading branch information
gifracr committed May 2, 2016
1 parent f458106 commit 4e3998d
Show file tree
Hide file tree
Showing 14 changed files with 260 additions and 98 deletions.
Expand Up @@ -6,29 +6,25 @@
import it.cnr.contab.anagraf00.tabrif.bulk.Rif_modalita_pagamentoBulk;
import it.cnr.contab.docamm00.bp.CRUDFatturaAttivaBP;
import it.cnr.contab.docamm00.bp.CRUDFatturaAttivaIBP;
import it.cnr.contab.docamm00.bp.CRUDFatturaPassivaBP;
import it.cnr.contab.docamm00.bp.CRUDNotaDiCreditoAttivaBP;
import it.cnr.contab.docamm00.bp.CRUDNotaDiDebitoAttivaBP;
import it.cnr.contab.docamm00.bp.IDocumentoAmministrativoBP;
import it.cnr.contab.docamm00.bp.RisultatoEliminazioneBP;
import it.cnr.contab.docamm00.bp.TitoloDiCreditoDebitoBP;
import it.cnr.contab.docamm00.comp.FatturaAttivaSingolaComponent;
import it.cnr.contab.docamm00.docs.bulk.AccertamentiTable;
import it.cnr.contab.docamm00.docs.bulk.AssociazioniInventarioTable;
import it.cnr.contab.docamm00.docs.bulk.CarichiInventarioTable;
import it.cnr.contab.docamm00.docs.bulk.Fattura_attivaBulk;
import it.cnr.contab.docamm00.docs.bulk.Fattura_attiva_IBulk;
import it.cnr.contab.docamm00.docs.bulk.Fattura_attiva_rigaBulk;
import it.cnr.contab.docamm00.docs.bulk.Fattura_attiva_rigaIBulk;
import it.cnr.contab.docamm00.docs.bulk.Fattura_passiva_rigaBulk;
import it.cnr.contab.docamm00.docs.bulk.Filtro_ricerca_accertamentiVBulk;
import it.cnr.contab.docamm00.docs.bulk.Nota_di_credito_attivaBulk;
import it.cnr.contab.docamm00.docs.bulk.Nota_di_credito_attiva_rigaBulk;
import it.cnr.contab.docamm00.docs.bulk.Nota_di_debito_attivaBulk;
import it.cnr.contab.docamm00.docs.bulk.Nota_di_debito_attiva_rigaBulk;
import it.cnr.contab.docamm00.docs.bulk.Risultato_eliminazioneVBulk;
import it.cnr.contab.docamm00.ejb.FatturaAttivaSingolaComponentSession;
import it.cnr.contab.docamm00.ejb.FatturaPassivaComponentSession;
import it.cnr.contab.docamm00.intrastat.bulk.Fattura_attiva_intraBulk;
import it.cnr.contab.docamm00.tabrif.bulk.Bene_servizioBulk;
import it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk;
Expand All @@ -52,7 +48,6 @@
import it.cnr.jada.action.BusinessProcessException;
import it.cnr.jada.action.Forward;
import it.cnr.jada.action.HookForward;
import it.cnr.jada.bulk.BulkList;
import it.cnr.jada.bulk.FillException;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.bulk.ValidationException;
Expand Down Expand Up @@ -2740,6 +2735,9 @@ public Forward doTab(ActionContext context, String tabName, String pageName) {
fillModel( context );
bp.getDettaglioIntrastatController().validate(context);
}
if ("tabFatturaAttivaAllegati".equalsIgnoreCase(bp.getTab(tabName))) {
fillModel( context );
}
return super.doTab(context, tabName, pageName);
} catch (Throwable e) {
return handleException(context, e);
Expand Down
@@ -1,7 +1,10 @@
package it.cnr.contab.docamm00.bp;

import it.cnr.contab.chiusura00.ejb.RicercaDocContComponentSession;
import it.cnr.contab.cmis.service.CMISPath;
import it.cnr.contab.config00.esercizio.bulk.EsercizioBulk;
import it.cnr.contab.docamm00.cmis.CMISDocAmmAspect;
import it.cnr.contab.docamm00.docs.bulk.AllegatoFatturaAttivaBulk;
import it.cnr.contab.docamm00.docs.bulk.Consuntivo_rigaVBulk;
import it.cnr.contab.docamm00.docs.bulk.Fattura_attivaBulk;
import it.cnr.contab.docamm00.docs.bulk.Fattura_attiva_IBulk;
Expand All @@ -21,6 +24,8 @@
import it.cnr.contab.doccont00.core.bulk.IDefferUpdateSaldi;
import it.cnr.contab.service.SpringUtil;
import it.cnr.contab.utenze00.bulk.UtenteBulk;
import it.cnr.contab.util.Utility;
import it.cnr.contab.util00.bp.AllegatiCRUDBP;
import it.cnr.jada.DetailedException;
import it.cnr.jada.UserContext;
import it.cnr.jada.action.ActionContext;
Expand All @@ -29,8 +34,8 @@
import it.cnr.jada.bulk.BulkList;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.bulk.ValidationException;
import it.cnr.jada.comp.ApplicationException;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.util.action.SimpleCRUDBP;
import it.cnr.jada.util.action.SimpleDetailCRUDController;

import java.io.InputStream;
Expand All @@ -39,12 +44,15 @@
import java.rmi.RemoteException;
import java.util.Iterator;

import org.apache.chemistry.opencmis.client.api.CmisObject;
import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;

/**
* <!-- @TODO: da completare -->
*/

public abstract class CRUDFatturaAttivaBP
extends SimpleCRUDBP
extends AllegatiCRUDBP<AllegatoFatturaAttivaBulk, Fattura_attivaBulk>
implements IDocumentoAmministrativoBP,
IGenericSearchDocAmmBP,
IDefferedUpdateSaldiBP,
Expand Down Expand Up @@ -146,6 +154,7 @@ public void create(it.cnr.jada.action.ActionContext context)
throws it.cnr.jada.action.BusinessProcessException {

try {
archiviaAllegati(context, null);
getModel().setToBeCreated();
setModel(
context,
Expand Down Expand Up @@ -496,6 +505,11 @@ public boolean isRiportaIndietroButtonEnabled() {
!fa.isPagata() &&
!isCarryingThrough();
}
public boolean isVisualizzaDocumentoFatturaElettronicaButtonHidden() {

Fattura_attivaBulk fa = (Fattura_attivaBulk)getModel();
return (fa == null || fa.getPg_fattura_attiva() == null || !fa.isDocumentoFatturazioneElettronica());
}
public boolean isRiportaIndietroButtonHidden() {

Fattura_attivaBulk fa = (Fattura_attivaBulk)getModel();
Expand Down Expand Up @@ -771,6 +785,7 @@ public void update(ActionContext context)
throws it.cnr.jada.action.BusinessProcessException {

try {
archiviaAllegati(context, null);
getModel().setToBeUpdated();
setModel(
context,
Expand Down Expand Up @@ -1089,7 +1104,7 @@ public boolean isDocumentiCollegatiButtonHidden() {
return hidden;
Fattura_attivaBulk fattura = (Fattura_attivaBulk)getModel();
if (fattura != null && fattura.getPg_fattura_attiva() != null && fattura.isDocumentoFatturazioneElettronica()){
return docCollService.getNodeRefContabile(fattura) == null;
return docCollService.getNodeRefDocumentoAttivo(fattura) == null;
}
return hidden;
} catch (DetailedException e) {
Expand All @@ -1109,9 +1124,9 @@ public boolean isDocumentiCollegatiButtonHidden() {
// }
// return null;
// }
public void scaricaDocumentoCollegato(ActionContext actioncontext) throws Exception {
public void visualizzaDocumentoAttivo(ActionContext actioncontext) throws Exception {
Fattura_attivaBulk fattura = (Fattura_attivaBulk)getModel();
InputStream is = docCollService.getStreamContabile(fattura);
InputStream is = docCollService.getStreamDocumento(fattura);
if (is != null){
((HttpActionContext)actioncontext).getResponse().setContentType("application/pdf");
OutputStream os = ((HttpActionContext)actioncontext).getResponse().getOutputStream();
Expand All @@ -1125,5 +1140,47 @@ public void scaricaDocumentoCollegato(ActionContext actioncontext) throws Except
os.flush();
}
}
@Override
protected CMISPath getCMISPath(Fattura_attivaBulk allegatoParentBulk, boolean create) throws BusinessProcessException{
try {
CMISPath cmisPath = SpringUtil.getBean("cmisPathFatture",CMISPath.class);
cmisPath = cmisService.createFolderIfNotPresent(cmisPath, allegatoParentBulk.getCd_uo_origine(), allegatoParentBulk.getCd_uo_origine(), allegatoParentBulk.getCd_uo_origine());
cmisPath = cmisService.createFolderIfNotPresent(cmisPath, "Fatture Attive", "Fatture Attive", "Fatture Attive");
cmisPath = cmisService.createFolderIfNotPresent(cmisPath, allegatoParentBulk.getEsercizio().toString(), "Esercizio "+allegatoParentBulk.getEsercizio().toString(), "Esercizio "+allegatoParentBulk.getEsercizio().toString());

String folderName = "Fattura "+allegatoParentBulk.getEsercizio().toString()+Utility.lpad(allegatoParentBulk.getPg_fattura_attiva().toString(),10,'0');
if (create) {
cmisPath = cmisService.createFolderIfNotPresent(cmisPath, folderName,
folderName, folderName);
} else {
try {
cmisPath = cmisPath.appendToPath(folderName);
cmisService.getNodeByPath(cmisPath);
} catch (CmisObjectNotFoundException _ex) {
return null;
}
}
return cmisPath;
} catch (ApplicationException e) {
throw new BusinessProcessException(e);
}
}
@Override
protected Class<AllegatoFatturaAttivaBulk> getAllegatoClass() {
return AllegatoFatturaAttivaBulk.class;
}
@Override
protected boolean excludeChild(CmisObject cmisObject) {
super.excludeChild(cmisObject);
if (cmisService.hasAspect(cmisObject, CMISDocAmmAspect.SIGLA_FATTURE_ATTACHMENT_ALLEGATI_NON_INVIATI_SDI.value())){
return false;
}
return true;
}
@Override
public String getAllegatiFormName() {
super.getAllegatiFormName();
return "fatturaAttiva";
}
}

Expand Up @@ -5,10 +5,10 @@
import it.cnr.contab.docamm00.docs.bulk.Fattura_attiva_rigaIBulk;
import it.cnr.contab.docamm00.docs.bulk.Nota_di_credito_attivaBulk;
import it.cnr.contab.docamm00.ejb.FatturaAttivaSingolaComponentSession;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.action.BusinessProcessException;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.persistency.PersistencyException;

import java.rmi.RemoteException;

Expand Down Expand Up @@ -103,7 +103,7 @@ protected it.cnr.jada.util.jsp.Button[] createFPToolbar() {
return toolbar;
}
protected it.cnr.jada.util.jsp.Button[] createToolbar() {
it.cnr.jada.util.jsp.Button[] toolbar = new it.cnr.jada.util.jsp.Button[11];
it.cnr.jada.util.jsp.Button[] toolbar = new it.cnr.jada.util.jsp.Button[12];
int i = 0;
toolbar[i++] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(it.cnr.jada.util.action.CRUDBP.class),"CRUDToolbar.search");
toolbar[i++] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(it.cnr.jada.util.action.CRUDBP.class),"CRUDToolbar.startSearch");
Expand All @@ -116,6 +116,7 @@ protected it.cnr.jada.util.jsp.Button[] createToolbar() {
toolbar[i++] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(it.cnr.jada.util.action.CRUDBP.class),"CRUDToolbar.print");
toolbar[i++] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.riportaIndietro");
toolbar[i++] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.riportaAvanti");
toolbar[i++] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.documento");

return toolbar;
}
Expand Down
Expand Up @@ -10,7 +10,6 @@
import it.cnr.contab.docamm00.cmis.CMISDocAmmAspect;
import it.cnr.contab.docamm00.cmis.CMISFileFatturaAttiva;
import it.cnr.contab.docamm00.docs.bulk.Fattura_attivaBulk;
import it.cnr.contab.docamm00.docs.bulk.Filtro_ricerca_doc_ammVBulk;
import it.cnr.contab.docamm00.ejb.DocAmmFatturazioneElettronicaComponentSession;
import it.cnr.contab.docamm00.ejb.FatturaAttivaSingolaComponentSession;
import it.cnr.contab.docamm00.service.DocumentiCollegatiDocAmmService;
Expand Down Expand Up @@ -46,7 +45,6 @@
import java.util.Iterator;
import java.util.List;

import javax.mail.PasswordAuthentication;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;

Expand Down Expand Up @@ -105,7 +103,7 @@ public void scaricaDocumentiCollegati(ActionContext actioncontext) throws Except
if (node == null){
is = getStreamNewDocument(actioncontext, esercizio, cds, cdUo, pgFattura);
} else {
is = documentiCollegatiDocAmmService.getStreamContabile(esercizio, cds, cdUo, pgFattura, Filtro_ricerca_doc_ammVBulk.DOC_ATT_GRUOP);
is = documentiCollegatiDocAmmService.getStreamDocumentoAttivo(esercizio, cds, cdUo, pgFattura);
if (is == null){
is = getStreamNewDocument(actioncontext, esercizio, cds, cdUo, pgFattura);
}
Expand Down
Expand Up @@ -22,6 +22,7 @@ public enum CMISDocAmmAspect {
SIGLA_FATTURE_ATTACHMENT_ESITO_ACCETTATO("P:sigla_fatture_attachment:esito_accettato"),
SIGLA_FATTURE_ATTACHMENT_ESITO_RIFIUTATO("P:sigla_fatture_attachment:esito_rifiutato"),
SIGLA_FATTURE_ATTACHMENT_DECORRENZA_TERMINI("P:sigla_fatture_attachment:decorrenza_termini"),
SIGLA_FATTURE_ATTACHMENT_ALLEGATI_NON_INVIATI_SDI("P:sigla_fatture_attachment:allegati_non_inviati_sdi"),
SIGLA_FATTURE_ATTACHMENT_TRASMISSIONE_FATTURA("P:sigla_fatture_attachment:trasmissione_fattura");


Expand Down
@@ -0,0 +1,19 @@
package it.cnr.contab.docamm00.docs.bulk;

import org.apache.chemistry.opencmis.client.api.Document;

import it.cnr.contab.docamm00.cmis.CMISDocAmmAspect;
import it.cnr.contab.docamm00.fatturapa.bulk.AllegatoFatturaBulk;

public class AllegatoFatturaAttivaBulk extends AllegatoFatturaBulk {

public AllegatoFatturaAttivaBulk() {
super();
setAspectName(CMISDocAmmAspect.SIGLA_FATTURE_ATTACHMENT_ALLEGATI_NON_INVIATI_SDI.value());
}

public AllegatoFatturaAttivaBulk(Document node) {
super(node);
setAspectName(CMISDocAmmAspect.SIGLA_FATTURE_ATTACHMENT_ALLEGATI_NON_INVIATI_SDI.value());
}
}
Expand Up @@ -25,6 +25,8 @@
import it.cnr.contab.inventario00.docs.bulk.Ass_inv_bene_fatturaBulk;
import it.cnr.contab.inventario01.bulk.Buono_carico_scaricoBulk;
import it.cnr.contab.util.Utility;
import it.cnr.contab.util00.bulk.cmis.AllegatoGenericoBulk;
import it.cnr.contab.util00.cmis.bulk.AllegatoParentBulk;
import it.cnr.jada.bulk.BulkCollection;
import it.cnr.jada.bulk.BulkCollections;
import it.cnr.jada.bulk.BulkList;
Expand All @@ -48,7 +50,8 @@
import java.util.Vector;


public abstract class Fattura_attivaBulk extends Fattura_attivaBase implements IDocumentoAmministrativoBulk, Voidable, it.cnr.contab.doccont00.core.bulk.IDefferUpdateSaldi {
public abstract class Fattura_attivaBulk extends Fattura_attivaBase implements IDocumentoAmministrativoBulk, Voidable, it.cnr.contab.doccont00.core.bulk.IDefferUpdateSaldi,
AllegatoParentBulk {
public final static String BENEDUREVOLE = "B";
public final static String CONTRATTO = "C";
public final static String LIBERA = "L";
Expand Down Expand Up @@ -116,6 +119,7 @@ public abstract class Fattura_attivaBulk extends Fattura_attivaBase implements I
public final static String TIPO_FATTURA_ATTIVA = "F";
public final static String TIPO_NOTA_DI_CREDITO = "C";
public final static String TIPO_NOTA_DI_DEBITO = "D";
private BulkList<AllegatoGenericoBulk> archivioAllegati = new BulkList<AllegatoGenericoBulk>();

public final static Dictionary statoInvioSdiKeys;

Expand Down Expand Up @@ -2110,4 +2114,18 @@ public Boolean isNotaCreditoDaNonInviareASdi(){
}
return true;
}
public AllegatoGenericoBulk removeFromArchivioAllegati(int index) {
return getArchivioAllegati().remove(index);
}
public int addToArchivioAllegati(AllegatoGenericoBulk allegato) {
archivioAllegati.add(allegato);
return archivioAllegati.size()-1;
}
public BulkList<AllegatoGenericoBulk> getArchivioAllegati() {
return archivioAllegati;
}
public void setArchivioAllegati(
BulkList<AllegatoGenericoBulk> archivioAllegati) {
this.archivioAllegati = archivioAllegati;
}
}
Expand Up @@ -58,7 +58,7 @@ public static OrderedHashtable getAspectnamesDecorrenzaTerminikeys() {
}
@Override
public void validate() throws ValidationException {
if (aspectName == null) {
if (getAspectName() == null) {
throw new ValidationException("Attenzione: selezionare la tipologia di File!");
}
super.validate();
Expand Down

0 comments on commit 4e3998d

Please sign in to comment.