|
|
|
@ -48,13 +48,13 @@ import it.tref.liferay.portos.bo.service.persistence.IntPraticaActionableDynamic
|
|
|
|
|
import it.tref.liferay.portos.bo.service.persistence.IntPraticaFinderUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.shared.bean.FirmeBean; |
|
|
|
|
import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; |
|
|
|
|
import it.tref.liferay.portos.bo.shared.util.DocumentiPraticaUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.shared.util.FascicoloURLUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.shared.util.FirmeUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.shared.util.StatoPraticaConstants; |
|
|
|
|
import it.tref.liferay.portos.bo.util.AvvisoUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.util.AzioniPraticheUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.util.Constants; |
|
|
|
|
import it.tref.liferay.portos.bo.util.DocumentiPraticaUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.util.MailUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.util.PraticaUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.util.WorkflowConstants; |
|
|
|
@ -120,6 +120,8 @@ import com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil;
|
|
|
|
|
import com.liferay.portal.kernel.workflow.WorkflowInstance; |
|
|
|
|
import com.liferay.portal.kernel.workflow.WorkflowTask; |
|
|
|
|
import com.liferay.portal.model.Company; |
|
|
|
|
import com.liferay.portal.model.Group; |
|
|
|
|
import com.liferay.portal.model.Organization; |
|
|
|
|
import com.liferay.portal.model.Role; |
|
|
|
|
import com.liferay.portal.model.User; |
|
|
|
|
import com.liferay.portal.model.WorkflowInstanceLink; |
|
|
|
@ -144,6 +146,8 @@ import com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil;
|
|
|
|
|
import com.liferay.portlet.documentlibrary.service.DLFolderLocalServiceUtil; |
|
|
|
|
import com.liferay.portlet.dynamicdatamapping.model.DDMContent; |
|
|
|
|
import com.liferay.portlet.dynamicdatamapping.model.DDMStorageLink; |
|
|
|
|
import com.liferay.portlet.journal.model.JournalArticle; |
|
|
|
|
import com.liferay.portlet.journal.model.JournalFolder; |
|
|
|
|
import com.liferay.portlet.messageboards.model.MBDiscussion; |
|
|
|
|
import com.liferay.portlet.social.model.SocialActivity; |
|
|
|
|
|
|
|
|
@ -357,21 +361,44 @@ public class IntPraticaLocalServiceImpl extends IntPraticaLocalServiceBaseImpl {
|
|
|
|
|
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 dlFileEntryClassNameId = ClassNameLocalServiceUtil.getClassName(DLFileEntry.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(); |
|
|
|
|
esito.add("User: " + userClassNameId); |
|
|
|
|
|
|
|
|
|
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 (" |
|
|
|
@ -382,6 +409,103 @@ public class IntPraticaLocalServiceImpl extends IntPraticaLocalServiceBaseImpl {
|
|
|
|
|
+ "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"); |
|
|
|
|
} catch (SQLException | SystemException e) { |
|
|
|
|
esitoLog(esito, "Interrotto per errore: " + e.getMessage()); |
|
|
|
|
} |
|
|
|
|