From c37e527c355e946abbc3d003b21062d4752323e2 Mon Sep 17 00:00:00 2001 From: Mattia Gosetto Date: Thu, 20 May 2021 14:44:39 +0200 Subject: [PATCH] modifiche per sistematazione SIS-178 --- .../portos/bo/util/AsseverazioniUtil.java | 2 +- .../bo/util/ValidazionePraticaUtil.java | 23 ++++++++++++++++--- .../docroot/WEB-INF/src/service.properties | 4 ++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/AsseverazioniUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/AsseverazioniUtil.java index 0a2871ce..d36f5121 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/AsseverazioniUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/AsseverazioniUtil.java @@ -108,6 +108,7 @@ public class AsseverazioniUtil { public static final String ASSEVERAZIONI_DOMANDA = "asseverazioni_domanda"; public static final String ASSEVERAZIONI_VARIANTE = "asseverazioni_variante"; public static final String ASSEVERAZIONI_INTEGRAZIONE = "asseverazioni_integrazione"; + @SuppressWarnings("serial") private static final Map> required = new HashMap>() { { @@ -252,7 +253,6 @@ public class AsseverazioniUtil { } public static boolean isAsseverazioneRequiredByCodiceDoc(String codiceDoc, String tipoSoggetto) { - if (required.containsKey(codiceDoc)) { return required.get(codiceDoc).contains(tipoSoggetto); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java index 94150575..2f4386ec 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java @@ -1356,6 +1356,7 @@ public class ValidazionePraticaUtil { } tipologiaSoggetti.add(tipSoggetto); } + List firmeTotali = new ArrayList<>(); boolean contieneDocumenti = false; for (String codiceDoc : tipologiaAllegati) { @@ -1421,6 +1422,7 @@ public class ValidazionePraticaUtil { } } } + // Ogni progettista e direttore dei lavori deve avere apposto almeno una firma sulla totalità degli allegati if (contieneDocumenti) { List progettisti = SoggettoLocalServiceUtil.getValidTmpByIntPratica_TipologiaSoggetto( @@ -1515,6 +1517,7 @@ public class ValidazionePraticaUtil { } } } + // Ogni progettista e direttore dei lavori deve avere apposto almeno una firma sulla totalità degli allegati List progettisti = SoggettoLocalServiceUtil.getValidTmpByIntPratica_TipologiaSoggetto(intPraticaId, TipoSoggettoUtil.PROGETTISTA); @@ -1622,7 +1625,7 @@ public class ValidazionePraticaUtil { } public static boolean isA07A15Valid(DettPratica dettPratica, long intPraticaId, List signatures, - DocPratica doc) throws SystemException { + DocPratica doc) throws SystemException, PortalException { List requiredSubjectsApp = AsseverazioniUtil.getRequiredSubjectsByCodiceDoc(doc.getTipologia()); List requiredSubjects = new ArrayList(); @@ -1690,10 +1693,24 @@ public class ValidazionePraticaUtil { } public static boolean isAllRequiredValid(String codiceDoc, long intPraticaId, List signatures, - List tipologiaSoggetti, DocPratica docPratica) throws SystemException { + List tipologiaSoggetti, DocPratica docPratica) throws SystemException, PortalException { + + DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(docPratica.getClassPk()); + boolean collaudatoreNotRequired = dettPratica.getCollaudoStatico() || dettPratica.getLavoriPubblici(); + boolean direttoreLavoriNotRequired = dettPratica.getLavoriPubblici(); + boolean dittaNotRequired = dettPratica.getNormLavoriInProprio() || dettPratica.getLavoriPubblici(); for (String tipoSoggetto : tipologiaSoggetti) { + boolean isRequired = AsseverazioniUtil.isAsseverazioneRequiredByCodiceDoc(codiceDoc, tipoSoggetto); + if (TipoSoggettoUtil.DIRETTORE_LAVORI.equalsIgnoreCase(tipoSoggetto) && direttoreLavoriNotRequired) { + isRequired = false; + } else if (TipoSoggettoUtil.COLLAUDATORE.equalsIgnoreCase(tipoSoggetto) && collaudatoreNotRequired) { + isRequired = false; + } else if (TipoSoggettoUtil.DITTA.equalsIgnoreCase(tipoSoggetto) && dittaNotRequired) { + isRequired = false; + } + if (isRequired) { List signaturesPerSubject = getSignaturePerSubject(intPraticaId, signatures, tipoSoggetto, docPratica.getClassPk()); @@ -1706,7 +1723,7 @@ public class ValidazionePraticaUtil { } public static boolean isOneRequiredValid(String codiceDoc, long intPraticaId, List signatures, - List tipologiaSoggetti, DocPratica docPratica) throws SystemException { + List tipologiaSoggetti, DocPratica docPratica) throws SystemException, PortalException { for (String tipoSoggetto : tipologiaSoggetti) { boolean isRequired = AsseverazioniUtil.isAsseverazioneRequiredByCodiceDoc(codiceDoc, tipoSoggetto); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index 2679d9ec..4284384c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=2624 - build.date=1621504827459 + build.number=2632 + build.date=1621514514870 build.auto.upgrade=true ##