Skip to content

Commit

Permalink
BugID: 1050 - Modifiche Articolo 18
Browse files Browse the repository at this point in the history
  • Loading branch information
mspasiano committed Jan 15, 2013
1 parent dfbad10 commit 9eb9f55
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 75 deletions.
Expand Up @@ -296,27 +296,8 @@ public void salvaDefinitivo(ActionContext context) throws it.cnr.jada.action.Bus
throw handleException(e);
}
try {
Node oldNode = contrattoService.getFolderContratto((ContrattoBulk)getModel());
if (((ContrattoBulk)getModel()).getDt_stipula().after(dataStipulaParametri) ||
((ContrattoBulk)getModel()).getDt_stipula().equals(dataStipulaParametri)){
if (!((ContrattoBulk)getModel()).isAllegatoContrattoPresent())
throw handleException(new ApplicationException("Bisogna allegare il file del Contratto!"));
else{
if (((ContrattoBulk)getModel()).isPassivo() || ((ContrattoBulk)getModel()).isAttivo_e_Passivo())
((ContrattoBulk)getModel()).setFl_pubblica_contratto(Boolean.TRUE);
}
}
ContrattoComponentSession comp = (ContrattoComponentSession)createComponentSession();
ContrattoBulk contratto = comp.salvaDefinitivo(context.getUserContext(), (ContrattoBulk)getModel());
if (oldNode != null){
changeProgressivoNodeRef(oldNode, contratto);
Node node = contrattoService.getFolderContratto(contratto);
if (node != null){
contrattoService.addAspect(node, "P:sigla_contratti_aspect:stato_definitivo");
if (contratto.isPassivo() || contratto.isAttivo_e_Passivo())
contrattoService.addConsumerToEveryone(node);
}
}
edit(context,contratto);
}catch(it.cnr.jada.comp.ComponentException ex){
throw handleException(ex);
Expand Down Expand Up @@ -353,20 +334,6 @@ public void pubblicaContratto(ActionContext context) throws it.cnr.jada.action.B
}
}

private void changeProgressivoNodeRef(Node oldNode, ContrattoBulk contratto) {
contrattoService.updateProperties(contratto, oldNode);
ListNodePage<Node> children = contrattoService.getChildren(oldNode, null, null);
for (Node child : children) {
AllegatoContrattoDocumentBulk allegato = AllegatoContrattoDocumentBulk.construct(child);
allegato.setNome((String) child.getPropertyValue("sigla_contratti_attachment:original_name"));
allegato.setType(child.getTypeId());
allegato.setContrattoBulk(contratto);
contrattoService.updateProperties(allegato, child);
if (!allegato.getType().equals(AllegatoContrattoDocumentBulk.GENERICO))
costruisciAlberaturaAlternativa(allegato, child);
}
}

public void controllaCancellazioneAssociazioneUo(ActionContext context,Ass_contratto_uoBulk ass_contratto_uo) throws it.cnr.jada.action.BusinessProcessException{
try {
ContrattoComponentSession comp = (ContrattoComponentSession)createComponentSession();
Expand Down Expand Up @@ -424,38 +391,6 @@ protected void initialize(ActionContext actioncontext)
super.initialize(actioncontext);
}

private CMISPath getCMISPath(AllegatoContrattoDocumentBulk allegato){
CMISPath cmisPath = SpringUtil.getBean("cmisPathContratti",CMISPath.class);
cmisPath = contrattoService.createFolderIfNotPresent(cmisPath, allegato.getContrattoBulk().getUnita_organizzativa().getCd_unita_organizzativa(),
allegato.getContrattoBulk().getUnita_organizzativa().getDs_unita_organizzativa(),
allegato.getContrattoBulk().getUnita_organizzativa().getDs_unita_organizzativa());
cmisPath = contrattoService.createFolderIfNotPresent(cmisPath,"Contratti","Contratti","Contratti");
cmisPath = contrattoService.createFolderIfNotPresent(cmisPath, allegato.getContrattoBulk().getEsercizio().toString(),
"Esercizio :"+allegato.getContrattoBulk().getEsercizio().toString(),
"Esercizio :"+allegato.getContrattoBulk().getEsercizio().toString());
cmisPath = contrattoService.createFolderIfNotPresent(cmisPath, allegato.getContrattoBulk().getCMISFolderName(),
null,
null, allegato.getContrattoBulk());
return cmisPath;
}

private CMISPath getCMISPathAlternativo(AllegatoContrattoDocumentBulk allegato){
CMISPath cmisPath = SpringUtil.getBean("cmisPathContratti",CMISPath.class);
cmisPath = contrattoService.createFolderIfNotPresent(cmisPath, allegato.getContrattoBulk().getUnita_organizzativa().getCd_unita_organizzativa(),
allegato.getContrattoBulk().getUnita_organizzativa().getDs_unita_organizzativa(),
allegato.getContrattoBulk().getUnita_organizzativa().getDs_unita_organizzativa());
cmisPath = contrattoService.createFolderIfNotPresent(cmisPath,"Contratti","Contratti","Contratti");
cmisPath = contrattoService.createFolderIfNotPresent(cmisPath,
(String)allegato.getContrattoBulk().getTi_natura_contabileKeys().get(allegato.getContrattoBulk().getNatura_contabile()),
null,
null);
cmisPath = contrattoService.createFolderIfNotPresent(cmisPath,
(String)allegato.getTi_allegatoKeys().get(allegato.getType()),
null,
null);
return cmisPath;
}

@Override
public void delete(ActionContext actioncontext)
throws BusinessProcessException {
Expand Down Expand Up @@ -562,15 +497,15 @@ private void archiviaAllegati(ActionContext actioncontext, ContrattoBulk contrat
node = contrattoService.storeSimpleDocument(allegato,
new FileInputStream(allegato.getFile()),
allegato.getContentType(),
allegato.getDocumentName(), getCMISPath(allegato), null, true);
allegato.getDocumentName(), contrattoService.getCMISPath(allegato), null, true);
}else {
node = contrattoService.storeSimpleDocument(allegato,
null,
allegato.getContentType(),
allegato.getDocumentName(), getCMISPath(allegato), null, true);
allegato.getDocumentName(), contrattoService.getCMISPath(allegato), null, true);
}
if (contratto.isDefinitivo() && !allegato.getType().equals(AllegatoContrattoDocumentBulk.GENERICO))
costruisciAlberaturaAlternativa(allegato, node);
contrattoService.costruisciAlberaturaAlternativa(allegato, node);

allegato.setCrudStatus(OggettoBulk.NORMAL);
allegato.setNodeId(node.getId());
Expand All @@ -595,9 +530,4 @@ private void archiviaAllegati(ActionContext actioncontext, ContrattoBulk contrat
}
}
}

private void costruisciAlberaturaAlternativa(
AllegatoContrattoDocumentBulk allegato, Node node) {
contrattoService.copyNode(node, contrattoService.getNodeByPath(getCMISPathAlternativo(allegato)));
}
}
Expand Up @@ -10,10 +10,13 @@
import it.cnr.cmisdl.model.paging.ListNodePage;
import it.cnr.contab.anagraf00.core.bulk.TerzoBulk;
import it.cnr.contab.anagraf00.core.bulk.TerzoHome;
import it.cnr.contab.cmis.service.CMISPath;
import it.cnr.contab.config00.bulk.CigBulk;
import it.cnr.contab.config00.bulk.Parametri_cdsBulk;
import it.cnr.contab.config00.bulk.Parametri_cdsHome;
import it.cnr.contab.config00.bulk.Parametri_cnrBulk;
import it.cnr.contab.config00.bulk.RicercaContrattoBulk;
import it.cnr.contab.config00.contratto.bulk.AllegatoContrattoDocumentBulk;
import it.cnr.contab.config00.contratto.bulk.Ass_contratto_uoBulk;
import it.cnr.contab.config00.contratto.bulk.Ass_contratto_uoHome;
import it.cnr.contab.config00.contratto.bulk.ContrattoBulk;
Expand Down Expand Up @@ -833,6 +836,10 @@ private ContrattoBulk calcolaTotDocContForAttivoPassivo (UserContext userContext
**/
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 {
Expand All @@ -846,6 +853,16 @@ public ContrattoBulk salvaDefinitivo(UserContext userContext, ContrattoBulk cont
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());
Node oldNode = contrattoService.getFolderContratto(contratto);
if (contratto.getDt_stipula().after(dataStipulaParametri) ||
contratto.getDt_stipula().equals(dataStipulaParametri)){
if (!contratto.isAllegatoContrattoPresent())
throw handleException(new ApplicationException("Bisogna allegare il file del Contratto!"));
else{
if (contratto.isPassivo() || contratto.isAttivo_e_Passivo())
contratto.setFl_pubblica_contratto(Boolean.TRUE);
}
}

ContrattoBulk contrattoClone = (ContrattoBulk)contratto.clone();
try {
Expand Down Expand Up @@ -877,7 +894,18 @@ public ContrattoBulk salvaDefinitivo(UserContext userContext, ContrattoBulk cont
}
contrattoClone.setCrudStatus(OggettoBulk.TO_BE_CREATED);
contrattoClone.setStato(ContrattoBulk.STATO_DEFINITIVO);
return (ContrattoBulk)super.creaConBulk(userContext,contrattoClone);

ContrattoBulk contrattoDefinitivo = (ContrattoBulk)super.creaConBulk(userContext,contrattoClone);
if (oldNode != null){
contrattoService.changeProgressivoNodeRef(oldNode, contrattoDefinitivo);
Node node = contrattoService.getFolderContratto(contrattoDefinitivo);
if (node != null){
contrattoService.addAspect(node, "P:sigla_contratti_aspect:stato_definitivo");
if (contrattoDefinitivo.isPassivo() || contrattoDefinitivo.isAttivo_e_Passivo())
contrattoService.addConsumerToEveryone(node);
}
}
return contrattoDefinitivo;
} catch (it.cnr.jada.persistency.PersistencyException e) {
throw handleException(contratto,e);
} catch (it.cnr.jada.bulk.OutdatedResourceException e) {
Expand All @@ -886,7 +914,7 @@ public ContrattoBulk salvaDefinitivo(UserContext userContext, ContrattoBulk cont
throw handleException(contratto,e);
}
}

/**
* inizializzaBulkPerStampa method comment.
*/
Expand Down
Expand Up @@ -5,9 +5,11 @@

import it.cnr.cmisdl.model.Node;
import it.cnr.cmisdl.model.paging.ListNodePage;
import it.cnr.contab.cmis.service.CMISPath;
import it.cnr.contab.cmis.service.CMISService;
import it.cnr.contab.config00.contratto.bulk.AllegatoContrattoDocumentBulk;
import it.cnr.contab.config00.contratto.bulk.ContrattoBulk;
import it.cnr.contab.service.SpringUtil;
import it.cnr.jada.bulk.OggettoBulk;

public class ContrattoService extends CMISService {
Expand Down Expand Up @@ -74,4 +76,54 @@ public List<AllegatoContrattoDocumentBulk> findAllegatiContratto(ContrattoBulk c
return result;
}

public CMISPath getCMISPathAlternativo(AllegatoContrattoDocumentBulk allegato){
CMISPath cmisPath = SpringUtil.getBean("cmisPathContratti",CMISPath.class);
cmisPath = createFolderIfNotPresent(cmisPath, allegato.getContrattoBulk().getUnita_organizzativa().getCd_unita_organizzativa(),
allegato.getContrattoBulk().getUnita_organizzativa().getDs_unita_organizzativa(),
allegato.getContrattoBulk().getUnita_organizzativa().getDs_unita_organizzativa());
cmisPath = createFolderIfNotPresent(cmisPath,"Contratti","Contratti","Contratti");
cmisPath = createFolderIfNotPresent(cmisPath,
(String)allegato.getContrattoBulk().getTi_natura_contabileKeys().get(allegato.getContrattoBulk().getNatura_contabile()),
null,
null);
cmisPath = createFolderIfNotPresent(cmisPath,
(String)allegato.getTi_allegatoKeys().get(allegato.getType()),
null,
null);
return cmisPath;
}

public CMISPath getCMISPath(AllegatoContrattoDocumentBulk allegato){
CMISPath cmisPath = SpringUtil.getBean("cmisPathContratti",CMISPath.class);
cmisPath = createFolderIfNotPresent(cmisPath, allegato.getContrattoBulk().getUnita_organizzativa().getCd_unita_organizzativa(),
allegato.getContrattoBulk().getUnita_organizzativa().getDs_unita_organizzativa(),
allegato.getContrattoBulk().getUnita_organizzativa().getDs_unita_organizzativa());
cmisPath = createFolderIfNotPresent(cmisPath,"Contratti","Contratti","Contratti");
cmisPath = createFolderIfNotPresent(cmisPath, allegato.getContrattoBulk().getEsercizio().toString(),
"Esercizio :"+allegato.getContrattoBulk().getEsercizio().toString(),
"Esercizio :"+allegato.getContrattoBulk().getEsercizio().toString());
cmisPath = createFolderIfNotPresent(cmisPath, allegato.getContrattoBulk().getCMISFolderName(),
null,
null, allegato.getContrattoBulk());
return cmisPath;
}

public void costruisciAlberaturaAlternativa(
AllegatoContrattoDocumentBulk allegato, Node node) {
copyNode(node, getNodeByPath(getCMISPathAlternativo(allegato)));
}

public void changeProgressivoNodeRef(Node oldNode, ContrattoBulk contratto) {
updateProperties(contratto, oldNode);
ListNodePage<Node> children = getChildren(oldNode, null, null);
for (Node child : children) {
AllegatoContrattoDocumentBulk allegato = AllegatoContrattoDocumentBulk.construct(child);
allegato.setNome((String) child.getPropertyValue("sigla_contratti_attachment:original_name"));
allegato.setType(child.getTypeId());
allegato.setContrattoBulk(contratto);
updateProperties(allegato, child);
if (!allegato.getType().equals(AllegatoContrattoDocumentBulk.GENERICO))
costruisciAlberaturaAlternativa(allegato, child);
}
}
}

0 comments on commit 9eb9f55

Please sign in to comment.