diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/ManutenzioneDatabase.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/ManutenzioneDatabase.java index f27cbe5c..ff0261fc 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/ManutenzioneDatabase.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/ManutenzioneDatabase.java @@ -144,26 +144,10 @@ import com.liferay.portlet.wiki.service.WikiNodeLocalServiceUtil; import com.liferay.sync.model.SyncDLObject; import com.liferay.sync.service.SyncDLObjectLocalServiceUtil; -/* - * - * Operazioni preliminari sul database, eseguire col portale spento: - * - * UPDATE "portos_bo_territorio" SET "dtini"=NULL WHERE "codiceprovincia"<>'089'; - * - * TRUNCATE TABLE "portos_bo_intpratica"; - * DELETE FROM "browsertracker" WHERE "browsertrackerid" IN (SELECT "browsertrackerid" FROM "browsertracker" "t" LEFT JOIN "user_" "u" ON "t"."userid"="u"."userid" WHERE "u"."userid" IS NULL); - * DELETE FROM "dlfileversion" WHERE "fileversionid" IN (SELECT "fileversionid" FROM "dlfileversion" "v" LEFT JOIN "dlfileentry" "f" ON "v"."fileentryid"="f"."fileentryid" WHERE "f"."fileentryid" IS NULL); - * DELETE FROM "layoutset" WHERE "layoutsetid" IN (SELECT "layoutsetid" FROM "layoutset" "l" LEFT JOIN "group_" "g" ON "l"."groupid"="g"."groupid" WHERE "g"."groupid" IS NULL); - * DELETE FROM "usernotificationdelivery" WHERE "usernotificationdeliveryid" IN (SELECT "usernotificationdeliveryid" FROM "usernotificationdelivery" "d" LEFT JOIN "user_" "u" ON "d"."userid"="u"."userid" WHERE "u"."userid" IS NULL); - * DELETE FROM "users_groups" WHERE "userid" IN (SELECT DISTINCT "ug"."userid" FROM "users_groups" "ug" LEFT JOIN "user_" "u" ON "ug"."userid"="u"."userid" WHERE "u"."userid" IS NULL); - * - */ public class ManutenzioneDatabase { private static final Log _log = LogFactoryUtil.getLog(ManutenzioneDatabase.class); private static final int SLICE = 1000; - // !Run!IntPratica!User!Reset! - // 115202,115301,115502,115701,115702,115703,115704,115705,115801,115802,116001,116202,117214,126312,126313,133162,136606,139218,139453,139454 public static List pulisci(ServiceContext serviceContext, String mode) throws SystemException, PortalException { List esito = new ArrayList<>(); 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 deleted file mode 100644 index 9654e360..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/PuliziaDatabase.java +++ /dev/null @@ -1,254 +0,0 @@ -/** - * - * @author Salvatore La Manna, Manifattura Web Group per Regione Siciliana - * - */ -package it.mwg.sismica.bo.util; - -import flexjson.JSONSerializer; -import it.tref.liferay.portos.bo.model.Avviso; -import it.tref.liferay.portos.bo.model.ControlloPratica; -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.AvvisoLocalServiceUtil; -import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil; -import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil; -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.ConfigurazioneConstants; -import it.tref.liferay.portos.bo.shared.util.StatoPraticaConstants; -import it.tref.liferay.portos.bo.util.AvvisoUtil; -import it.tref.liferay.portos.bo.util.WorkflowConstants; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.liferay.portal.kernel.cache.CacheRegistryUtil; -import com.liferay.portal.kernel.cache.MultiVMPoolUtil; -import com.liferay.portal.kernel.cache.SingleVMPoolUtil; -import com.liferay.portal.kernel.exception.PortalException; -import com.liferay.portal.kernel.exception.SystemException; -import com.liferay.portal.kernel.log.Log; -import com.liferay.portal.kernel.log.LogFactoryUtil; -import com.liferay.portal.kernel.repository.model.FileEntry; -import com.liferay.portal.kernel.repository.model.Folder; -import com.liferay.portal.kernel.servlet.DirectServletRegistryUtil; -import com.liferay.portal.kernel.util.StringPool; -import com.liferay.portal.kernel.util.UniqueList; -import com.liferay.portal.kernel.util.Validator; -import com.liferay.portal.security.permission.ActionKeys; -import com.liferay.portal.service.ServiceContext; -import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil; - -public class PuliziaDatabase { - private static final Log _log = LogFactoryUtil.getLog(PuliziaDatabase.class); - private static final int SLICE = 1000; - - public static List pulisci(ServiceContext serviceContext) throws SystemException { - List esito = new ArrayList<>(); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - Date min = null; - Date max = null; - try { - min = sdf.parse("2020-09-25 18:40:00"); - max = sdf.parse("2020-09-25 18:50:00"); - } catch (ParseException e) { - esitoLog(esito, "Errore date: " + e.getMessage()); - return esito; - } - - long companyId = serviceContext.getCompanyId(); - long folderId = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, - ConfigurazioneConstants.TEMPLATE_FOLDER_ID); - - long templateAnnullamentoId = 0; - try { - Folder folder = DLAppLocalServiceUtil.getFolder(folderId); - FileEntry template = DLAppLocalServiceUtil.getFileEntry(folder.getGroupId(), folderId, "ATAP"); - templateAnnullamentoId = template.getFileEntryId(); - } catch (PortalException e1) { - } - if (Validator.isNull(templateAnnullamentoId)) { - esitoLog(esito, "Template ATAP non trovato"); - return esito; - } - String descLongAnnullamento = "Annullamento d'ufficio"; - - long templateConformitaId = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, - "conf.geniocivile.avviso.template.id.deposito.B2"); - String descLongConformita = "Avviso di conformità"; - - List sbagliati = new ArrayList<>(); - List inviate = new UniqueList<>(); - List conformi = new UniqueList<>(); - int start = 0; - List avvisi = new ArrayList<>(); - do { - avvisi = AvvisoLocalServiceUtil.getAvvisos(start, start + SLICE); - for (Avviso avviso : avvisi) { - if (avviso.getDtAvviso().after(min) && avviso.getDtAvviso().before(max) - && avviso.getTipoDocumento().equalsIgnoreCase(StatoPraticaConstants.CONFORME)) { - sbagliati.add(avviso); - } else if (avviso.getFileEntryIdTemplate() == templateAnnullamentoId) { - inviate.add(avviso.getIntPraticaId()); - } else if (avviso.getFileEntryIdTemplate() == templateConformitaId) { - conformi.add(avviso.getIntPraticaId()); - } - } - start += SLICE; - } while (avvisi.size() > 0); - - SimpleDateFormat dfmt = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); - JSONSerializer jsonSerializer = new JSONSerializer(); - - int noIntPratica = 0; - int annullatiA = 0; - int annullatiB = 0; - int annullatiC = 0; - for (Avviso avviso : sbagliati) { - long intPraticaId = avviso.getIntPraticaId(); - if (!inviate.contains(intPraticaId)) { - IntPratica intPratica = null; - try { - intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); - } catch (PortalException e) { - } - if (Validator.isNull(intPratica)) { - noIntPratica++; - } else { - Map parameters = new HashMap<>(); - parameters.put("dataProtocolloAnnullato", dfmt.format(avviso.getDtProtocollo())); - parameters.put("numeroProtocolloAnnullato", avviso.getProtocollo()); - - DettPratica dettPratica = DettPraticaLocalServiceUtil - .getLastCompletedByIntPratica(intPraticaId); - List controlli = ControlloPraticaLocalServiceUtil - .findByIntPraticaId_Status(intPraticaId, WorkflowConstants.STATUS_PENDING); - long controlloPraticaId = 0; - if (controlli.size() > 0) { - controlloPraticaId = controlli.get(controlli.size() - 1).getPrimaryKey(); - } - ServiceContext ctx = new ServiceContext(); - ctx.setCompanyId(intPratica.getCompanyId()); - ctx.setScopeGroupId(intPratica.getGroupId()); - ctx.setUserId(intPratica.getUserId()); - ctx.setGroupPermissions(new String[] { ActionKeys.VIEW }); - - String jsonParameters = StringPool.BLANK; - - switch (intPratica.getTipoProcedura().toUpperCase()) { - case "A": - annullatiA++; - break; - case "B": - case "B1": - Sorteggio sorteggio = SorteggioLocalServiceUtil.findByIntPratica(intPratica - .getIntPraticaId()); - jsonParameters = jsonSerializer.serialize(parameters); - try { - if (Validator.isNull(sorteggio)) { - AvvisoLocalServiceUtil.addAvviso(intPraticaId, descLongAnnullamento, - new Date(), AvvisoUtil.TIPO_AVVISO_DIRETTO, "MA", - templateAnnullamentoId, dettPratica.getPrimaryKey(), - DettPratica.class.getName(), StringPool.BLANK, jsonParameters, - controlloPraticaId, serviceContext); - } - if (!conformi.contains(intPraticaId)) { - AvvisoLocalServiceUtil.addAvviso(intPratica.getIntPraticaId(), - descLongConformita, new Date(), AvvisoUtil.TIPO_AVVISO_DIRETTO, - StatoPraticaConstants.CONFORME, templateConformitaId, - dettPratica.getDettPraticaId(), DettPratica.class.getName(), - controlloPraticaId, serviceContext); - } - } catch (PortalException e) { - esitoLog(esito, "Errore nell'invio per pratica " + intPratica.getNumeroProgetto() - + ", " + e.getMessage()); - } - String logStr = "Pratica " + intPratica.getNumeroProgetto() + " (" + intPraticaId - + "), procedura " + intPratica.getTipoProcedura(); - if (Validator.isNull(sorteggio)) { - logStr += ", invio annullamento"; - } else { - logStr += ", non invio annullamento perché sorteggiata"; - } - if (conformi.contains(intPraticaId)) { - logStr += ", conformità già inviata"; - } else { - logStr += ", invio conformità"; - } - esitoLog(esito, logStr); - annullatiB++; - break; - case "C": - Avviso valido = null; - avvisi = AvvisoLocalServiceUtil.findByIntPraticaId_tipoDocumento(intPraticaId, - StatoPraticaConstants.VIDIMATA); - for (Avviso presente : avvisi) { - if (presente.getPrimaryKey() != avviso.getPrimaryKey()) { - if ((presente.getPrimaryKey() <= avviso.getPrimaryKey()) - && (Validator.isNull(valido) || (valido.getPrimaryKey() > presente - .getPrimaryKey()))) { - valido = presente; - } - } - } - if (Validator.isNotNull(valido)) { - parameters.put("dataProtocolloValido", dfmt.format(valido.getDtProtocollo())); - parameters.put("numeroProtocolloValido", valido.getProtocollo()); - jsonParameters = jsonSerializer.serialize(parameters); - try { - AvvisoLocalServiceUtil.addAvviso(intPraticaId, descLongAnnullamento, - new Date(), AvvisoUtil.TIPO_AVVISO_DIRETTO, "MA", - templateAnnullamentoId, dettPratica.getPrimaryKey(), - DettPratica.class.getName(), StringPool.BLANK, jsonParameters, - controlloPraticaId, serviceContext); - } catch (PortalException e) { - esitoLog(esito, - "Errore nell'invio per pratica " + intPratica.getNumeroProgetto() - + ", " + e.getMessage()); - } - } - esitoLog(esito, "Pratica " + intPratica.getNumeroProgetto() + " (" + intPraticaId - + "), procedura " + intPratica.getTipoProcedura() + ", " + jsonParameters); - annullatiC++; - break; - } - } - } - } - _log.info(sbagliati.size() + " avvisi"); - _log.info("Procedura A = " + annullatiA); - _log.info("Procedura B = " + annullatiB); - _log.info("Procedura C = " + annullatiC); - _log.info("IntPratica non esistente = " + noIntPratica); - return esito; - } - - public static List pulisci2(ServiceContext serviceContext) { - List esito = new ArrayList<>(); - - try { - SingleVMPoolUtil.clear(); - MultiVMPoolUtil.clear(); - CacheRegistryUtil.clear(); - DirectServletRegistryUtil.clearServlets(); - // WebCachePoolUtil.clear(); - } catch (IllegalStateException e) { - } - - return esito; - } - - private static void esitoLog(List esito, String msg) { - _log.info(msg); - esito.add(msg); - } -}