diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ModalitaAvvioWorkflowUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ModalitaAvvioWorkflowUtil.java deleted file mode 100644 index 3a00a525..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ModalitaAvvioWorkflowUtil.java +++ /dev/null @@ -1,75 +0,0 @@ -package it.tref.liferay.portos.bo.util; - -import it.tref.liferay.portos.bo.model.DettPratica; -import it.tref.liferay.portos.bo.model.IntPratica; -import it.tref.liferay.portos.bo.model.Sorteggio; -import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; -import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; -import it.tref.liferay.portos.bo.service.SorteggioLocalServiceUtil; -import it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil; - -import com.liferay.portal.kernel.log.Log; -import com.liferay.portal.kernel.log.LogFactoryUtil; - -public class ModalitaAvvioWorkflowUtil { - - private static Log _log = LogFactoryUtil.getLog(ModalitaAvvioWorkflowUtil.class); - - public static Boolean avvioDeposito(Long dettPraticaId) throws Exception { - - DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(dettPraticaId); - - //ADT: FIX BUG 35342: LE VARIANTI DI DEPOSITI SORTEGGIATI DEVONO ANDARE IN INSTRUTTORIA - //ANCHE SE LA VARIANTE VIENE PRESENTATA DOPO IL RILASCIO DI CONFORMITA’ DELLA PRATICA ORIGINARIA - if (TipoIntegrazioneUtil.VARIANTE.equals(dettPratica.getTipoIntegrazione())){ - //check sorteggio: il WF si avvia se la pratica č sorteggiata - Sorteggio sorteggio = SorteggioLocalServiceUtil.findByIntPratica(dettPratica.getIntPraticaId()); - boolean checkSorteggio=sorteggio!=null; - _log.info("Variante deposito - dettPraticaId="+dettPraticaId+" -intpraticaid="+dettPratica.getIntPraticaId()+" - avvioWF(checkSorteggio)="+checkSorteggio+" sorteggiata in data = "+(sorteggio!=null?sorteggio.getDtSorteggio():null)); - if (checkSorteggio){ - return true; - }else{ - _log.info("Variante deposito - dettPraticaId="+dettPraticaId+" -intpraticaid="+dettPratica.getIntPraticaId()+" - non sottoposta a sorteggio - continua verifica.... "); - - } - } - - boolean isRiparazione = dettPratica.getTcRiparazioneInterventoLocale(); - if (isRiparazione && !dettPratica.getTcNuovaCostruzione()) { - return false; - } - - return !dettPratica.getDestinazione().equals("1") && !dettPratica.getDestinazione().equals("2"); - } - - public static Boolean avvioAutorizzazione(Long dettPraticaId) throws Exception { - DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(dettPraticaId); - IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(dettPratica.getIntPraticaId()); - - // Tutti i casi per varianeti e richieste integrazioni da trattare - // if - // (TipoIntegrazioneConstants.RICHIESTA_INTEGRAZIONE.equals(dettPratica.getTipoIntegrazione())) - // { - // return true; - // } - - // if (intPratica.isVariante()) { - // DettPratica dettPraticaLast = - // DettPraticaLocalServiceUtil.getLastDettPratica(intPratica.getIntPraticaId()); - // if (dettPraticaLast.getDettPraticaId() == dettPratica.getDettPraticaId()) { - // // non sostanziale -> no workflow - // if (!intPratica.isVarianteSostanziale()) { - // return false; - // } - // } - // } - - return true; - } - - /* - * public static boolean isAvviable(String key, Long dettPraticaId) throws Exception { return - * (Boolean) MethodUtils.invokeExactStaticMethod(ModalitaAvvioWorkflowUtil.class, key, new - * Object[] {dettPraticaId}, new Class[] {Long.class}); } - */ -} diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PagamentiCommonUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PagamentiCommonUtil.java index cb16b147..6b6fef1f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PagamentiCommonUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PagamentiCommonUtil.java @@ -14,6 +14,7 @@ import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil; import it.tref.liferay.portos.bo.service.SorteggioLocalServiceUtil; import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; +import it.tref.liferay.portos.bo.shared.util.Constants; import it.tref.liferay.portos.bo.shared.util.PagamentoConstants; import it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil; @@ -56,9 +57,8 @@ public abstract class PagamentiCommonUtil { public static boolean isPagamentoRidotto(long dettPraticaId) throws Exception { DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(dettPraticaId); IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(dettPratica.getIntPraticaId()); - // 01 = deposito - // 02 = autorizzazione - if (intPratica.getTipoPratica().equalsIgnoreCase("01")) { + + if (intPratica.getTipoPratica().equals(Constants.TIPO_PRATICA_DEPOSITO)) { //ADT: VARIANTI DI DEPOSITI A SORTEGGIO E SORTEGGIATI - SI APPLICA PAGAMENTO RIDOTTO if (TipoIntegrazioneUtil.VARIANTE.equals(dettPratica.getTipoIntegrazione())){ @@ -70,11 +70,9 @@ public abstract class PagamentiCommonUtil { return true; } } - ///////////////////////////////////////////////// - - return !ModalitaAvvioWorkflowUtil.avvioDeposito(dettPraticaId); - } else if (intPratica.getTipoPratica().equalsIgnoreCase("02") - && TipoIntegrazioneUtil.VARIANTE.equalsIgnoreCase(dettPratica.getTipoIntegrazione()) + return true; + } else if (intPratica.getTipoPratica().equals(Constants.TIPO_PRATICA_AUTORIZZAZIONE) + && TipoIntegrazioneUtil.VARIANTE.equals(dettPratica.getTipoIntegrazione()) && !dettPratica.getVarianteSostanziale()) { return true; } else { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/WorkflowUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/WorkflowUtil.java index 0c92d6b7..d9a4def3 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/WorkflowUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/WorkflowUtil.java @@ -161,9 +161,9 @@ public class WorkflowUtil { && !dettPratica.getVarianteSostanziale()) { return false; } - return ModalitaAvvioWorkflowUtil.avvioAutorizzazione(dettPratica.getDettPraticaId()); + return true; } else if (AzioniPraticheUtil.isDeposito(intPratica.getIntPraticaId())) { - return ModalitaAvvioWorkflowUtil.avvioDeposito(dettPratica.getDettPraticaId()); + return false; } else { throw new SystemException("PRATICA_ZONA non esiste per zona " + territorio.getZona()); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java index 36c35e58..a8a528b7 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java @@ -148,6 +148,53 @@ public class IntPraticaLocalServiceImpl extends IntPraticaLocalServiceBaseImpl { private static Log _log = LogFactoryUtil.getLog(IntPraticaLocalServiceImpl.class); + /** + * Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per + * codice provincia. Modificata secondo il D.D.G. 334/2020 + * + * @author Manifattura Web Group per Regione Siciliana. + */ + public HashMap> findSorteggiabiliNew(long companyId, Date dtSorteggio) + throws SystemException, PortalException { + HashMap> ret = new HashMap<>(); + List lista = new ArrayList(); + + int dow = Integer.parseInt(ConfigurazioneServiceUtil.findByC_ChiaveString(companyId, + ConfigurazioneConstants.DAY_OF_WEEK_SORTEGGIO)); + + Date[] date = SismicaUtil.getWeekInterval(dow, dtSorteggio); + + DynamicQuery dq = intPraticaLocalService.dynamicQuery(); + dq.add(PropertyFactoryUtil.forName("companyId").eq(companyId)); + dq.add(PropertyFactoryUtil.forName("status").eq(WorkflowConstants.STATUS_DRAFT)); + dq.add(PropertyFactoryUtil.forName("statoPratica").eq(StatoPraticaConstants.VIDIMATA)); + dq.add(PropertyFactoryUtil.forName("tipoProcedura").ne(Constants.PROCEDURA_A)); + dq.add(PropertyFactoryUtil.forName("dtPratica").between(date[0], date[1])); + dq.add(PropertyFactoryUtil.forName("dtSorteggio").isNull()); + + try { + lista = intPraticaPersistence.findWithDynamicQuery(dq); + } catch (SystemException e) { + _log.error("Errore durante la selezione di mappe sorteggiabili.", e); + } + HashMap territoriProvince = new HashMap(); + for (IntPratica pratica : lista) { + long territorioId = pratica.getTerritorioId(); + if (!territoriProvince.containsKey(territorioId)) { + Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(territorioId); + Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId()); + territoriProvince.put(territorioId, comune.getCodiceProvincia()); + } + String codiceProvincia = territoriProvince.get(territorioId); + if (!ret.containsKey(codiceProvincia)) + ret.put(codiceProvincia, new ArrayList()); + ret.get(codiceProvincia).add(pratica); + _log.info("Pratica numero " + pratica.getNumeroProgetto() + ", id " + pratica.getIntPraticaId()); + } + return ret; + } + + /** * Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per * codice provincia. 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 dbae23d2..8d1c8113 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=2274 - build.date=1590486592371 + build.number=2276 + build.date=1590494949598 build.auto.upgrade=true ##