Skip to content

Commit

Permalink
Nella firma delle variazioni se nei parametri CdS è impostato che non…
Browse files Browse the repository at this point in the history
… è necessaria la firma digitale viene abilitata la selezione multipla
  • Loading branch information
mspasiano committed Nov 7, 2024
1 parent 5c77862 commit cd0521b
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public class FirmaDigitalePdgVariazioniBP extends
private String nomeFileTest = "test-file.pdf";
private String nomeFilePathTest = System.getProperty("tmp.dir.SIGLAWeb") + "applets/" + nomeFileTest;
private String nomeFileTestFirmato;

private Parametri_cdsBulk parametriCds;
public FirmaDigitalePdgVariazioniBP() {
super();
table.setMultiSelection(true);
Expand Down Expand Up @@ -229,14 +229,22 @@ public void writeToolbar(javax.servlet.jsp.PageContext pageContext)
protected void init(Config config, ActionContext context)
throws BusinessProcessException {
super.init(config, context);
setMultiSelection(false);
if (!isTestSession())
pdgVariazioniService = SpringUtil.getBean("pdgVariazioniService",
PdgVariazioniService.class);
ArchiviaStampaPdgVariazioneBulk bulk = new ArchiviaStampaPdgVariazioneBulk();
bulk.setTiSigned(ArchiviaStampaPdgVariazioneBulk.VIEW_NOT_SIGNED);
setModel(context, bulk);
refresh(context);
try {
parametriCds = Utility.createParametriCdsComponentSession().
getParametriCds(context.getUserContext(),
CNRUserContext.getCd_cds(context.getUserContext()),
CNRUserContext.getEsercizio(context.getUserContext()));
setMultiSelection(!parametriCds.getFl_kit_firma_digitale());
if (!isTestSession())
pdgVariazioniService = SpringUtil.getBean("pdgVariazioniService",
PdgVariazioniService.class);
ArchiviaStampaPdgVariazioneBulk bulk = new ArchiviaStampaPdgVariazioneBulk();
bulk.setTiSigned(ArchiviaStampaPdgVariazioneBulk.VIEW_NOT_SIGNED);
setModel(context, bulk);
refresh(context);
} catch (Throwable e) {
throw new BusinessProcessException(e);
}
}

public boolean isPrintButtonEnabled() {
Expand Down Expand Up @@ -274,6 +282,8 @@ public boolean isPrintSignedButtonEnabled() {
}

public boolean isSignButtonEnabled() {
if (!Optional.ofNullable(parametriCds).map(Parametri_cdsBulk::getFl_kit_firma_digitale).orElse(Boolean.TRUE))
return Boolean.TRUE;
ArchiviaStampaPdgVariazioneBulk bulk = (ArchiviaStampaPdgVariazioneBulk) getFocusedElement();
if (!isTestSession())
return getFocusedElement() != null
Expand Down Expand Up @@ -454,21 +464,20 @@ public StorageObject getNodeFileFirmato(StorageObject nodePdf) throws Applicatio
public void sign(ActionContext context) throws BusinessProcessException {
try {
ArchiviaStampaPdgVariazioneBulk archiviaStampaPdgVariazioneBulk = (ArchiviaStampaPdgVariazioneBulk) getFocusedElement();
Parametri_cdsBulk parametriCds = Utility.createParametriCdsComponentSession().
getParametriCds(context.getUserContext(),
CNRUserContext.getCd_cds(context.getUserContext()),
CNRUserContext.getEsercizio(context.getUserContext()));
if (parametriCds.getFl_kit_firma_digitale() || isTestSession()) {
caricaDatiPEC(context);
setSignEnabled(true);
setSignFile(true);
} else {
pdgVariazioniService.addAspect(archiviaStampaPdgVariazioneBulk
.getPdgVariazioneDocument().getStorageObject(),
SIGLAStoragePropertyNames.CNR_SIGNEDDOCUMENT.value());
//rp 21/01/2014 inserisco data firma sulla variazione
createComponentSession().aggiornaDataFirma(context.getUserContext(), archiviaStampaPdgVariazioneBulk
.getPdgVariazioneDocument().getEsercizio(), archiviaStampaPdgVariazioneBulk.getPdgVariazioneDocument().getNumeroVariazione());
setSelection(context);
List<Pdg_variazioneBulk> archiviaStampaPdgVariazioneBulks = getSelectedElements(context);
for (Pdg_variazioneBulk bulk : archiviaStampaPdgVariazioneBulks) {
pdgVariazioniService.addAspect(pdgVariazioniService.getPdgVariazioneDocument(bulk).getStorageObject(),
SIGLAStoragePropertyNames.CNR_SIGNEDDOCUMENT.value());
createComponentSession().aggiornaDataFirma(context.getUserContext(), bulk
.getEsercizio(), bulk.getPg_variazione_pdg().intValue());
}
clearSelection(context);
setFocusedElement(context, null);
refresh(context);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk;
import it.cnr.contab.doccont00.service.DocumentiContabiliService;
import it.cnr.contab.pdg00.bulk.ArchiviaStampaPdgVariazioneBulk;
import it.cnr.contab.pdg00.bulk.Pdg_variazioneBulk;
import it.cnr.contab.pdg00.bulk.storage.PdgVariazioneDocument;
import it.cnr.contab.service.SpringUtil;
import it.cnr.contab.spring.service.StorePath;
Expand Down Expand Up @@ -76,6 +77,19 @@ public PdgVariazioneDocument getPdgVariazioneDocument(ArchiviaStampaPdgVariazion
})));
}

public PdgVariazioneDocument getPdgVariazioneDocument(Pdg_variazioneBulk pdgVariazioneBulk) {
return PdgVariazioneDocument.construct((Optional.ofNullable(getStorageObjectByPath(getCMISPath(pdgVariazioneBulk)))
.orElseGet(() -> {
StringBuffer query = new StringBuffer("select * from varpianogest:document");
query.append(" where ").append(SIGLAStoragePropertyNames.VARPIANOGEST_ESERCIZIO.value()).append(" = ").append(pdgVariazioneBulk.getEsercizio());
query.append(" and ").append(SIGLAStoragePropertyNames.VARPIANOGEST_NUMEROVARIAZIONE.value()).append(" = ").append(pdgVariazioneBulk.getPg_variazione_pdg());
List<StorageObject> storageObjects = super.search(query.toString());
if (!storageObjects.isEmpty())
return getStorageObjectBykey(storageObjects.get(0).getKey());
return null;
})));
}

public String getCMISPath(ArchiviaStampaPdgVariazioneBulk archiviaStampaPdgVariazioneBulk) {
return Arrays.asList(
getParentPath(archiviaStampaPdgVariazioneBulk),
Expand All @@ -88,6 +102,32 @@ public String getCMISPath(ArchiviaStampaPdgVariazioneBulk archiviaStampaPdgVaria
);
}

public String getCMISPath(Pdg_variazioneBulk pdgVariazioneBulk) {
return Arrays.asList(
getParentPath(pdgVariazioneBulk),
"Variazione al PdG n. "
+ pdgVariazioneBulk.getPg_variazione_pdg()
+ " CdR proponente "
+ pdgVariazioneBulk.getCd_centro_responsabilita() + ".pdf"
).stream().collect(
Collectors.joining(StorageDriver.SUFFIX)
);
}

public String getParentPath(Pdg_variazioneBulk pdgVariazioneBulk) {
return Arrays.asList(
SpringUtil.getBean(StorePath.class).getPathVariazioniPianoDiGestione(),
Optional.ofNullable(pdgVariazioneBulk.getEsercizio())
.map(esercizio -> String.valueOf(esercizio))
.orElse("0"),
sanitizeFolderName(pdgVariazioneBulk.getCentro_responsabilita().getUnita_padre().getCd_cds()),
"CdR " + pdgVariazioneBulk.getCd_centro_responsabilita() +
" Variazione " + Utility.lpad(pdgVariazioneBulk.getPg_variazione_pdg(), 5, '0')
).stream().collect(
Collectors.joining(StorageDriver.SUFFIX)
);
}

public String getParentPath(ArchiviaStampaPdgVariazioneBulk archiviaStampaPdgVariazioneBulk) {
return Arrays.asList(
SpringUtil.getBean(StorePath.class).getPathVariazioniPianoDiGestione(),
Expand Down

0 comments on commit cd0521b

Please sign in to comment.