From 5e0d5dadaefa90ab8f85dd09d2277dcfb7e29cdc Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Fri, 25 Sep 2020 18:22:35 +0200 Subject: [PATCH] Correzione firme --- .../mwg/sismica/bo/util/PuliziaDatabase.java | 5 +- .../it/mwg/sismica/bo/util/SismicaUtil.java | 350 +++++++++++++----- .../portlet/PortosAdministrationPortlet.java | 17 +- .../bo/scheduler/SchedulerInvioDocumento.java | 2 +- .../docroot/WEB-INF/src/service.properties | 4 +- .../html/sismica_administration/view.jsp | 62 ++-- .../html/fascicolofe/completed_fascicolo.jsp | 3 +- .../impl/ReportTaskManagerServiceImpl.java | 2 +- 8 files changed, 305 insertions(+), 140 deletions(-) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/PuliziaDatabase.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/PuliziaDatabase.java index b0ab1e40..9618dc6a 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/PuliziaDatabase.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/PuliziaDatabase.java @@ -62,7 +62,7 @@ public class PuliziaDatabase { private static final Log _log = LogFactoryUtil.getLog(PuliziaDatabase.class); private static final int SLICE = 1000; - public static List pulisci2(ServiceContext serviceContext) { + public static List pulisci(ServiceContext serviceContext) { List esito = new ArrayList<>(); int numeroPratiche = 0; try { @@ -96,7 +96,7 @@ public class PuliziaDatabase { return esito; } - public static List pulisci(ServiceContext serviceContext) { + public static List pulisci2(ServiceContext serviceContext) { List esito = new ArrayList<>(); esito.addAll(puliziaPreliminare()); @@ -237,7 +237,6 @@ public class PuliziaDatabase { } totali += docs2.size(); start += SLICE - rimossi; - _log.info("Analizzati " + totali + " DocPratica, cancellati " + cancellati); } while (docs2.size() > 0); esitoLog(esito, "Analizzati " + totali + " DocPratica, cancellati " + cancellati); } catch (PortalException | SQLException | SystemException e) { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java index 9331160c..d744ff83 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java @@ -6,11 +6,10 @@ package it.mwg.sismica.bo.util; import it.tref.liferay.portos.bo.model.Avviso; -import it.tref.liferay.portos.bo.model.Collaudo; import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.DettPratica; -import it.tref.liferay.portos.bo.model.FineLavori; import it.tref.liferay.portos.bo.model.IntPratica; +import it.tref.liferay.portos.bo.model.impl.AvvisoImpl; import it.tref.liferay.portos.bo.service.AvvisoLocalServiceUtil; import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil; import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil; @@ -19,21 +18,23 @@ import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; import it.tref.liferay.portos.bo.shared.util.StatoPraticaConstants; -import it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil; import it.tref.liferay.portos.bo.util.AvvisoUtil; import it.tref.liferay.portos.bo.util.Constants; +import it.tref.liferay.portos.bo.util.WorkflowConstants; import java.io.Serializable; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.TreeMap; import com.liferay.portal.kernel.dao.orm.QueryUtil; import com.liferay.portal.kernel.exception.PortalException; @@ -45,8 +46,8 @@ import com.liferay.portal.kernel.repository.model.FileEntry; import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.LocaleUtil; import com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil; +import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; -import com.liferay.portal.kernel.workflow.WorkflowConstants; import com.liferay.portal.kernel.workflow.WorkflowException; import com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil; import com.liferay.portal.kernel.workflow.WorkflowInstance; @@ -56,10 +57,17 @@ import com.liferay.portal.kernel.workflow.WorkflowTaskManagerUtil; import com.liferay.portal.model.User; import com.liferay.portal.service.ServiceContext; import com.liferay.portal.service.UserLocalServiceUtil; +import com.liferay.portal.workflow.kaleo.model.KaleoInstance; +import com.liferay.portal.workflow.kaleo.model.KaleoInstanceToken; +import com.liferay.portal.workflow.kaleo.model.KaleoTaskAssignmentInstance; import com.liferay.portal.workflow.kaleo.model.KaleoTaskInstanceToken; +import com.liferay.portal.workflow.kaleo.service.KaleoInstanceLocalServiceUtil; +import com.liferay.portal.workflow.kaleo.service.KaleoInstanceTokenLocalService; +import com.liferay.portal.workflow.kaleo.service.KaleoInstanceTokenLocalServiceUtil; +import com.liferay.portal.workflow.kaleo.service.KaleoTaskAssignmentInstanceLocalServiceUtil; import com.liferay.portal.workflow.kaleo.service.KaleoTaskInstanceTokenLocalServiceUtil; +import com.liferay.portal.workflow.kaleo.service.persistence.KaleoInstanceTokenUtil; import com.liferay.portlet.documentlibrary.model.DLFileEntry; -import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil; import com.liferay.portlet.documentlibrary.service.DLAppServiceUtil; import com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil; @@ -841,106 +849,270 @@ public class SismicaUtil { return esito; } - public static List inviaComunicazione(long companyId) throws SystemException, PortalException { + public static List resetFirme(long companyId, String numeroProgetto) throws SystemException, + PortalException { List esito = new ArrayList<>(); + if (Validator.isNull(numeroProgetto)) { + esito.addAll(firmeBloccate(companyId)); + } else { + IntPratica pratica = IntPraticaLocalServiceUtil.findByNumeroProgetto(numeroProgetto); + ControlloPratica controllo = getLastControlloPratica(pratica.getIntPraticaId()); + KaleoInstanceToken instanceToken = findInstanceToken(controllo.getControlloPraticaId()); + if (Validator.isNotNull(instanceToken)) { + esito.add("Trovato KaleoInstanceToken " + instanceToken.getKaleoInstanceTokenId() + + ", currentKaleoNodeName = \"" + instanceToken.getCurrentKaleoNodeName() + "\""); + if (instanceToken.getCurrentKaleoNodeName().equalsIgnoreCase("signal_ff")) { + List taskInstanceTokens = findTaskInstanceTokens(instanceToken + .getKaleoInstanceTokenId()); + esito.add("Trovati " + taskInstanceTokens.size() + " KaleoTaskInstanceToken"); + List taskAssignmentInstances = findTaskAssignmentInstances(instanceToken + .getKaleoInstanceId()); + esito.add("Trovati " + taskAssignmentInstances.size() + " KaleoTaskAssignmentInstance"); + + KaleoTaskInstanceToken taskInstanceToken = taskInstanceTokens.get(taskInstanceTokens + .size() - 1); + KaleoTaskAssignmentInstance taskAssignmentInstance = taskAssignmentInstances + .get(taskAssignmentInstances.size() - 1); + + esito.add("Cancello KaleoTaskInstanceToken " + + taskInstanceToken.getKaleoTaskInstanceTokenId()); + KaleoTaskInstanceTokenLocalServiceUtil.deleteKaleoTaskInstanceToken(taskInstanceToken); + esito.add("Cancello KaleoTaskAssignmentInstance " + + taskAssignmentInstance.getKaleoTaskAssignmentInstanceId()); + KaleoTaskAssignmentInstanceLocalServiceUtil + .deleteKaleoTaskAssignmentInstance(taskAssignmentInstance); + + taskInstanceToken = taskInstanceTokens.get(taskInstanceTokens.size() - 2); + esito.add("Aggiorno KaleoTaskInstanceToken " + + taskInstanceToken.getKaleoTaskInstanceTokenId()); + taskInstanceToken.setCompleted(false); + taskInstanceToken.setCompletionUserId(0); + taskInstanceToken.setCompletionDate(null); + KaleoTaskInstanceTokenLocalServiceUtil.updateKaleoTaskInstanceToken(taskInstanceToken); + + esito.add("Aggiorno KaleoInstanceToken " + instanceToken.getKaleoInstanceTokenId()); + instanceToken.setCurrentKaleoNodeId(21639); + instanceToken.setCurrentKaleoNodeName("Esito"); + KaleoInstanceTokenLocalServiceUtil.updateKaleoInstanceToken(instanceToken); + } + } + } + return esito; + } + + private static List firmeBloccate(long companyId) throws SystemException, PortalException { + List esito = new ArrayList<>(); + int start = 0; + int totali = 0; + List instanceTokens = null; + do { + instanceTokens = KaleoInstanceTokenLocalServiceUtil.getKaleoInstanceTokens(start, start + SLICE); + for (KaleoInstanceToken instanceToken : instanceTokens) { + if (!instanceToken.getCompleted() + && instanceToken.getCurrentKaleoNodeName().equalsIgnoreCase( + WorkflowConstants.WORKFLOW_SIGNAL_INVIO)) { + if (ControlloPratica.class.getName().equals(instanceToken.getClassName())) { + ControlloPratica controllo = ControlloPraticaLocalServiceUtil + .getControlloPratica(instanceToken.getClassPK()); + boolean firmaInviata = false; + for (Avviso avviso : AvvisoLocalServiceUtil.findByIntPratica( + controllo.getIntPraticaId(), QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) { + if (avviso.getInviato().equalsIgnoreCase(AvvisoUtil.DOCUMENTO_NON_INVIATO) + && avviso.getTipoAvviso().equalsIgnoreCase(AvvisoUtil.TIPO_AVVISO_FIRMA) + && !avviso.getRifiutato()) { + firmaInviata = true; + } + } + IntPratica pratica = IntPraticaLocalServiceUtil.getIntPratica(controllo + .getIntPraticaId()); + if (!firmaInviata) { + esito.add(" fermo " + pratica.getNumeroProgetto() + " (" + + pratica.getIntPraticaId() + ")"); + } + } else { + esito.add("Classe non gestita " + instanceToken.getClassName() + ", id " + + instanceToken.getKaleoInstanceTokenId()); + } + } + } + start += SLICE; + if (instanceTokens.size() > 0) { + totali += instanceTokens.size(); + } + } while (instanceTokens.size() > 0); + esito.add("Esaminati " + totali + " KaleoInstanceToken"); + return esito; + } - long templateId = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, AvvisoUtil - .getAllTipoDocumentoFileTemplateProps().get("DPVNS")); - FileEntry fileEntry = DLAppLocalServiceUtil.getFileEntry(templateId); - String templateTitle = fileEntry.getTitle(); + private static KaleoInstanceToken findInstanceToken(long controlloPraticaId) throws SystemException { + for (KaleoInstanceToken instanceToken : KaleoInstanceTokenLocalServiceUtil.getKaleoInstanceTokens( + QueryUtil.ALL_POS, QueryUtil.ALL_POS)) { + if ((instanceToken.getClassPK() == controlloPraticaId) + && instanceToken.getClassName().equals(ControlloPratica.class.getName())) { + return instanceToken; + } + } + return null; + } + + private static List findTaskInstanceTokens(long instanceTokenId) + throws SystemException { + Map sorted = new TreeMap<>(); + for (KaleoTaskInstanceToken taskInstanceToken : KaleoTaskInstanceTokenLocalServiceUtil + .getKaleoTaskInstanceTokens(QueryUtil.ALL_POS, QueryUtil.ALL_POS)) { + if (taskInstanceToken.getKaleoInstanceTokenId() == instanceTokenId) { + sorted.put(taskInstanceToken.getKaleoTaskInstanceTokenId(), taskInstanceToken); + } + } + return new ArrayList<>(sorted.values()); + } + + private static List findTaskAssignmentInstances(long instanceId) + throws SystemException { + Map sorted = new TreeMap<>(); + for (KaleoTaskAssignmentInstance taskAssignmentInstance : KaleoTaskAssignmentInstanceLocalServiceUtil + .getKaleoTaskAssignmentInstances(QueryUtil.ALL_POS, QueryUtil.ALL_POS)) { + if (taskAssignmentInstance.getKaleoInstanceId() == instanceId) { + sorted.put(taskAssignmentInstance.getKaleoTaskAssignmentInstanceId(), taskAssignmentInstance); + } + } + return new ArrayList<>(sorted.values()); + } + + public static List generaDocumenti(long companyId) throws SystemException, PortalException { + List esito = new ArrayList<>(); + + long templateConforme = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, AvvisoUtil + .getAllTipoDocumentoFileTemplateProps().get(StatoPraticaConstants.CONFORME)); + long templateVidimata = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, AvvisoUtil + .getAllTipoDocumentoFileTemplateProps().get(StatoPraticaConstants.VIDIMATA)); int inizio = 0; + int totali = 0; + int conformita = 0; + int vidimazioni = 0; List pratiche = null; do { pratiche = IntPraticaLocalServiceUtil.getIntPraticas(inizio, inizio + SLICE); for (IntPratica pratica : pratiche) { - if (!pratica.getStatoPratica().equalsIgnoreCase(StatoPraticaConstants.SOTTOPOSTA_A_PARERE)) { - List avvisi = AvvisoLocalServiceUtil.findByIntPratica_Inviato( - pratica.getIntPraticaId(), AvvisoUtil.DOCUMENTO_INVIATO, QueryUtil.ALL_POS, - QueryUtil.ALL_POS, - OrderByComparatorFactoryUtil.create("portos_bo_avviso", "createDate", false)); - List varianti = new ArrayList<>(); - int inviate = 0; - boolean autorizzata = false; - boolean annullata = false; - boolean conforme = false; - boolean collaudo = false; - boolean fineLavori = false; - boolean primoAvviso = true; - boolean ultimo = false; - for (Avviso avviso : avvisi) { - if (!avviso.getAnnullato()) { - if (avviso.getTipoDocumento().equalsIgnoreCase(StatoPraticaConstants.VIDIMATA) - && avviso.getClassName().equals(DettPratica.class.getName())) { - DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(avviso - .getClassPk()); - if (dettPratica.getTipoIntegrazione().equals(TipoIntegrazioneUtil.VARIANTE) - && !dettPratica.getVarianteSostanziale()) { - String title = DLAppLocalServiceUtil.getFileEntry( - avviso.getFileEntryIdTemplate()).getTitle(); - if (primoAvviso && !title.equals(templateTitle)) { - ultimo = true; - } - if (!autorizzata && !conforme) { - if (!title.equals(templateTitle)) { - varianti.add(avviso); - } else { - inviate++; - } - } - } - } else if (avviso.getTipoDocumento().equalsIgnoreCase( - StatoPraticaConstants.ANNULLA_ISTANZA)) { - annullata = true; - } else if (avviso.getTipoDocumento().equalsIgnoreCase( - StatoPraticaConstants.CONFORME)) { - conforme = true; - } else if (avviso.getTipoDocumento().equalsIgnoreCase( - StatoPraticaConstants.AUTORIZZATA)) { - autorizzata = true; - } else if (avviso.getClassName().equals(Collaudo.class.getName())) { - collaudo = true; - } else if (avviso.getClassName().equals(FineLavori.class.getName())) { - fineLavori = true; + List avvisi = getTipologieDocumentiAvvisi(pratica.getIntPraticaId()); + DettPratica dettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(pratica + .getIntPraticaId()); + ControlloPratica controllo = getLastControlloPratica(pratica.getIntPraticaId()); + + switch (pratica.getStatoPratica()) { + case StringPool.BLANK: + case StatoPraticaConstants.ANNULLATA: + break; + case StatoPraticaConstants.AUTORIZZATA: + break; + case StatoPraticaConstants.CONFORME: + if (Validator.isNotNull(dettPratica) && Validator.isNotNull(controllo)) { + switch (avvisi.size()) { + case 0: + _log.info("Pratica " + pratica.getNumeroProgetto() + ", invio vidimazione"); + inviaVidimazione(dettPratica, controllo, templateVidimata); + vidimazioni++; + // Fall through + case 1: + if (!avvisi.contains(StatoPraticaConstants.CONFORME)) { + _log.info("Pratica " + pratica.getNumeroProgetto() + ", invio conformità"); + inviaConformita(dettPratica, controllo, templateConforme); + conformita++; + } else { + _log.info("Pratica " + pratica.getNumeroProgetto() + + " contiene già la conformità"); } + break; } - primoAvviso = false; } - if (((varianti.size() > 0) && (varianti.size() != inviate) && !annullata && !collaudo - && !fineLavori && (pratica.getTipoPratica().equalsIgnoreCase( - Constants.TIPO_PRATICA_DEPOSITO) || autorizzata)) - || (ultimo && pratica.getStatoPratica().equalsIgnoreCase( - StatoPraticaConstants.AUTORIZZATA))) { - String tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, - "tipo-pratica-" + pratica.getTipoPratica()); - List controlli = ControlloPraticaLocalServiceUtil - .findByIntPratica(pratica.getIntPraticaId()); - if (controlli.size() > 0) { - esito.add("Pratica " + tipoPratica + " " + pratica.getNumeroProgetto() + " (" - + pratica.getIntPraticaId() + ") invio vidimazione per " - + varianti.size() + " varianti non sostanziali, già inviate " + inviate); - for (Avviso avviso : varianti) { - DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(avviso - .getClassPk()); - - ServiceContext serviceContext = new ServiceContext(); - serviceContext.setCompanyId(companyId); - serviceContext.setScopeGroupId(dettPratica.getGroupId()); - serviceContext.setUserId(dettPratica.getUserId()); - - AvvisoLocalServiceUtil.addAvviso(pratica.getIntPraticaId(), - "Attestazione di deposito variante", new Date(), - AvvisoUtil.TIPO_AVVISO_DIRETTO, StatoPraticaConstants.VIDIMATA, - templateId, avviso.getClassPk(), avviso.getClassName(), controlli - .get(controlli.size() - 1).getControlloPraticaId(), - serviceContext); - } - } + break; + case StatoPraticaConstants.INTEGRAZIONE: + break; + case StatoPraticaConstants.NON_AUTORIZZATA: + break; + case StatoPraticaConstants.NON_CONFORME: + break; + case StatoPraticaConstants.SOTTOPOSTA_A_PARERE: + break; + case StatoPraticaConstants.VIDIMATA: + if (avvisi.size() == 0) { + _log.info("Pratica " + pratica.getNumeroProgetto() + ", invio Vidimazione"); + inviaVidimazione(dettPratica, controllo, templateVidimata); + vidimazioni++; } + break; + default: + _log.info("Sconosciuto '" + pratica.getStatoPratica() + "'"); + return esito; } } inizio += SLICE; + if (pratiche.size() > 0) { + totali += pratiche.size(); + _log.info(totali + " pratiche"); + } } while (pratiche.size() > 0); + esito.add("Analizzate " + totali + " pratiche"); + if (vidimazioni > 0) { + esito.add("Inviate " + vidimazioni + " vidimazioni"); + } + if (conformita > 0) { + esito.add("Inviate " + conformita + " conformità"); + } return esito; } + + private static List getTipologieDocumentiAvvisi(long intPraticaId) throws SystemException { + List result = new ArrayList<>(); + List avvisi = AvvisoLocalServiceUtil.findByIntPratica(intPraticaId, QueryUtil.ALL_POS, + QueryUtil.ALL_POS, null); + for (Avviso avviso : avvisi) { + result.add(avviso.getTipoDocumento()); + } + return result; + } + + private static void inviaConformita(DettPratica dettPratica, ControlloPratica controllo, long template) + throws PortalException, SystemException { + ServiceContext serviceContext = getServiceContext(dettPratica); + AvvisoLocalServiceUtil.addAvviso(dettPratica.getIntPraticaId(), "Avviso di Conformità", new Date(), + AvvisoUtil.TIPO_AVVISO_DIRETTO, StatoPraticaConstants.CONFORME, template, + dettPratica.getDettPraticaId(), DettPratica.class.getName(), + controllo.getControlloPraticaId(), serviceContext); + } + + private static void inviaVidimazione(DettPratica dettPratica, ControlloPratica controllo, long template) + throws PortalException, SystemException { + ServiceContext serviceContext = getServiceContext(dettPratica); + AvvisoLocalServiceUtil.addAvviso(dettPratica.getIntPraticaId(), "Avviso di Vidimazione", new Date(), + AvvisoUtil.TIPO_AVVISO_DIRETTO, StatoPraticaConstants.VIDIMATA, template, + dettPratica.getDettPraticaId(), DettPratica.class.getName(), + controllo.getControlloPraticaId(), serviceContext); + } + + private static ControlloPratica getLastControlloPratica(long intPraticaId) { + ControlloPratica result = null; + try { + List controlli = ControlloPraticaLocalServiceUtil + .findByIntPratica(intPraticaId); + long id = 0; + for (ControlloPratica controllo : controlli) { + if (controllo.getControlloPraticaId() > id) { + id = controllo.getControlloPraticaId(); + result = controllo; + } + } + } catch (SystemException e) { + } + return result; + } + + private static ServiceContext getServiceContext(DettPratica dettPratica) { + ServiceContext serviceContext = new ServiceContext(); + serviceContext.setCompanyId(dettPratica.getCompanyId()); + serviceContext.setScopeGroupId(dettPratica.getGroupId()); + serviceContext.setUserId(dettPratica.getUserId()); + return serviceContext; + } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PortosAdministrationPortlet.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PortosAdministrationPortlet.java index 242566b9..8cbc351d 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PortosAdministrationPortlet.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PortosAdministrationPortlet.java @@ -15,6 +15,7 @@ import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.SorteggioLocalServiceUtil; import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; +import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -59,17 +60,29 @@ public class PortosAdministrationPortlet extends MVCPortlet { actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()])); } - public void inviaComunicazione(ActionRequest actionRequest, ActionResponse actionResponse) { + public void generaDocumenti(ActionRequest actionRequest, ActionResponse actionResponse) { ThemeDisplay td = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); List esito = new ArrayList<>(); try { - esito = SismicaUtil.inviaComunicazione(td.getCompanyId()); + esito = SismicaUtil.generaDocumenti(td.getCompanyId()); } catch (PortalException | SystemException e) { esito.add("Errore durante l'invio " + e.getMessage()); } actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()])); } + public void resetFirme(ActionRequest actionRequest, ActionResponse actionResponse) { + ThemeDisplay td = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); + String numeroProgetto = ParamUtil.getString(actionRequest, "numeroProgetto"); + List esito = new ArrayList<>(); + try { + esito = SismicaUtil.resetFirme(td.getCompanyId(), numeroProgetto); + } catch (SystemException | PortalException e) { + esito.add("Errore durante l'invio " + e.getMessage()); + } + actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()])); + } + public void reIndexFasciolo(ActionRequest actionRequest, ActionResponse actionResponse) throws PortalException, SystemException { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerInvioDocumento.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerInvioDocumento.java index 18c697f9..23fd7399 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerInvioDocumento.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerInvioDocumento.java @@ -251,7 +251,7 @@ public class SchedulerInvioDocumento implements MessageListener { .getControlloPratica(controlloPraticaId); gestioneTempistica(avviso, controlloPratica); } catch (Exception e) { - _log.info(e.getMessage() + " " + avviso.getAvvisoId() + " " + _log.debug(e.getMessage() + " " + avviso.getAvvisoId() + " " + avviso.getControlloPraticaId()); _log.debug("Error", e); } 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 8c2330a0..2729b1b5 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=2444 - build.date=1600956928654 + build.number=2446 + build.date=1601041054321 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp index 7ebc39ab..d08eb0ae 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp @@ -7,11 +7,9 @@ <%@ include file="/html/sismica_administration/init.jsp"%> <% - SimpleDateFormat simpleDateTimeFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); - +SimpleDateFormat simpleDateTimeFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); String dataUltimoSorteggioString = ConfigurazioneLocalServiceUtil.findByC_ChiaveString(themeDisplay.getCompanyId(), ConfigurazioneConstants.DATE_ULTIMO_SORTEGGIO); - String dataProssimoSorteggio = ConfigurazioneServiceUtil.findByC_ChiaveString(company.getCompanyId(), "conf.geniocivile.sorteggio.data.prossimo.sorteggio"); %> @@ -89,7 +87,7 @@ String dataProssimoSorteggio = - +
Manutenzione Database
@@ -100,26 +98,30 @@ String dataProssimoSorteggio =
-
Invia comunicazione
- +
Genera documenti
+
- +
-<%-- --%> - - - -<%-- --%> - -<%-- --%> - -<%-- --%> - - + +
+
+
Form per reimpostare + i documenti alla firma
+ +
+ + + + +
+
+
+
<% String[] esito = renderRequest.getParameterValues("esito"); @@ -147,26 +149,4 @@ String dataProssimoSorteggio = } }); }); - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/completed_fascicolo.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/completed_fascicolo.jsp index 9556d4c8..116df8c9 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/completed_fascicolo.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/completed_fascicolo.jsp @@ -67,7 +67,8 @@
- + +<%-- --%>
diff --git a/liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/report/service/impl/ReportTaskManagerServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/report/service/impl/ReportTaskManagerServiceImpl.java index ad9b6858..6a779f84 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/report/service/impl/ReportTaskManagerServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/report/service/impl/ReportTaskManagerServiceImpl.java @@ -229,7 +229,6 @@ public class ReportTaskManagerServiceImpl extends ReportTaskManagerServiceBaseIm ServiceContext serviceContext = new ServiceContext(); serviceContext.setCompanyId(companyId); serviceContext.setUserId(userId); - serviceContext.setGroupPermissions(new String[] { ActionKeys.VIEW }); _log.info("addFileEntry userId=" + userId + ", repositoryId=" + repositoryId + ", folderId=" + folderId + ", sourceFileName=" + fileName + ", mimeType=" + mimeType + ", title=" @@ -241,6 +240,7 @@ public class ReportTaskManagerServiceImpl extends ReportTaskManagerServiceBaseIm fileName, mimeType, title, StringPool.BLANK, StringPool.BLANK, false, bytes, serviceContext); } catch (PortalException e) { + serviceContext.setGroupPermissions(new String[] { ActionKeys.VIEW }); fileEntry = DLAppLocalServiceUtil.addFileEntry(userId, repositoryId, folderId, fileName, mimeType, title, StringPool.BLANK, StringPool.BLANK, bytes, serviceContext); }