Skip to content

Commit

Permalink
Modifiche varie per le fatture passive e altro
Browse files Browse the repository at this point in the history
  • Loading branch information
gifracr committed Oct 11, 2016
1 parent 8a74e24 commit ae72442
Show file tree
Hide file tree
Showing 7 changed files with 405 additions and 39 deletions.
Expand Up @@ -247,6 +247,33 @@ public CMISPath createFolderIfNotPresent(CMISPath cmisPath, String folderName, S
return createFolderIfNotPresent(cmisPath, folderName, title, description, oggettoBulk, null);
}

public CMISPath updateMetadataFromBulk(Folder folder, OggettoBulk oggettoBulk) throws ApplicationException{
if (oggettoBulk != null){
Map<String, Object> metadataProperties = new HashMap<String, Object>();
List<String> aspectsToAdd = new ArrayList<String>();
List<String> aspects = folder.getPropertyValue(PropertyIds.SECONDARY_OBJECT_TYPE_IDS);
try {

if (cmisBulkInfo.getType(getSiglaSession(), oggettoBulk)!=null )
metadataProperties.put(PropertyIds.OBJECT_TYPE_ID, cmisBulkInfo.getType(getSiglaSession(), oggettoBulk).getId());
for (Property<?> property : cmisBulkInfo.getProperty(getSiglaSession(), oggettoBulk)) {
metadataProperties.put(property.getId(), property.getValue());
}
aspectsToAdd.addAll(cmisBulkInfo.getAspect(getSiglaSession(), oggettoBulk));
for (Property<?> property : cmisBulkInfo.getAspectProperty(getSiglaSession(), oggettoBulk)) {
metadataProperties.put(property.getId(), property.getValue());
}
} catch (Exception e) {
throw new RuntimeException(e);
}
metadataProperties.put(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, aspectsToAdd);
aspects.addAll(aspectsToAdd);
metadataProperties.put(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, aspects);
folder.updateProperties(metadataProperties, true);
}
return CMISPath.construct(folder.getPath());
}

public CMISPath createFolderIfNotPresent(CMISPath cmisPath, String folderName, String title, String description, OggettoBulk oggettoBulk, String objectTypeName) throws ApplicationException{
CmisObject cmisObject = getNodeByPath(cmisPath);
Map<String, Object> metadataProperties = new HashMap<String, Object>();
Expand Down
Expand Up @@ -28,7 +28,11 @@ public enum CMISDocAmmAspect {
SIGLA_FATTURE_CODICE_FISCALE("P:sigla_commons_aspect:terzi_pf_codfis"),
SIGLA_FATTURE_DENOMINAZIONE("P:sigla_commons_aspect:terzi_pg_denominazione"),
SIGLA_FATTURE_COGNOME("P:sigla_commons_aspect:terzi_pf_cognome"),
SIGLA_FATTURE_NOME("P:sigla_commons_aspect:terzi_pf_nome");
SIGLA_FATTURE_NOME("P:sigla_commons_aspect:terzi_pf_nome"),
SIGLA_FATTURE_CDS_ORIGINE("P:sigla_commons_aspect:cds_origine_codice"),
SIGLA_FATTURE_DESCR_CDS_ORIGINE("P:sigla_commons_aspect:cds_origine_descrizione"),
SIGLA_FATTURE_UO_ORIGINE("P:sigla_commons_aspect:uo_origine_codice"),
SIGLA_FATTURE_DESCR_UO_ORIGINE("P:sigla_commons_aspect:uo_origine_descrizione");


private final String value;
Expand Down
Expand Up @@ -276,6 +276,20 @@ public String getCodiceRegistro() {
return dpProperties.getDigitalPreservationCodRegFA();
}

@CMISPolicy(name="P:sigla_commons_aspect:cds_origine", property=@CMISProperty(name="sigla_commons_aspect:cds_origine_codice"))
public String getCdsOrigine() {
if (this.getFattura_attivaBulk()==null)
return null;
return this.getFattura_attivaBulk().getCd_cds_origine();
}

@CMISPolicy(name="P:sigla_commons_aspect:uo_origine", property=@CMISProperty(name="sigla_commons_aspect:uo_origine_codice"))
public String getUoOrigine() {
if (this.getFattura_attivaBulk()==null)
return null;
return this.getFattura_attivaBulk().getCd_uo_origine();
}

public CMISPath getCMISPrincipalPath(SiglaCMISService cmisService) throws ApplicationException{
CMISPath cmisPath = SpringUtil.getBean("cmisPathFatture",CMISPath.class);
cmisPath = cmisService.createFolderIfNotPresent(cmisPath, this.getFattura_attivaBulk().getCd_uo_origine(), getFattura_attivaBulk().getCd_uo_origine(), getFattura_attivaBulk().getCd_uo_origine());
Expand Down
@@ -1,12 +1,25 @@
package it.cnr.contab.docamm00.cmis;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Timestamp;

import org.apache.chemistry.opencmis.client.api.Folder;
import org.apache.chemistry.opencmis.client.api.ItemIterable;
import org.apache.chemistry.opencmis.client.api.QueryResult;
import org.apache.chemistry.opencmis.commons.PropertyIds;

import it.cnr.contab.cmis.annotation.CMISPolicy;
import it.cnr.contab.cmis.annotation.CMISProperty;
import it.cnr.contab.cmis.annotation.CMISType;
import it.cnr.contab.cmis.service.CMISPath;
import it.cnr.contab.cmis.service.SiglaCMISService;
import it.cnr.contab.docamm00.docs.bulk.Fattura_passivaBulk;
import it.cnr.contab.docamm00.fatturapa.bulk.DocumentoEleTestataBulk;
import it.cnr.contab.dp.DigitalPreservationProperties;
import it.cnr.contab.service.SpringUtil;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.comp.ApplicationException;

@CMISType(name="F:sigla_fatture:fatture_passive")
public class CMISFolderFatturaPassiva extends OggettoBulk {
Expand Down Expand Up @@ -51,4 +64,274 @@ public String getCodiceTerzo() {
return null;
return this.documentoEleTestata.getDocumentoEleTrasmissione().getPrestatoreCdTerzo().toString();
}
private Fattura_passivaBulk fattura_passivaBulk;
private DigitalPreservationProperties dpProperties;

public CMISFolderFatturaPassiva(Fattura_passivaBulk fattura_passivaBulk, DocumentoEleTestataBulk documentoEleTestata) {
super();
this.documentoEleTestata = documentoEleTestata;
this.identificativoSdI = BigInteger.valueOf(documentoEleTestata.getIdentificativoSdi());
setFattura_passivaBulk(fattura_passivaBulk);
loadProperties();
}

public void loadProperties(){
if (dpProperties == null)
dpProperties = SpringUtil.getBean("digitalPreservationProperties",DigitalPreservationProperties.class);
}

@CMISProperty(name="sigla_fatture:esercizio")
public Integer getEsercizioFattura() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getEsercizio();
}

@CMISProperty(name="sigla_fatture:pg_fattura", converterBeanName="cmis.converter.longToIntegerConverter")
public Long getPgFattura() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getPg_fattura_passiva();
}

@CMISProperty(name="sigla_fatture:prot_iva", converterBeanName="cmis.converter.longToIntegerConverter")
public Long getProtocolloIva() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getProtocollo_iva();
}

@CMISProperty(name="sigla_fatture:prot_gen", converterBeanName="cmis.converter.longToIntegerConverter")
public Long getProtocolloGenerale() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getProtocollo_iva();
}

@CMISProperty(name="sigla_fatture:data_reg", converterBeanName="cmis.converter.timestampToCalendarConverter")
public Timestamp getDataRegistrazione(){
if (this.getFattura_passivaBulk()==null ||
this.getFattura_passivaBulk().getDt_registrazione()==null)
return null;
return this.getFattura_passivaBulk().getDt_registrazione();
}

@CMISProperty(name="sigla_fatture:descrizione")
public String getDescrizione() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getDs_fattura_passiva();
}

@CMISProperty(name="sigla_fatture:imponibile")
public BigDecimal getImponibile(){
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getIm_totale_imponibile();
}

@CMISProperty(name="sigla_fatture:iva")
public BigDecimal getIva(){
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getIm_totale_iva();
}

@CMISProperty(name="sigla_fatture:importo_totale")
public BigDecimal getImportoTotale(){
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getIm_totale_fattura();
}

@CMISProperty(name="sigla_fatture:divisa")
public String getDivisa() {
if (this.getFattura_passivaBulk()==null ||
this.getFattura_passivaBulk().getValuta()==null)
return null;
return this.getFattura_passivaBulk().getValuta().getCd_divisa();
}

@CMISProperty(name="sigla_fatture:cambio")
public BigDecimal getCambio(){
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getCambio();
}

@CMISProperty(name="sigla_fatture:dt_competenza_dal", converterBeanName="cmis.converter.timestampToCalendarConverter")
public Timestamp getDataCompetenzaDal(){
if (this.getFattura_passivaBulk()==null ||
this.getFattura_passivaBulk().getDt_da_competenza_coge()==null)
return null;
return this.getFattura_passivaBulk().getDt_da_competenza_coge();
}

@CMISProperty(name="sigla_fatture:dt_competenza_al", converterBeanName="cmis.converter.timestampToCalendarConverter")
public Timestamp getDataCompetenzaAl(){
if (this.getFattura_passivaBulk()==null ||
this.getFattura_passivaBulk().getDt_a_competenza_coge()==null)
return null;
return this.getFattura_passivaBulk().getDt_a_competenza_coge();
}

@CMISProperty(name="sigla_fatture:data_documento", converterBeanName="cmis.converter.timestampToCalendarConverter")
public Timestamp getDataEmissione(){
if (this.getFattura_passivaBulk()==null ||
this.getFattura_passivaBulk().getDt_fattura_fornitore()==null)
return null;
return this.getFattura_passivaBulk().getDt_fattura_fornitore();
}

@CMISProperty(name="sigla_fatture:numero_documento")
public String getNumeroDocumento() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getNr_fattura_fornitore();
}

@CMISProperty(name="sigla_fatture:prog_univoco_anno", converterBeanName="cmis.converter.longToIntegerConverter")
public Long getProgrUnivocoAnno() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getProgr_univoco();
}

@CMISProperty(name="sigla_fatture:tipo_documento")
public String getTipoDocumento() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getTi_fattura();
}

@CMISProperty(name="sigla_fatture:cuu")
public String getCodiceIpa() {
if (this.documentoEleTestata == null)
return null;
return this.documentoEleTestata.getDocumentoEleTrasmissione().getCodiceDestinatario();
}

@CMISPolicy(name="P:sigla_commons_aspect:terzi_pg", property=@CMISProperty(name="sigla_commons_aspect:terzi_pg_denominazione"))
public String getRagioneSociale() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getRagione_sociale();
}

@CMISPolicy(name="P:sigla_commons_aspect:terzi_pg", property=@CMISProperty(name="sigla_commons_aspect:terzi_pg_pariva"))
public String getPariva() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getPartita_iva();
}

@CMISPolicy(name="P:sigla_commons_aspect:terzi_pf", property=@CMISProperty(name="sigla_commons_aspect:terzi_pf_cognome"))
public String getCognome() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getCognome();
}

@CMISPolicy(name="P:sigla_commons_aspect:terzi_pf", property=@CMISProperty(name="sigla_commons_aspect:terzi_pf_nome"))
public String getNome() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getNome();
}

@CMISPolicy(name="P:sigla_commons_aspect:terzi_pf", property=@CMISProperty(name="sigla_commons_aspect:terzi_pf_codfis"))
public String getCodfis() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getCodice_fiscale();
}

@CMISProperty(name="sigla_fatture:cod_amministrazione")
public String getCodiceAmministrazione() {
if (this.getFattura_passivaBulk()==null)
return null;
if (dpProperties == null)
return null;
return dpProperties.getDigitalPreservationCodAmm();
}

@CMISProperty(name="sigla_fatture:cod_registro")
public String getCodiceRegistro() {
if (this.getFattura_passivaBulk()==null)
return null;
if (dpProperties == null)
return null;
return dpProperties.getDigitalPreservationCodRegFP();
}

@CMISPolicy(name="P:sigla_commons_aspect:cds_origine", property=@CMISProperty(name="sigla_commons_aspect:cds_origine_codice"))
public String getCdsOrigine() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getCd_cds_origine();
}

@CMISPolicy(name="P:sigla_commons_aspect:uo_origine", property=@CMISProperty(name="sigla_commons_aspect:uo_origine_codice"))
public String getUoOrigine() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getCd_uo_origine();
}

@CMISProperty(name="sigla_fatture:progressivo_sdi")
public Long getProgressivoSdi() {
if (this.getFattura_passivaBulk()==null)
return null;
return this.getFattura_passivaBulk().getProgressivo();
}

public Boolean isProgressivoTrasmissioneZero(){
if (getProgressivoSdi() == null){
return false;
}
return getProgressivoSdi().equals(new Long ("0"));
}

public Boolean isProgressivoTrasmissioneDiversoDaZero(){
if (getProgressivoSdi() == null){
return false;
}
return !getProgressivoSdi().equals(new Long ("0"));
}

public void updateMetadataPropertiesCMIS(SiglaCMISService cmisService) throws ApplicationException{
StringBuffer query = new StringBuffer("select fat.cmis:objectId, fat.sigla_fatture:progressivo_sdi from sigla_fatture:fatture_passive fat ");
query.append(" where fat.sigla_fatture:identificativoSdI = ").append(identificativoSdI);
ItemIterable<QueryResult> resultsFolder = cmisService.search(query);
if (resultsFolder.getTotalNumItems() == 0)
throw new ApplicationException("Non esiste sul documentale una fattura con identificativo SDI "+identificativoSdI);
else {
Folder trasmissioneFolder = null;
for (QueryResult queryResult : resultsFolder) {
BigInteger prog = ((BigInteger) queryResult.getPropertyValueByQueryName("fat.sigla_fatture:progressivo_sdi"));
if (prog == null || prog.equals(new BigInteger("0"))){
trasmissioneFolder = (Folder) cmisService.getNodeByNodeRef((String) queryResult.getPropertyValueById(PropertyIds.OBJECT_ID));
if (isProgressivoTrasmissioneZero()){
cmisService.updateMetadataFromBulk(trasmissioneFolder, this);
break;
}
}
}
if (isProgressivoTrasmissioneDiversoDaZero() && trasmissioneFolder != null){
CMISPath path = cmisService.createFolderIfNotPresent(CMISPath.construct(trasmissioneFolder.getPath()), identificativoSdI + " - "+getProgressivoSdi(), null, null, this);
if (path != null){
cmisService.setInheritedPermission(path, Boolean.FALSE);
}
}
}
}

public Fattura_passivaBulk getFattura_passivaBulk() {
return fattura_passivaBulk;
}

public void setFattura_passivaBulk(Fattura_passivaBulk fattura_passivaBulk) {
this.fattura_passivaBulk = fattura_passivaBulk;
}

}

0 comments on commit ae72442

Please sign in to comment.