diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpclient.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpclient.jar deleted file mode 100644 index 970c9891..00000000 Binary files a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpclient.jar and /dev/null differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/util-java.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/util-java.jar deleted file mode 100644 index 6b5d95f8..00000000 Binary files a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/util-java.jar and /dev/null differ 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 9618dc6a..eee9fc45 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 @@ -99,10 +99,6 @@ public class PuliziaDatabase { public static List pulisci2(ServiceContext serviceContext) { List esito = new ArrayList<>(); - esito.addAll(puliziaPreliminare()); - esito.addAll(puliziaDocumentLibrary()); - esito.addAll(svuotaDatabase(serviceContext)); - try { SingleVMPoolUtil.clear(); MultiVMPoolUtil.clear(); @@ -115,380 +111,6 @@ public class PuliziaDatabase { return esito; } - private static List puliziaPreliminare() { - List esito = new ArrayList<>(); - try { - Connection connection = DataAccess.getUpgradeOptimizedConnection(); - Statement s = connection.createStatement(); - int rows = s.executeUpdate("DELETE FROM portos_bo_intpratica WHERE intpraticaid IN (" - + "SELECT intpraticaid FROM portos_bo_intpratica i " - + "LEFT JOIN group_ g ON i.groupid=g.groupid WHERE g.groupid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da portos_bo_intpratica"); - rows = s.executeUpdate("DELETE FROM portos_bo_dettpratica WHERE dettpraticaid IN (" - + "SELECT dettpraticaid FROM portos_bo_dettpratica d " - + "LEFT JOIN portos_bo_intpratica i ON d.intpraticaid=i.intpraticaid " - + "WHERE i.intpraticaid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da portos_bo_dettpratica"); - rows = s.executeUpdate("DELETE FROM portos_bo_controllopratica WHERE controllopraticaid IN (" - + "SELECT controllopraticaid FROM portos_bo_controllopratica c " - + "LEFT JOIN portos_bo_intpratica i ON c.intpraticaid=i.intpraticaid " - + "WHERE i.intpraticaid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da portos_bo_controllopratica"); - rows = s.executeUpdate("DELETE FROM portos_bo_collaudo WHERE collaudoid IN (" - + "SELECT collaudoid FROM portos_bo_collaudo c " - + "LEFT JOIN portos_bo_intpratica i ON c.intpraticaid=i.intpraticaid " - + "WHERE i.intpraticaid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da portos_bo_collaudo"); - rows = s.executeUpdate("DELETE FROM portos_bo_delega WHERE delegaid IN (" - + "SELECT delegaid FROM portos_bo_delega d " - + "LEFT JOIN portos_bo_dettpratica dp ON d.dettpraticaid=dp.dettpraticaid " - + "WHERE dp.dettpraticaid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da portos_bo_delega"); - rows = s.executeUpdate("DELETE FROM portos_bo_finelavori WHERE finelavoriid IN (" - + "SELECT finelavoriid FROM portos_bo_finelavori f " - + "LEFT JOIN portos_bo_intpratica i ON f.intpraticaid=i.intpraticaid " - + "WHERE i.intpraticaid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da portos_bo_finelavori"); - rows = s.executeUpdate("DELETE FROM portos_bo_soggetto WHERE soggettoid IN (" - + "SELECT soggettoid FROM portos_bo_soggetto s " - + "LEFT JOIN portos_bo_dettpratica d ON s.dettpraticaid=d.dettpraticaid " - + "WHERE d.dettpraticaid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da portos_bo_soggetto"); - - int cancellati = 0; - int start = 0; - int totali = 0; - List docs = null; - do { - docs = DocAggiuntivaLocalServiceUtil.getDocAggiuntivas(start, start + SLICE); - int rimossi = 0; - for (DocAggiuntiva doc : docs) { - IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(doc.getIntPraticaId()); - DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(doc - .getDettPraticaId()); - if (Validator.isNull(intPratica) || Validator.isNull(dettPratica)) { - DocAggiuntivaLocalServiceUtil.deleteDocAggiuntiva(doc); - cancellati++; - rimossi++; - } - } - totali += docs.size(); - start += SLICE - rimossi; - } while (docs.size() > 0); - esitoLog(esito, "Analizzati " + totali + " DocAggiuntiva, cancellati " + cancellati); - - cancellati = 0; - start = 0; - totali = 0; - List docs2 = null; - do { - docs2 = DocPraticaLocalServiceUtil.getDocPraticas(start, start + SLICE); - int rimossi = 0; - for (DocPratica doc : docs2) { - boolean rimuovi = false; - if (Collaudo.class.getName().equals(doc.getClassName())) { - Collaudo collaudo = null; - try { - collaudo = CollaudoLocalServiceUtil.getCollaudo(doc.getClassPk()); - } catch (PortalException e) { - } - rimuovi = Validator.isNull(collaudo); - } else if (Delega.class.getName().equals(doc.getClassName())) { - Delega delega = null; - try { - delega = DelegaLocalServiceUtil.getDelega(doc.getClassPk()); - } catch (PortalException e) { - } - rimuovi = Validator.isNull(delega); - } else if (DettPratica.class.getName().equals(doc.getClassName())) { - DettPratica dettPratica = null; - try { - dettPratica = DettPraticaLocalServiceUtil.getDettPratica(doc.getClassPk()); - } catch (PortalException e) { - } - rimuovi = Validator.isNull(dettPratica); - } else if (FineLavori.class.getName().equals(doc.getClassName())) { - FineLavori fineLavori = null; - try { - fineLavori = FineLavoriLocalServiceUtil.getFineLavori(doc.getClassPk()); - } catch (PortalException e) { - } - rimuovi = Validator.isNull(fineLavori); - } else if (IntPratica.class.getName().equals(doc.getClassName())) { - IntPratica intPratica = null; - try { - intPratica = IntPraticaLocalServiceUtil.getIntPratica(doc.getClassPk()); - } catch (PortalException e) { - } - rimuovi = Validator.isNull(intPratica); - } else if (Soggetto.class.getName().equals(doc.getClassName())) { - Soggetto soggetto = null; - try { - soggetto = SoggettoLocalServiceUtil.getSoggetto(doc.getClassPk()); - } catch (PortalException e) { - } - rimuovi = Validator.isNull(soggetto); - } - if (rimuovi) { - DocPraticaLocalServiceUtil.deleteDocPratica(doc); - cancellati++; - rimossi++; - } - } - totali += docs2.size(); - start += SLICE - rimossi; - } while (docs2.size() > 0); - esitoLog(esito, "Analizzati " + totali + " DocPratica, cancellati " + cancellati); - } catch (PortalException | SQLException | SystemException e) { - esitoLog(esito, "Interrotto per errore: " + e.getMessage()); - } - return esito; - } - - private static List svuotaDatabase(ServiceContext serviceContext) { - List esito = new ArrayList<>(); - int rows = 0; - try { - Connection connection = DataAccess.getUpgradeOptimizedConnection(); - Statement s = connection.createStatement(); - - long controlloPraticaClassNameId = ClassNameLocalServiceUtil.getClassName( - ControlloPratica.class.getName()).getClassNameId(); - long dettPraticaClassNameId = ClassNameLocalServiceUtil.getClassName(DettPratica.class.getName()) - .getClassNameId(); - long ddmContentClassNameId = ClassNameLocalServiceUtil.getClassName(DDMContent.class.getName()) - .getClassNameId(); - long dlFileEntryClassNameId = ClassNameLocalServiceUtil.getClassName(DLFileEntry.class.getName()) - .getClassNameId(); - long dlFileEntryMetadataClassNameId = ClassNameLocalServiceUtil.getClassName( - DLFileEntryMetadata.class.getName()).getClassNameId(); - long dlFolderClassNameId = ClassNameLocalServiceUtil.getClassName(DLFolder.class.getName()) - .getClassNameId(); - long groupClassNameId = ClassNameLocalServiceUtil.getClassName(Group.class.getName()) - .getClassNameId(); - long mbDiscussionClassNameId = ClassNameLocalServiceUtil.getClassName( - MBDiscussion.class.getName()).getClassNameId(); - long organizationClassNameId = ClassNameLocalServiceUtil.getClassName( - Organization.class.getName()).getClassNameId(); - long userClassNameId = ClassNameLocalServiceUtil.getClassName(User.class.getName()) - .getClassNameId(); - - rows = s.executeUpdate("DELETE FROM portos_bo_avviso WHERE avvisoid IN (" - + "SELECT avvisoid FROM portos_bo_avviso a LEFT JOIN portos_bo_dettpratica d " - + "ON a.classpk=d.dettpraticaid WHERE classname='" + DettPratica.class.getName() - + "' AND d.dettpraticaid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da portos_bo_avviso"); - - rows = s.executeUpdate("DELETE FROM group_ WHERE groupid IN (SELECT groupid FROM group_ " - + "LEFT JOIN user_ ON group_.classpk=user_.userid WHERE classnameid=" + userClassNameId - + " AND user_.userid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da group_"); - - rows = s.executeUpdate("DELETE FROM contact_ WHERE contactid IN (" - + "SELECT c.contactid FROM contact_ c LEFT JOIN user_ u " - + "ON c.contactid=u.contactid WHERE u.userid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da contact_"); - - rows = s.executeUpdate("DELETE FROM usergroup WHERE usergroupid IN (" - + "SELECT usergroupid FROM usergroup g LEFT JOIN user_ u ON g.userid=u.userid " - + "WHERE u.userid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da usergroup"); - - rows = s.executeUpdate("DELETE FROM usergrouprole WHERE userid IN (" - + "SELECT DISTINCT x.userid FROM usergrouprole x " - + "LEFT JOIN user_ u ON x.userid=u.userid " + "WHERE u.userid IS NULL) OR groupid IN (" - + "SELECT DISTINCT x.groupid FROM usergrouprole x " - + "LEFT JOIN group_ g ON x.groupid=g.groupid " - + "WHERE g.groupid IS NULL) OR roleid IN (" - + "SELECT DISTINCT x.roleid FROM usergrouprole x " - + "LEFT JOIN role_ r ON x.roleid=r.roleid " + "WHERE r.roleid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da usergrouprole"); - - rows = s.executeUpdate("DELETE FROM ddmcontent WHERE contentid IN (" - + "SELECT contentid FROM ddmcontent LEFT JOIN dlfileentrymetadata " - + "ON ddmcontent.contentid=dlfileentrymetadata.ddmstorageid WHERE name='" - + DDMStorageLink.class.getName() - + "' AND dlfileentrymetadata.fileentrymetadataid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da ddmcontent"); - - rows = s.executeUpdate("DELETE FROM assetentry WHERE entryid IN (" - + "SELECT entryid FROM assetentry a LEFT JOIN dlfileentry b " - + "ON a.classpk=b.fileentryid WHERE a.classnameid=" + dlFileEntryClassNameId - + " AND b.fileentryid IS NULL)"); - rows += s.executeUpdate("DELETE FROM assetentry WHERE entryid IN (" - + "SELECT entryid FROM assetentry a LEFT JOIN dlfolder b ON a.classpk=b.folderid " - + "WHERE a.classnameid=" + dlFolderClassNameId + " AND b.folderid IS NULL)"); - rows += s.executeUpdate("DELETE FROM assetentry WHERE entryid IN (" - + "SELECT entryid FROM assetentry a LEFT JOIN group_ b ON a.classpk=b.groupid " - + "WHERE a.classnameid=" + groupClassNameId + " AND b.groupid IS NULL)"); - rows += s.executeUpdate("DELETE FROM assetentry WHERE entryid IN (" - + "SELECT entryid FROM assetentry a LEFT JOIN mbdiscussion b " - + "ON a.classpk=b.discussionid WHERE a.classnameid=" + mbDiscussionClassNameId - + " AND b.discussionid IS NULL)"); - rows += s.executeUpdate("DELETE FROM assetentry WHERE entryid IN (" - + "SELECT entryid FROM assetentry a LEFT JOIN organization_ b " - + "ON a.classpk=b.organizationid WHERE a.classnameid=" + organizationClassNameId - + " AND b.organizationid IS NULL)"); - rows += s.executeUpdate("DELETE FROM assetentry WHERE entryid IN (" - + "SELECT entryid FROM assetentry a LEFT JOIN portos_bo_controllopratica b " - + "ON a.classpk=b.controllopraticaid WHERE a.classnameid=" + controlloPraticaClassNameId - + " AND b.controllopraticaid IS NULL)"); - rows += s.executeUpdate("DELETE FROM assetentry WHERE entryid IN (" - + "SELECT entryid FROM assetentry a LEFT JOIN portos_bo_dettpratica b " - + "ON a.classpk=b.dettpraticaid WHERE a.classnameid=" + dettPraticaClassNameId - + " AND b.dettpraticaid IS NULL)"); - rows += s.executeUpdate("DELETE FROM assetentry WHERE entryid IN (" - + "SELECT entryid FROM assetentry a LEFT JOIN user_ b ON a.classpk=b.userid " - + "WHERE a.classnameid=" + userClassNameId + " AND b.userid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da assetentry"); - - rows = s.executeUpdate("DELETE FROM resourcepermission WHERE resourcepermissionid IN (" - + "SELECT resourcepermissionid FROM resourcepermission a LEFT JOIN dlfileentry b " - + "ON a.primkey=b.fileentryid::TEXT WHERE a.name='" + DLFileEntry.class.getName() - + "' AND b.fileentryid IS NULL)"); - rows += s.executeUpdate("DELETE FROM resourcepermission WHERE resourcepermissionid IN (" - + "SELECT resourcepermissionid FROM resourcepermission a LEFT JOIN dlfolder b " - + "ON a.primkey=b.folderid::TEXT WHERE a.name='" + DLFolder.class.getName() - + "' AND b.folderid IS NULL)"); - rows += s.executeUpdate("DELETE FROM resourcepermission WHERE resourcepermissionid IN (" - + "SELECT resourcepermissionid FROM resourcepermission a " - + "LEFT JOIN portos_bo_controllopratica b " - + "ON a.primkey=b.controllopraticaid::TEXT WHERE a.name='" - + ControlloPratica.class.getName() + "' AND b.controllopraticaid IS NULL)"); - rows += s.executeUpdate("DELETE FROM resourcepermission WHERE resourcepermissionid IN (" - + "SELECT resourcepermissionid FROM resourcepermission a LEFT JOIN user_ b " - + "ON a.primkey=b.userid::TEXT WHERE a.name='" + User.class.getName() - + "' AND b.userid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da resourcepermission"); - - rows = s.executeUpdate("DELETE FROM syncdlobject WHERE syncdlobjectid IN (" - + "SELECT syncdlobjectid FROM syncdlobject LEFT JOIN dlfileentry " - + "ON syncdlobject.typepk=dlfileentry.fileentryid WHERE type_='" - + DLSyncConstants.TYPE_FILE + "' AND dlfileentry.fileentryid IS NULL)"); - rows += s.executeUpdate("DELETE FROM syncdlobject WHERE syncdlobjectid IN (" - + "SELECT syncdlobjectid FROM syncdlobject LEFT JOIN dlfolder " - + "ON syncdlobject.typepk=dlfolder.folderid WHERE type_='" + DLSyncConstants.TYPE_FOLDER - + "' AND dlfolder.folderid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da syncdlobject"); - - rows = s.executeUpdate("DELETE FROM ratingsstats WHERE statsid IN (" - + "SELECT statsid FROM ratingsstats a LEFT JOIN dlfileentry b " - + "ON a.classpk=b.fileentryid WHERE a.classnameid=" + dlFileEntryClassNameId - + " AND b.fileentryid IS NULL)"); - rows += s.executeUpdate("DELETE FROM ratingsstats WHERE statsid IN (" - + "SELECT statsid FROM ratingsstats a LEFT JOIN dlfolder b " - + "ON a.classpk=b.folderid WHERE a.classnameid=" + dlFolderClassNameId - + " AND b.folderid IS NULL)"); - rows += s.executeUpdate("DELETE FROM ratingsstats WHERE statsid IN (" - + "SELECT statsid FROM ratingsstats a LEFT JOIN portos_bo_controllopratica b " - + "ON a.classpk=b.controllopraticaid WHERE a.classnameid=" + controlloPraticaClassNameId - + " AND b.controllopraticaid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da ratingsstats"); - - rows = s.executeUpdate("DELETE FROM mbmessage WHERE messageid IN (" - + "SELECT messageid FROM mbmessage a LEFT JOIN dlfileentry b " - + "ON a.classpk=b.fileentryid WHERE a.classnameid=" + dlFileEntryClassNameId - + " AND b.fileentryid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da mbmessage"); - - rows = s.executeUpdate("DELETE FROM mbdiscussion WHERE discussionid IN (" - + "SELECT discussionid FROM mbdiscussion a LEFT JOIN dlfileentry b " - + "ON a.classpk=b.fileentryid WHERE a.classnameid=" + dlFileEntryClassNameId - + " AND b.fileentryid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da mbdiscussion"); - - rows = s.executeUpdate("DELETE FROM mbthread WHERE threadid IN (" - + "SELECT DISTINCT mbthread.threadid FROM mbthread LEFT JOIN mbmessage " - + "ON mbthread.threadid=mbmessage.threadid WHERE mbmessage.messageid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da mbthread"); - - rows = s.executeUpdate("DELETE FROM dlfileentrymetadata WHERE fileentrymetadataid IN (" - + "SELECT fileentrymetadataid FROM dlfileentrymetadata a LEFT JOIN dlfileentry b " - + "ON a.fileentryid=b.fileentryid WHERE b.fileentryid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da dlfileentrymetadata"); - - rows = s.executeUpdate("DELETE FROM ddmstructurelink WHERE structurelinkid IN (" - + "SELECT structurelinkid FROM ddmstructurelink a LEFT JOIN dlfileentrymetadata b " - + "ON a.classpk=b.fileentrymetadataid WHERE a.classnameid=" - + dlFileEntryMetadataClassNameId + " AND b.fileentrymetadataid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da ddmstructurelink"); - - rows = s.executeUpdate("DELETE FROM ddmstoragelink WHERE storagelinkid IN (" - + "SELECT storagelinkid FROM ddmstoragelink a LEFT JOIN ddmcontent b " - + "ON a.classpk=b.contentid WHERE a.classnameid=" + ddmContentClassNameId - + " AND b.contentid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da ddmstoragelink"); - - rows = s.executeUpdate("DELETE FROM socialactivity WHERE activityid IN (" - + "SELECT activityid FROM socialactivity a LEFT JOIN dlfileentry b " - + "ON a.classpk=b.fileentryid WHERE a.classnameid=" + dlFileEntryClassNameId - + " AND b.fileentryid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da socialactivity"); - - rows = s.executeUpdate("DELETE FROM systemevent WHERE systemeventid IN (" - + "SELECT systemeventid FROM systemevent a LEFT JOIN dlfileentry b " - + "ON a.classpk=b.fileentryid WHERE a.classnameid=" + dlFileEntryClassNameId - + " AND b.fileentryid IS NULL)"); - rows += s.executeUpdate("DELETE FROM systemevent WHERE systemeventid IN (" - + "SELECT systemeventid FROM systemevent a LEFT JOIN dlfolder b " - + "ON a.classpk=b.folderid WHERE a.classnameid=" + dlFolderClassNameId - + " AND b.folderid IS NULL)"); - rows += s.executeUpdate("DELETE FROM systemevent WHERE systemeventid IN (" - + "SELECT systemeventid FROM systemevent a LEFT JOIN portos_bo_controllopratica b " - + "ON a.classpk=b.controllopraticaid WHERE a.classnameid=" + controlloPraticaClassNameId - + " AND b.controllopraticaid IS NULL)"); - rows += s.executeUpdate("DELETE FROM systemevent WHERE systemeventid IN (" - + "SELECT systemeventid FROM systemevent a LEFT JOIN portos_bo_dettpratica b " - + "ON a.classpk=b.dettpraticaid WHERE a.classnameid=" + dettPraticaClassNameId - + " AND b.dettpraticaid IS NULL)"); - esitoLog(esito, "Cancellate " + rows + " righe da systemevent"); - } catch (SQLException | SystemException e) { - esitoLog(esito, "Interrotto per errore: " + e.getMessage()); - } - return esito; - } - - private static List puliziaDocumentLibrary() { - List esito = new ArrayList<>(); - - try { - int cancellati = 0; - int start = 0; - int totali = 0; - List folders; - do { - folders = DLFolderLocalServiceUtil.getDLFolders(start, start + SLICE); - int rimossi = 0; - totali += folders.size(); - for (DLFolder folder : folders) { - DLFolder parent = folder.getParentFolder(); - if (Validator.isNotNull(parent)) { - switch (parent.getName()) { - case "Allegati": - long[] ids = StringUtil.split(folder.getName(), "_", 0L); - if ((ids.length == 2) && (ids[0] == ids[1])) { - try { - DettPraticaLocalServiceUtil.getDettPratica(ids[0]); - } catch (PortalException e) { - _log.info("Cancello la cartella " + folder.getName()); - cancellati++; - rimossi++; - DLAppLocalServiceUtil.deleteFolder(folder.getFolderId()); - } - } - break; - } - } - } - start += folders.size() - rimossi; - } while (folders.size() > 0); - esitoLog(esito, "Analizzate " + totali + " cartelle, cancellate " + cancellati); - } catch (PortalException | SystemException e) { - esitoLog(esito, "Errore durante l'elaborazione. " + e.getMessage()); - } - return esito; - } - private static void esitoLog(List esito, String msg) { _log.info(msg); esito.add(msg); 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 d8ec6a0a..eb9761e6 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 @@ -435,25 +435,39 @@ public class SismicaUtil { esito.add("Errore caricamento intPratiche: " + e.getMessage()); } start += SLICE; - List avvisi = null; for (IntPratica pratica : pratiche) { + List avvisi = null; + List totali = null; String stato = pratica.getStatoPratica(); if (Validator.isNotNull(stato) && Validator.isNotNull(pratica.getTipoProcedura()) && pratica.getTipoPratica().equalsIgnoreCase(Constants.TIPO_PRATICA_DEPOSITO)) { + + // Dettaglio pratica + DettPratica dettPratica = null; try { - avvisi = AvvisoLocalServiceUtil.findByIntPraticaId_tipoDocumento( - pratica.getIntPraticaId(), StatoPraticaConstants.CONFORME); - } catch (SystemException e) { - esito.add("Errore caricamento avvisi: " + e.getMessage()); - } - List totali = null; - try { - totali = AvvisoLocalServiceUtil.findByIntPratica(pratica.getIntPraticaId(), - QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); + dettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(pratica + .getIntPraticaId()); } catch (SystemException e) { - totali = new ArrayList<>(); } - if ((avvisi.size() == 0) && stato.equalsIgnoreCase(StatoPraticaConstants.VIDIMATA)) { + + if (Validator.isNotNull(dettPratica)) { + // Avvisi conformi + try { + avvisi = AvvisoLocalServiceUtil.findByIntPraticaId_tipoDocumento( + pratica.getIntPraticaId(), StatoPraticaConstants.CONFORME); + } catch (SystemException e) { + avvisi = new ArrayList<>(); + } + + // Tutti gli avvisi + try { + totali = AvvisoLocalServiceUtil.findByIntPratica(pratica.getIntPraticaId(), + QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); + } catch (SystemException e) { + totali = new ArrayList<>(); + } + + // Controllo pratica List controlli = null; try { controlli = ControlloPraticaLocalServiceUtil.findByIntPratica(pratica @@ -461,68 +475,67 @@ public class SismicaUtil { } catch (SystemException e) { controlli = new ArrayList<>(); } - if (pratica.getStatoPratica().equals(StatoPraticaConstants.VIDIMATA) - && (controlli.size() == 0)) { - esito.add("Progetto: " + pratica.getNumeroProgetto() + " (" - + pratica.getIntPraticaId() + "), procedura=" - + pratica.getTipoProcedura() + ", avvisi=" + totali.size() + ", stato=" - + pratica.getStatoPratica() + ", controlli=" + controlli.size()); - - DettPratica dettPratica; - try { - dettPratica = DettPraticaLocalServiceUtil - .getLastCompletedByIntPratica(pratica.getIntPraticaId()); - } catch (SystemException e) { - dettPratica = null; - } + ControlloPratica controllo = null; + if (controlli.size() > 0) { + controllo = controlli.get(controlli.size() - 1); + } + + if ((avvisi.size() == 0 && stato.equalsIgnoreCase(StatoPraticaConstants.VIDIMATA)) + || (totali.size() <= 1 && stato + .equalsIgnoreCase(StatoPraticaConstants.CONFORME))) { - if (Validator.isNotNull(dettPratica)) { - ServiceContext serviceContext = new ServiceContext(); - serviceContext.setCompanyId(dettPratica.getCompanyId()); - serviceContext.setScopeGroupId(dettPratica.getGroupId()); - serviceContext.setUserId(dettPratica.getUserId()); + _log.info("Pratica " + pratica.getNumeroProgetto() + "avvisi.size() = " + + avvisi.size() + ", stato = " + stato); + ServiceContext serviceContext = new ServiceContext(); + serviceContext.setCompanyId(dettPratica.getCompanyId()); + serviceContext.setScopeGroupId(dettPratica.getGroupId()); + serviceContext.setUserId(dettPratica.getUserId()); + + if (Validator.isNull(controllo)) { + esito.add("Progetto: " + pratica.getNumeroProgetto() + " (" + + pratica.getIntPraticaId() + "), procedura=" + + pratica.getTipoProcedura() + ", avvisi=" + totali.size() + + ", stato=" + pratica.getStatoPratica() + ", controlli=" + + controlli.size()); - ControlloPratica controllo; try { controllo = ControlloPraticaLocalServiceUtil.addControlloPratica( dettPratica.getGroupId(), dettPratica.getUserId(), pratica.getIntPraticaId(), dettPratica.getDettPraticaId(), false, serviceContext); } catch (PortalException | SystemException e) { - controllo = null; } - if (Validator.isNotNull(controllo)) { - controllo.setStatus(WorkflowConstants.STATUS_APPROVED); - try { - ControlloPraticaLocalServiceUtil.updateControlloPratica(controllo); - } catch (SystemException e) { - } + } + if (Validator.isNotNull(controllo)) { + controllo.setStatus(WorkflowConstants.STATUS_APPROVED); + try { + ControlloPraticaLocalServiceUtil.updateControlloPratica(controllo); + } catch (SystemException e) { + } - long fileEntryIdTemplate; - try { - fileEntryIdTemplate = ConfigurazioneLocalServiceUtil - .findByC_ChiaveLong(companyId, - "conf.geniocivile.avviso.template.id.deposito.B2"); - } catch (SystemException e) { - fileEntryIdTemplate = 0; - } + long fileEntryIdTemplate; + try { + fileEntryIdTemplate = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong( + companyId, "conf.geniocivile.avviso.template.id.deposito.B2"); + } catch (SystemException e) { + fileEntryIdTemplate = 0; + } - if (Validator.isNotNull(fileEntryIdTemplate)) { - try { - if (!pratica.getTipoProcedura().equalsIgnoreCase( - Constants.PROCEDURA_C)) { - AvvisoLocalServiceUtil.addAvviso(pratica.getIntPraticaId(), - "Attestazione di deposito progetto", new Date(), - AvvisoUtil.TIPO_AVVISO_DIRETTO, - StatoPraticaConstants.CONFORME, fileEntryIdTemplate, - dettPratica.getDettPraticaId(), - DettPratica.class.getName(), - controllo.getControlloPraticaId(), serviceContext); - } - pratica.setStatoPratica(StatoPraticaConstants.CONFORME); - IntPraticaLocalServiceUtil.updateIntPratica(pratica); - } catch (PortalException | SystemException e) { + if (Validator.isNotNull(fileEntryIdTemplate)) { + try { + if (!pratica.getTipoProcedura().equalsIgnoreCase( + Constants.PROCEDURA_C)) { + AvvisoLocalServiceUtil.addAvviso(pratica.getIntPraticaId(), + "Attestazione di deposito progetto", new Date(), + AvvisoUtil.TIPO_AVVISO_DIRETTO, + StatoPraticaConstants.CONFORME, fileEntryIdTemplate, + dettPratica.getDettPraticaId(), + DettPratica.class.getName(), + controllo.getControlloPraticaId(), serviceContext); } + pratica.setStatoPratica(StatoPraticaConstants.CONFORME); + IntPraticaLocalServiceUtil.updateIntPratica(pratica); + } catch (PortalException | SystemException e) { } } }