diff --git a/.gitignore b/.gitignore index 3c17794e..86a181dc 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/.classpath liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/.project liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/.tern-project *.MD5 +service-classes diff --git a/liferay-plugins-sdk-6.2/dist/portos-bo-shared-6.2.0.1.jar b/liferay-plugins-sdk-6.2/dist/portos-bo-shared-6.2.0.1.jar index 88c1eae5..f8e54d4a 100644 Binary files a/liferay-plugins-sdk-6.2/dist/portos-bo-shared-6.2.0.1.jar and b/liferay-plugins-sdk-6.2/dist/portos-bo-shared-6.2.0.1.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/build.xml b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/build.xml index 56358cc2..a419fc91 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/build.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/build.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/itext-xtra-5.5.9.jar b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/itext-xtra-5.5.9.jar new file mode 100644 index 00000000..82ceee0c Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/itext-xtra-5.5.9.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/itextpdf-5.5.9.jar b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/itextpdf-5.5.9.jar new file mode 100644 index 00000000..e622bdf9 Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/itextpdf-5.5.9.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/portos-bo-shared.jar b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/portos-bo-shared.jar new file mode 100644 index 00000000..f8e54d4a Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/portos-bo-shared.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/portos-report-shared.jar b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/portos-report-shared.jar new file mode 100644 index 00000000..3e51861b Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/portos-report-shared.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/velocity.jar b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/velocity.jar new file mode 100644 index 00000000..e7151c5c Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/velocity.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/xmlworker-5.5.9.jar b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/xmlworker-5.5.9.jar new file mode 100644 index 00000000..1bc4fe07 Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/lib/xmlworker-5.5.9.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/src/it/nextmind/liferay/portos/advanced/operation/portlet/AdvancedOperationPortlet.java b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/src/it/nextmind/liferay/portos/advanced/operation/portlet/AdvancedOperationPortlet.java index 80c5a05a..7f38ad90 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/src/it/nextmind/liferay/portos/advanced/operation/portlet/AdvancedOperationPortlet.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/src/it/nextmind/liferay/portos/advanced/operation/portlet/AdvancedOperationPortlet.java @@ -5,26 +5,30 @@ 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.servlet.SessionErrors; +import com.liferay.portal.kernel.util.ArrayUtil; +import com.liferay.portal.kernel.util.DateFormatFactoryUtil; import com.liferay.portal.kernel.util.ParamUtil; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.kernel.util.WebKeys; import com.liferay.portal.kernel.workflow.WorkflowConstants; -import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.theme.ThemeDisplay; import com.liferay.portal.util.PortalUtil; import com.liferay.util.bridges.mvc.MVCPortlet; -import java.util.Date; -import java.util.List; - import it.nextmind.liferay.portos.advanced.operation.util.AdvancedOperationUtil; +import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.DocPratica; import it.tref.liferay.portos.bo.model.IntPratica; +import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.DocPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; @@ -32,20 +36,62 @@ public class AdvancedOperationPortlet extends MVCPortlet { private static final Log _log = LogFactoryUtil.getLog(AdvancedOperationPortlet.class); - public void cambiaDataInizioLavori(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ + public void deleteControlloPratica(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ + + _checkIfUserIsCompanyAdmin(actionRequest); + + long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0L); + if (intPraticaId != 0L) { + List controlloPraticaList = + ControlloPraticaLocalServiceUtil.findByIntPratica(intPraticaId); + if(_log.isDebugEnabled()){ + _log.debug("AdvancedOperationPortlet --- There are " + controlloPraticaList.size() +" ControlloPratica"); + } + for(ControlloPratica cp : controlloPraticaList){ + if(_log.isDebugEnabled()){ + _log.debug("AdvancedOperationPortlet --- Cycling... ControlloPraticaID " + cp.getCompanyId() + + " Status " + cp.getStatus()); + } + if(ArrayUtil.contains(AdvancedOperationUtil.STATUS_ARRAY, cp.getStatus())){ + _log.info("AdvancedOperationPortlet --- Deleting ControlloPratica " + cp.getControlloPraticaId() + + " with Status " + cp.getStatus() +" of IntPraticaId " + intPraticaId); + ControlloPraticaLocalServiceUtil.deleteControlloPratica(cp); + } + } + } + actionResponse.setRenderParameter("intPraticaId", String.valueOf(intPraticaId)); + } + + public void reindexPratica(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ + + _checkIfUserIsCompanyAdmin(actionRequest); + ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); + + long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0L); + if (intPraticaId != 0L) { + _log.info("AdvancedOperationPortlet --- Reindexing fascicolo of IntPraticaId " + intPraticaId); + IntPraticaLocalServiceUtil.reIndexFasciolo(intPraticaId, themeDisplay.getCompanyId()); + } + actionResponse.setRenderParameter("intPraticaId", String.valueOf(intPraticaId)); + } + + public void cambiaDataInizioLavori(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ + _checkIfUserIsCompanyAdmin(actionRequest); long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", -1L); - Date dataInizioLavoriOpera = ParamUtil.getDate(actionRequest, "dataInizioLavoriOperaInput", null); + Date dataInizioLavoriOpera = ParamUtil.getDate(actionRequest, "dataInizioLavoriOperaInput", + DateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd"), null); IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); - + _log.info("AdvancedOperationPortlet --- Changing DataInizioLavori on DettPraticas of IntPraticaId" + intPraticaId); List dettPraticaListWithInizioLavori = AdvancedOperationUtil.fetchDettPraticaListWithInizioLavori(intPratica); for(DettPratica dettPratica : dettPraticaListWithInizioLavori){ dettPratica.setDataInizioLavoriOpera(dataInizioLavoriOpera); dettPratica.setModifiedDate(new Date()); DettPraticaLocalServiceUtil.updateDettPratica(dettPratica); } + actionResponse.setRenderParameter("intPraticaId", String.valueOf(intPraticaId)); } public void fixNormLavoriInProprio(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ @@ -56,6 +102,7 @@ public class AdvancedOperationPortlet extends MVCPortlet { boolean normLavoriInProprioFlag = ParamUtil.getBoolean(actionRequest, "normLavoriInProprioFlag"); List dettPraticaList = DettPraticaLocalServiceUtil.findByIntPraticaId(intPraticaId); + _log.info("AdvancedOperationPortlet --- Fixing NormLavoriInProprio flag of IntPraticaId " + intPraticaId); for(DettPratica dettPratica : dettPraticaList){ if(dettPratica.getNormLavoriInProprio() == normLavoriInProprioFlag){ dettPratica.setNormLavoriInProprio(!normLavoriInProprioFlag); @@ -63,16 +110,18 @@ public class AdvancedOperationPortlet extends MVCPortlet { DettPraticaLocalServiceUtil.updateDettPratica(dettPratica); } } + actionResponse.setRenderParameter("intPraticaId", String.valueOf(intPraticaId)); } - + public void fixCollaudoStatico(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ - + _checkIfUserIsCompanyAdmin(actionRequest); - + long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", -1L); boolean collaudoStaticoFlag = ParamUtil.getBoolean(actionRequest, "collaudoStaticoFlag"); - + List dettPraticaList = DettPraticaLocalServiceUtil.findByIntPraticaId(intPraticaId); + _log.info("AdvancedOperationPortlet --- Fixing CollaudoStatico flag of IntPraticaId " + intPraticaId); for(DettPratica dettPratica : dettPraticaList){ if(dettPratica.getCollaudoStatico() == collaudoStaticoFlag){ dettPratica.setCollaudoStatico(!collaudoStaticoFlag); @@ -80,22 +129,28 @@ public class AdvancedOperationPortlet extends MVCPortlet { DettPraticaLocalServiceUtil.updateDettPratica(dettPratica); } } + actionResponse.setRenderParameter("intPraticaId", String.valueOf(intPraticaId)); } public void fixStatusPratica(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ - + _checkIfUserIsCompanyAdmin(actionRequest); long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", -1L); IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); if(WorkflowConstants.STATUS_DRAFT == intPratica.getStatus()){ + _log.info("AdvancedOperationPortlet --- Fixing StatusPratica (From DRAFT to PENDING) " + + "of IntPraticaId " + intPraticaId); intPratica.setStatus(WorkflowConstants.STATUS_PENDING); intPratica.setModifiedDate(new Date()); IntPraticaLocalServiceUtil.updateIntPratica(intPratica); } else { + _log.info("AdvancedOperationPortlet --- Impossible operation: Fixing StatusPratica (From DRAFT to PENDING) " + + "of IntPraticaId " + intPraticaId); SessionErrors.add(actionRequest, "operazione-impossibile"); } + actionResponse.setRenderParameter("intPraticaId", String.valueOf(intPraticaId)); } public void ripristinaPraticaVidimata(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ @@ -106,11 +161,14 @@ public class AdvancedOperationPortlet extends MVCPortlet { IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); if(WorkflowConstants.STATUS_INCOMPLETE == intPratica.getStatus()){ + _log.info("AdvancedOperationPortlet --- Recovering Pratica Vidimata (INCOMPLETE ==> DRAFT) " + + "with IntPraticaId " + intPraticaId); _ripristinaPratica(intPratica, WorkflowConstants.STATUS_DRAFT); } else { SessionErrors.add(actionRequest, "operazione-impossibile"); throw new Exception("This Pratica is not in status=5, action RIPRISTINA is not available"); } + actionResponse.setRenderParameter("intPraticaId", String.valueOf(intPraticaId)); } public void ripristinaPraticaConforme(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ @@ -121,11 +179,14 @@ public class AdvancedOperationPortlet extends MVCPortlet { IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); if(WorkflowConstants.STATUS_INCOMPLETE == intPratica.getStatus()){ + _log.info("AdvancedOperationPortlet --- Recovering Pratica Vidimata (INCOMPLETE ==> APPROVED) " + + "with IntPraticaId " + intPraticaId); _ripristinaPratica(intPratica, WorkflowConstants.STATUS_APPROVED); } else { SessionErrors.add(actionRequest, "operazione-impossibile"); throw new Exception("This Pratica is not in status=5, action RIPRISTINA is not available"); } + actionResponse.setRenderParameter("intPraticaId", String.valueOf(intPraticaId)); } public void deleteDocPratica(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ @@ -135,9 +196,14 @@ public class AdvancedOperationPortlet extends MVCPortlet { long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", -1L); List docPraticaOrfani = AdvancedOperationUtil.getDocPraticaOrfani(intPraticaId); + _log.info("AdvancedOperationPortlet --- Deleting Documenti Orfani " + + "of IntPraticaId " + intPraticaId); for(DocPratica docPratica : docPraticaOrfani){ + _log.info("AdvancedOperationPortlet --- Deleting Documento Orfan " + docPratica.getDocPraticaId() + + " of IntPraticaId " + intPraticaId); DocPraticaLocalServiceUtil.deleteDocPratica(docPratica); } + actionResponse.setRenderParameter("intPraticaId", String.valueOf(intPraticaId)); } public void findIntPratica(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception{ @@ -160,7 +226,7 @@ public class AdvancedOperationPortlet extends MVCPortlet { PortalUtil.copyRequestParameters(actionRequest, actionResponse); } } - + private void _checkIfUserIsCompanyAdmin(ActionRequest actionRequest) throws Exception{ ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); if(!PortalUtil.isCompanyAdmin(themeDisplay.getUser())){ @@ -168,11 +234,11 @@ public class AdvancedOperationPortlet extends MVCPortlet { throw new Exception("Action permitted to CompanyAdmins only"); } } - + private void _ripristinaPratica(IntPratica intPratica, int status) throws PortalException, SystemException{ long docPraticaAnnullamentoId = intPratica.getDocPraticaAnnullamentoId(); IntPraticaLocalServiceUtil.deleteFileAnnullamento(docPraticaAnnullamentoId); IntPraticaLocalServiceUtil.updateStatus(intPratica.getIntPraticaId(), status); } - + } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/src/it/nextmind/liferay/portos/advanced/operation/util/AdvancedOperationUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/src/it/nextmind/liferay/portos/advanced/operation/util/AdvancedOperationUtil.java index 22532f30..0a2bc33b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/src/it/nextmind/liferay/portos/advanced/operation/util/AdvancedOperationUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/WEB-INF/src/it/nextmind/liferay/portos/advanced/operation/util/AdvancedOperationUtil.java @@ -1,18 +1,28 @@ package it.nextmind.liferay.portos.advanced.operation.util; import com.liferay.portal.kernel.dao.orm.DynamicQuery; +import com.liferay.portal.kernel.dao.orm.QueryUtil; import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil; +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.util.Validator; import com.liferay.portal.kernel.workflow.WorkflowConstants; +import com.liferay.portal.kernel.workflow.WorkflowTask; +import com.liferay.portal.kernel.workflow.WorkflowTaskManagerUtil; +import com.liferay.portal.model.WorkflowInstanceLink; +import com.liferay.portal.service.WorkflowInstanceLinkLocalServiceUtil; +import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.DocPratica; import it.tref.liferay.portos.bo.model.IntPratica; +import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.DocPraticaLocalServiceUtil; +import it.tref.liferay.portos.bo.shared.util.Constants; +import it.tref.liferay.portos.bo.shared.util.StatoPraticaConstants; import java.util.ArrayList; import java.util.Date; @@ -20,21 +30,88 @@ import java.util.List; public class AdvancedOperationUtil { + public static final int[] STATUS_ARRAY = + {WorkflowConstants.STATUS_DRAFT, WorkflowConstants.STATUS_INACTIVE, WorkflowConstants.STATUS_PENDING}; + public static boolean isNotWorkflowManuallyStarted(IntPratica intPratica){ + switch (intPratica.getStatoPratica()) { + case StatoPraticaConstants.VIDIMATA : + case StatoPraticaConstants.AUTORIZZATA: + case StatoPraticaConstants.CONFORME: + return true; + default: + return false; + } + } + + public static boolean hasControlloPratica_ProceduraC(IntPratica intPratica){ + if(Constants.PROCEDURA_C.equalsIgnoreCase(intPratica.getTipoProcedura())){ + try{ + long intPraticaId = intPratica.getIntPraticaId(); + for(int i : STATUS_ARRAY){ + List controlloPraticas = + ControlloPraticaLocalServiceUtil.findByIntPraticaId_Status(intPraticaId, i); + if(!controlloPraticas.isEmpty()){ + return true; + } + } + } catch (SystemException e){ + _log.error(e,e); + return false; + } + } + return false; + } + public static List getListaTask(IntPratica intPratica) { + if(Validator.isNull(intPratica)){ + return null; + } + try { + ControlloPratica controlloPratica = null; + List controlloPraticaList = + ControlloPraticaLocalServiceUtil.findByIntPraticaId_Status(intPratica.getIntPraticaId(), intPratica.getStatus()); + if(controlloPraticaList.size() > 1){ + for(ControlloPratica cp : controlloPraticaList){ + if(Validator.isNull(controlloPratica) || cp.getCreateDate().after(controlloPratica.getCreateDate())) { + controlloPratica = cp; + } + } + } else if(controlloPraticaList.size() == 1){ + controlloPratica = controlloPraticaList.get(0); + } else { + return null; + } + WorkflowInstanceLink workflowInstanceLink = WorkflowInstanceLinkLocalServiceUtil.fetchWorkflowInstanceLink( + controlloPratica.getCompanyId(),controlloPratica.getGroupId(), ControlloPratica.class.getName(), + controlloPratica.getPrimaryKey()); + List listaTask = null; + if (workflowInstanceLink == null) { + return null; + } else { + return listaTask = WorkflowTaskManagerUtil.getWorkflowTasksByWorkflowInstance(controlloPratica.getCompanyId(), null, + workflowInstanceLink.getWorkflowInstanceId(), false, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); + } + } catch (SystemException | PortalException e){ + _log.error(e,e); + return null; + } + } + public static boolean isPraticaAnnullata(IntPratica intPratica){ if(Validator.isNotNull(intPratica)){ return WorkflowConstants.STATUS_INACTIVE == intPratica.getStatus(); } return false; } - + public static List getDocPraticaOrfani(long intPraticaId){ List docPraticaOrfaniList = new ArrayList(); try { List docPraticaList = DocPraticaLocalServiceUtil.findByIntPratica(intPraticaId); for(DocPratica docPratica : docPraticaList){ - if(Validator.isNull(DettPraticaLocalServiceUtil.fetchDettPratica(docPratica.getClassPk()))){ + if(Validator.isNull(DettPraticaLocalServiceUtil.fetchDettPratica(docPratica.getClassPk())) + && DettPratica.class.getName().equals(docPratica.getClassName())){ docPraticaOrfaniList.add(docPratica); } } @@ -43,12 +120,12 @@ public class AdvancedOperationUtil { } return docPraticaOrfaniList; } - + public static boolean hasDettPratica(long intPraticaId){ - + return !_getDettPraticaList(intPraticaId).isEmpty(); } - + public static boolean getNormLavoriInProprioFlag(long intPraticaId){ List dettPraticaList = _getDettPraticaList(intPraticaId); if(!dettPraticaList.isEmpty()){ @@ -56,7 +133,7 @@ public class AdvancedOperationUtil { } return false; } - + public static boolean getCollaudoStaticoFlag(long intPraticaId){ List dettPraticaList = _getDettPraticaList(intPraticaId); if(!dettPraticaList.isEmpty()){ @@ -64,22 +141,22 @@ public class AdvancedOperationUtil { } return false; } - + public static String getLavoriInEconomiaBtnLabel(boolean normLavoriInProprioFlag){ return normLavoriInProprioFlag ? "Rimuovi flag normLavoriInProprio" : "Aggiungi flag normLavoriInProprio"; } - + public static String getCollaudoStaticoBtnLabel(boolean collaudoStaticoFlag){ return collaudoStaticoFlag ? "Rimuovi flag collaudoStatico" : "Aggiungi flag collaudoStatico"; } - + public static boolean isStatoPraticaIN(IntPratica intPratica){ if(Validator.isNotNull(intPratica)){ return "IN".equals(intPratica.getStatoPratica()); } return false; } - + public static List fetchDettPraticaListWithInizioLavori(IntPratica intPratica){ if(Validator.isNotNull(intPratica)){ DynamicQuery dynamicQuery = DettPraticaLocalServiceUtil.dynamicQuery(); @@ -94,7 +171,7 @@ public class AdvancedOperationUtil { } return null; } - + public static Date fetchDataInizioLavoriOpera(IntPratica intPratica){ List dettPraticaListWithInizioLavori = fetchDettPraticaListWithInizioLavori(intPratica); if(!dettPraticaListWithInizioLavori.isEmpty()){ @@ -102,18 +179,18 @@ public class AdvancedOperationUtil { } return null; } - + private static List _getDettPraticaList(long intPraticaId){ List dettPraticaList = new ArrayList(); - + try { dettPraticaList = DettPraticaLocalServiceUtil.findByIntPraticaId(intPraticaId); } catch (SystemException e) { _log.error(e,e); } - + return dettPraticaList; } - + private static final Log _log = LogFactoryUtil.getLog(AdvancedOperationUtil.class); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/css/main.css b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/css/main.css index e69de29b..fc1d01e6 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/css/main.css +++ b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/css/main.css @@ -0,0 +1,10 @@ + + +.title-text{ + font-weight: bold; +} + + +#impersonaSoggettiBtn{ + cursor: pointer; +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/html/view.jsp b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/html/view.jsp index 1e17a73c..579a1c9f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/html/view.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-advanced-operation-portlet/docroot/html/view.jsp @@ -1,3 +1,25 @@ +<%@page import="com.liferay.portal.service.UserLocalServiceUtil"%> +<%@page import="com.liferay.portal.model.User"%> +<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%> +<%@page import="javax.portlet.PortletMode"%> +<%@page import="com.liferay.portal.util.PortletKeys"%> +<%@page import="javax.portlet.PortletRequest"%> +<%@page import="javax.portlet.PortletURL"%> +<%@page import="com.liferay.portal.model.Group"%> +<%@page import="com.liferay.portlet.PortletURLFactoryUtil"%> +<%@page import="com.liferay.portal.service.LayoutLocalServiceUtil"%> +<%@page import="com.liferay.portal.model.GroupConstants"%> +<%@page import="com.liferay.portal.service.GroupLocalServiceUtil"%> +<%@page import="it.tref.liferay.portos.bo.model.ControlloPratica"%> +<%@page import="it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil"%> +<%@page import="com.liferay.portal.service.WorkflowInstanceLinkLocalServiceUtil"%> +<%@page import="com.liferay.portal.model.WorkflowInstanceLink"%> +<%@page import="com.liferay.portal.kernel.workflow.WorkflowTask"%> +<%@page import="it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil"%> +<%@page import="it.tref.liferay.portos.bo.model.DettPratica"%> +<%@page import="it.tref.liferay.portos.bo.util.SoggettiUtil"%> +<%@page import="it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil"%> +<%@page import="com.liferay.portal.kernel.language.LanguageUtil"%> <%@page import="com.liferay.portal.kernel.util.DateFormatFactoryUtil"%> <%@page import="java.util.Date"%> <%@page import="com.liferay.portal.util.PortalUtil"%> @@ -66,282 +88,475 @@ - -

Pratica: <%= intPraticaId %> - -

- -

Numero Progetto: <%= intPratica.getNumeroProgetto() %>

-
- -

Username: <%= intPratica.getUserName() %>

-
- -

Tipo Pratica: <%= intPratica.getTipoPratica() %>

-
- -

ID Territorio: <%= intPratica.getTerritorioId() %>

-
-
- - -

Tipo Procedura: <%= intPratica.getTipoProcedura() %>

-
- -

Stato Pratica: <%= intPratica.getStatoPratica() %>

-
- -

Validata: <%= intPratica.getValidata() %>

-
- -

Esito Controllo: <%= intPratica.getEsitoControllo() %>

-
-
- - -

Status: <%= intPratica.getStatus() %>

-
-
- <% - Date dataInizioLavoriOpera = AdvancedOperationUtil.fetchDataInizioLavoriOpera(intPratica); - if(Validator.isNotNull(dataInizioLavoriOpera)){ - %> - - - - - - <% - String functionDataInizio = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"cambiaDataInizioLavori','Sei sicuro di voler modificare la DATA di INIZIO LAVORI?')"; - %> - -
- - -
+
+ + + +

Numero Progetto: <%= intPratica.getNumeroProgetto() %>

+
+ +

Username: <%= intPratica.getUserName() %>

+
+ +

Tipo Pratica: <%= intPratica.getTipoPratica() %>

+
+ +

ID Territorio: <%= intPratica.getTerritorioId() %>

+
+
+ + +

Tipo Procedura: <%= intPratica.getTipoProcedura() %>

+
+ +

Stato Pratica: <%= intPratica.getStatoPratica() %>

+
+ +

Validata: <%= intPratica.getValidata() %>

+
+ +

Esito Controllo: <%= intPratica.getEsitoControllo() %>

+
+
+ + +

Status: <%= intPratica.getStatus() %>

+
+
+ <% + Date dataInizioLavoriOpera = AdvancedOperationUtil.fetchDataInizioLavoriOpera(intPratica); + if(Validator.isNotNull(dataInizioLavoriOpera)){ + %> + + + + + + <% + String functionDataInizio = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"cambiaDataInizioLavori','Sei sicuro di voler modificare la DATA di INIZIO LAVORI?')"; + %> + +
+

Data inizio Lavori Opera:

+ + +
+ +
+
+
+
+ <% } %> + +
+ <% if(AdvancedOperationUtil.hasDettPratica(intPraticaId)){ + boolean normLavoriInProprioFlag = AdvancedOperationUtil.getNormLavoriInProprioFlag(intPraticaId); + %> +
+ + + + + + <% + String functionLavori = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"fixLavoriInEconomia','Sei sicuro di voler cambiare i flag LAVORI IN ECONOMIA di questa pratica?')"; + %> + + + +
+ <% } %> + + <% if(AdvancedOperationUtil.hasDettPratica(intPraticaId)){ + boolean collaudoStaticoFlag = AdvancedOperationUtil.getCollaudoStaticoFlag(intPraticaId); + %> +
+ + + + + + <% + String functionCollaudoStatico = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"fixCollaudoStatico','Sei sicuro di voler cambiare i flag COLLAUDO STATICO di questa pratica?')"; + %> + + + +
+ <% } %> + + <% if(AdvancedOperationUtil.isStatoPraticaIN(intPratica)){ %> +
+ + + + + <% + String functionStatus = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"fixStatusPratica','Sei sicuro di voler modificare lo status di questa pratica?')"; + %> + + + + +
+ <% } %> + + <% if(AdvancedOperationUtil.hasControlloPratica_ProceduraC(intPratica) && + AdvancedOperationUtil.isNotWorkflowManuallyStarted(intPratica)){ %> +
+ + + + + <% + String functionControlloPratica = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"deleteControlloPratica','Sei sicuro di voler eliminare questo ControlloPratica ed il relativo WorkFlow?')"; + %> + + + + +
+ <% } %> + + <% if(AdvancedOperationUtil.isPraticaAnnullata(intPratica)){ %> +
+ + + + + <% + String functionRipristinaVidimata = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"ripristinaPraticaVidimata','Sei sicuro di voler ripristinare questa pratica come VIDIMATA?')"; + %> + + + + +
+
+ + + + + <% + String functionRipristinaConforme = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"ripristinaPraticaConforme','Sei sicuro di voler ripristinare questa pratica come AUTORIZZATA/CONFORME?')"; + %> + + + + +
+ <% } %> +
+
+
+
+
+ + + + + + + <% + String functionReindex = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"reindexPratica','Sei sicuro di voler reindicizzare questa pratica?')"; + %> + + cssClass="btn-primary" + name="reindexPraticaBtn" + onClick='<%= functionReindex %>' + value="Reindicizza Pratica" + > + + + + +
+
+ + +
+ + +
+

Impersona titolare:

+
+ +
-
- - - <% } %> - - <% if(AdvancedOperationUtil.hasDettPratica(intPraticaId)){ - boolean normLavoriInProprioFlag = AdvancedOperationUtil.getNormLavoriInProprioFlag(intPraticaId); - %> - - - - - - - <% - String functionLavori = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"fixLavoriInEconomia','Sei sicuro di voler cambiare i flag LAVORI IN ECONOMIA di questa pratica?')"; - %> - - - - - <% } %> - - <% if(AdvancedOperationUtil.hasDettPratica(intPraticaId)){ - boolean collaudoStaticoFlag = AdvancedOperationUtil.getCollaudoStaticoFlag(intPraticaId); - %> - - - - - - + + <% if(SoggettoLocalServiceUtil.countByIntPratica(intPraticaId) > 1){ %> + +
+
+

Impersona soggetti:

+
+ + +
+
+ +
+ + + + + + + <%= soggetto.getFullTipologiaSoggetto() %> + + + <%= soggetto.getDescrizioneCompleta() %> + + + <% + DettPratica adding = DettPraticaLocalServiceUtil.fetchDettPratica(soggetto.getDettPraticaId()); + if (adding != null) { + out.print(adding.getFullDescription()); + } + %> + + + + + + + + +
+
+ <% } %> + +
+
<% - String functionCollaudoStatico = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"fixCollaudoStatico','Sei sicuro di voler cambiare i flag COLLAUDO STATICO di questa pratica?')"; + List listaTask = AdvancedOperationUtil.getListaTask(intPratica); + if(Validator.isNotNull(listaTask) && !listaTask.isEmpty()){ %> - - - - - <% } %> - - <% if(AdvancedOperationUtil.isStatoPraticaIN(intPratica)){ %> - - - - - + + +
+
+

Gestisci ultima attivitą:

+
+ <% + Group controlPanelGroup = GroupLocalServiceUtil.getGroup(company.getCompanyId(), GroupConstants.CONTROL_PANEL); + long controlPanelPlid = LayoutLocalServiceUtil.getDefaultPlid(controlPanelGroup.getGroupId(),true); + PortletURL workflowTaskURL = PortletURLFactoryUtil.create(request, PortletKeys.MY_WORKFLOW_TASKS, + controlPanelPlid, PortletRequest.RENDER_PHASE); + workflowTaskURL.setParameter("struts_action", "/my_workflow_tasks/edit_workflow_task"); + workflowTaskURL.setParameter("workflowTaskId", String.valueOf(listaTask.get(0).getWorkflowTaskId())); + workflowTaskURL.setPortletMode(PortletMode.VIEW); + workflowTaskURL.setWindowState(LiferayWindowState.POP_UP); + %> +
+ +
+
+
+ <% + if(intPratica.getStatusByUserId() != 0L ){ + User tecnico = UserLocalServiceUtil.fetchUser(intPratica.getStatusByUserId()); + if (Validator.isNotNull(tecnico)) { + + %> + +
+ + +
+

Impersona Istruttore:

+
+ + +
+
+ <% + } + } + %> +
<% - String functionStatus = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"fixStatusPratica','Sei sicuro di voler modificare lo status di questa pratica?')"; + } %> - - - - -
- <% } %> - - <% if(AdvancedOperationUtil.isPraticaAnnullata(intPratica)){ %> - - - - - - <% - String functionRipristinaVidimata = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"ripristinaPraticaVidimata','Sei sicuro di voler ripristinare questa pratica come VIDIMATA?')"; +
+ + +
+ + <% + List docPraticaList = DocPraticaLocalServiceUtil.findByIntPratica(intPraticaId); %> - - - - - - - - - - +

Documenti Totali: <%= docPraticaList.size() %>

<% - String functionRipristinaConforme = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"ripristinaPraticaConforme','Sei sicuro di voler ripristinare questa pratica come AUTORIZZATA/CONFORME?')"; + List docPraticaOrfaniList = AdvancedOperationUtil.getDocPraticaOrfani(intPraticaId); + if(!docPraticaOrfaniList.isEmpty()){ %> - - - - -
- <% } %> - - - - <% - List docPraticaList = DocPraticaLocalServiceUtil.findByIntPratica(intPraticaId); - %> -

Documenti Totali: <%= docPraticaList.size() %>

- <% - List docPraticaOrfaniList = AdvancedOperationUtil.getDocPraticaOrfani(intPraticaId); - if(!docPraticaOrfaniList.isEmpty()){ - %> - - - - - -

Documenti orfani di DettPratica: <%= docPraticaOrfaniList.size() %>

- - -

DlFileEntryId

-
- -

docPraticaId

-
- -

dettPraticaId

-
- -

FileName

-
-
- - <% - for(DocPratica docPratica : docPraticaOrfaniList){ - if(Validator.isNotNull(docPratica)){ - %> + + + + - -

<%= docPratica.getDlFileEntryId() %>

-
- -

<%= docPratica.getDocPraticaId() %>

-
- -

<%= docPratica.getClassPk() %>

-
- -

<%= docPratica.getFileName() %>

-
+

Documenti orfani di DettPratica: <%= docPraticaOrfaniList.size() %>

+ + +

DlFileEntryId

+
+ +

docPraticaId

+
+ +

dettPraticaId

+
+ +

FileName

+
+
+ + <% + for(DocPratica docPratica : docPraticaOrfaniList){ + if(Validator.isNotNull(docPratica)){ + %> + + +

<%= docPratica.getDlFileEntryId() %>

+
+ +

<%= docPratica.getDocPraticaId() %>

+
+ +

<%= docPratica.getClassPk() %>

+
+ +

<%= docPratica.getFileName() %>

+
+
+ <% + } + } + %> + <% + String functionEliminaDoc = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"deleteDocPratica','Sei sicuro di voler eliminare tutti i documenti?')"; + %> + + + + + +
+
+
<% - } } %> - <% - String functionEliminaDoc = "javascript:"+renderResponse.getNamespace()+"openConfirmationDialog('"+renderResponse.getNamespace()+"deleteDocPratica','Sei sicuro di voler eliminare tutti i documenti?')"; - %> - - - - - - -
- <% - } - %> + <% } %> @@ -357,6 +572,18 @@ +<% if(Validator.isNotNull(intPratica)){ %> + A.one('#impersonaSoggettiBtn').on('click', function(){ + var soggettoDiv = A.one('#sc-soggetti-da-impersonare'); + if(soggettoDiv.hasClass('hide')){ + soggettoDiv.show(); + } else { + soggettoDiv.hide(); + } + + }); +<% } %> + A.one('#intPraticaId').on('valuechange', function(e){ if(e.newVal <= 0 ){ A.one('#numeroProgetto').attr('disabled', false); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.settings/org.eclipse.wst.common.component b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.settings/org.eclipse.wst.common.component deleted file mode 100644 index 4ef5d41c..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.settings/org.eclipse.wst.common.component +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - uses - - - uses - - - - - diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/portos-bo-shared.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/portos-bo-shared.jar index 88c1eae5..8b81cf20 100644 Binary files a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/portos-bo-shared.jar and b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/portos-bo-shared.jar differ