diff --git a/liferay-plugins-sdk-6.2/build.portos.properties b/liferay-plugins-sdk-6.2/build.portos.properties index 29a42a94..726a9c5f 100644 --- a/liferay-plugins-sdk-6.2/build.portos.properties +++ b/liferay-plugins-sdk-6.2/build.portos.properties @@ -1,7 +1,3 @@ -# Managed by Liferay IDE (remove this comment to prevent future updates) - -#Managed by Liferay IDE (remove this comment to prevent future updates) -#Fri Sep 27 09:42:25 CEST 2019 app.server.tomcat.lib.global.dir = /home/portos/bin/liferay-portal-6.2-ce-ga6/tomcat-7.0.62/lib/ext app.server.tomcat.deploy.dir = /home/portos/bin/liferay-portal-6.2-ce-ga6/tomcat-7.0.62/webapps app.server.parent.dir = /home/portos/bin/liferay-portal-6.2-ce-ga6 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 index 9e0df509..970c9891 100644 Binary files a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpclient.jar and b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpclient.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpcore-4.4.6.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpcore-4.4.6.jar new file mode 100644 index 00000000..16ed0d16 Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpcore-4.4.6.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpcore.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpcore.jar new file mode 100644 index 00000000..99715b6a Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpcore.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpmime-4.5.3.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpmime-4.5.3.jar new file mode 100644 index 00000000..fe2cf8e3 Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpmime-4.5.3.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpmime.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpmime.jar new file mode 100644 index 00000000..b631ceb4 Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpmime.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-plugin-package.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-plugin-package.properties index c2c0f663..4080ad0f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-plugin-package.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-plugin-package.properties @@ -10,14 +10,15 @@ author=Liferay, Inc. licenses=LGPL liferay-versions=6.2.0+ portal-dependency-jars=\ + axis.jar,\ + commons-discovery.jar,\ + httpclient.jar,\ + jaxrpc.jar,\ jstl-api.jar,\ jstl-impl.jar,\ - jaxrpc.jar,\ - commons-discovery.jar,\ + util-java.jar,\ wsdl4j.jar,\ - axis.jar,\ - xml-apis.jar,\ - httpclient.jar + xml-apis.jar portal-dependency-tlds=\ c.tld required-deployment-contexts=\ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/mwg/sismica/bo/util/HttpServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/mwg/sismica/bo/util/HttpServiceUtil.java new file mode 100644 index 00000000..561c43a2 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/mwg/sismica/bo/util/HttpServiceUtil.java @@ -0,0 +1,81 @@ +package it.mwg.sismica.bo.util; + +import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil; +import it.tref.liferay.portos.bo.shared.protocollo.model.Protocollo; +import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; + +import javax.servlet.http.HttpServletResponse; + +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; + +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.json.JSONFactoryUtil; +import com.liferay.portal.kernel.json.JSONObject; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; +import com.liferay.portal.kernel.util.ContentTypes; +import com.liferay.portal.kernel.util.HttpUtil; +import com.liferay.portal.kernel.util.StringPool; +import com.liferay.portal.kernel.util.Http.Options; + +public class HttpServiceUtil { + private static final Log _log = LogFactoryUtil.getLog(HttpServiceUtil.class); + + public static JSONObject postProtocolloBean(long companyId, Protocollo protocolloBean) throws Exception { + + flexjson.JSONSerializer serializer = new flexjson.JSONSerializer(); + serializer.exclude("*.class"); + String json = serializer.serialize(protocolloBean); + + String url = ConfigurazioneLocalServiceUtil.findByC_ChiaveString(companyId, + ConfigurazioneConstants.PROTOCOLLAZIONE_SERVICE_URL); + + return postJson(url, json); + } + + public static JSONObject postJson(String url, String json) throws Exception { + JSONObject risposta = null; + HttpPost request = new HttpPost(url); + request.setHeader("Content-type", ContentTypes.APPLICATION_JSON); + request.setEntity(new StringEntity(json)); + CloseableHttpClient client = HttpClientBuilder.create().build(); + HttpResponse response = client.execute(request); + + int statusCode = response.getStatusLine().getStatusCode(); + String responseBody = EntityUtils.toString(response.getEntity(), StringPool.UTF8); + client.close(); + + if (statusCode == HttpServletResponse.SC_OK || statusCode == HttpServletResponse.SC_CREATED) { + risposta = JSONFactoryUtil.createJSONObject(responseBody); + _log.info(url + " || " + json + " || " + risposta); + } else { + _log.info(url + " || " + json + " || " + statusCode + ": " + responseBody); + throw new PortalException(statusCode + StringPool.SPACE + responseBody); + } + return risposta; + } + + public static String getUrl(String url) throws Exception { + return getUrl(url, StringPool.BLANK); + } + + public static String getUrl(String url, String defaultValue) throws Exception { + Options options = new Options(); + options.setLocation(url); + options.setPost(false); + + String responseBody = HttpUtil.URLtoString(options); + + _log.info(url + " || " + responseBody); + if (options.getResponse().getResponseCode() != HttpServletResponse.SC_OK) { + throw new Exception(url + ": " + options.getResponse().getResponseCode()); + // responseBody = defaultValue; + } + return responseBody; + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalService.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalService.java index 69d3ec87..5302c432 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalService.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalService.java @@ -849,10 +849,7 @@ public interface DettPraticaLocalService extends BaseLocalService, com.liferay.portal.kernel.exception.SystemException; public void sendToVersioning(long dettPraticaId, java.lang.String url) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException, - java.io.IOException, java.lang.NoSuchFieldException, - java.lang.SecurityException; + throws java.lang.Exception; @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public int getNumeroDiVersioni(java.lang.String url) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceClp.java index e4cfe8da..69038789 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceClp.java @@ -4200,10 +4200,7 @@ public class DettPraticaLocalServiceClp implements DettPraticaLocalService { @Override public void sendToVersioning(long dettPraticaId, java.lang.String url) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException, - java.io.IOException, java.lang.NoSuchFieldException, - java.lang.SecurityException { + throws java.lang.Exception { try { _invokableLocalService.invokeMethod(_methodName77, _methodParameterTypes77, @@ -4212,24 +4209,8 @@ public class DettPraticaLocalServiceClp implements DettPraticaLocalService { catch (Throwable t) { t = ClpSerializer.translateThrowable(t); - if (t instanceof com.liferay.portal.kernel.exception.PortalException) { - throw (com.liferay.portal.kernel.exception.PortalException)t; - } - - if (t instanceof com.liferay.portal.kernel.exception.SystemException) { - throw (com.liferay.portal.kernel.exception.SystemException)t; - } - - if (t instanceof java.io.IOException) { - throw (java.io.IOException)t; - } - - if (t instanceof java.lang.NoSuchFieldException) { - throw (java.lang.NoSuchFieldException)t; - } - - if (t instanceof java.lang.SecurityException) { - throw (java.lang.SecurityException)t; + if (t instanceof java.lang.Exception) { + throw (java.lang.Exception)t; } if (t instanceof RuntimeException) { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceUtil.java index 01baa26e..c2395e70 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceUtil.java @@ -1149,10 +1149,7 @@ public class DettPraticaLocalServiceUtil { } public static void sendToVersioning(long dettPraticaId, java.lang.String url) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException, - java.io.IOException, java.lang.NoSuchFieldException, - java.lang.SecurityException { + throws java.lang.Exception { getService().sendToVersioning(dettPraticaId, url); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceWrapper.java index f59acb29..202c0940 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaLocalServiceWrapper.java @@ -1218,10 +1218,7 @@ public class DettPraticaLocalServiceWrapper implements DettPraticaLocalService, @Override public void sendToVersioning(long dettPraticaId, java.lang.String url) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException, - java.io.IOException, java.lang.NoSuchFieldException, - java.lang.SecurityException { + throws java.lang.Exception { _dettPraticaLocalService.sendToVersioning(dettPraticaId, url); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaService.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaService.java index c6a3af41..c96e4b80 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaService.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaService.java @@ -341,8 +341,5 @@ public interface DettPraticaService extends BaseService, InvokableService { java.io.IOException; public void sendToVersioning(long dettPraticaId, long companyId) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException, - java.io.IOException, java.lang.NoSuchFieldException, - java.lang.SecurityException; + throws java.lang.Exception; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceClp.java index ee844d98..d07cbb42 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceClp.java @@ -1740,10 +1740,7 @@ public class DettPraticaServiceClp implements DettPraticaService { @Override public void sendToVersioning(long dettPraticaId, long companyId) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException, - java.io.IOException, java.lang.NoSuchFieldException, - java.lang.SecurityException { + throws java.lang.Exception { try { _invokableService.invokeMethod(_methodName26, _methodParameterTypes26, @@ -1752,24 +1749,8 @@ public class DettPraticaServiceClp implements DettPraticaService { catch (Throwable t) { t = ClpSerializer.translateThrowable(t); - if (t instanceof com.liferay.portal.kernel.exception.PortalException) { - throw (com.liferay.portal.kernel.exception.PortalException)t; - } - - if (t instanceof com.liferay.portal.kernel.exception.SystemException) { - throw (com.liferay.portal.kernel.exception.SystemException)t; - } - - if (t instanceof java.io.IOException) { - throw (java.io.IOException)t; - } - - if (t instanceof java.lang.NoSuchFieldException) { - throw (java.lang.NoSuchFieldException)t; - } - - if (t instanceof java.lang.SecurityException) { - throw (java.lang.SecurityException)t; + if (t instanceof java.lang.Exception) { + throw (java.lang.Exception)t; } if (t instanceof RuntimeException) { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceUtil.java index 4c4e43f3..4f206d68 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceUtil.java @@ -483,10 +483,7 @@ public class DettPraticaServiceUtil { } public static void sendToVersioning(long dettPraticaId, long companyId) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException, - java.io.IOException, java.lang.NoSuchFieldException, - java.lang.SecurityException { + throws java.lang.Exception { getService().sendToVersioning(dettPraticaId, companyId); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceWrapper.java index 6d09b31d..f1a0fa0c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/DettPraticaServiceWrapper.java @@ -493,10 +493,7 @@ public class DettPraticaServiceWrapper implements DettPraticaService, @Override public void sendToVersioning(long dettPraticaId, long companyId) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException, - java.io.IOException, java.lang.NoSuchFieldException, - java.lang.SecurityException { + throws java.lang.Exception { _dettPraticaService.sendToVersioning(dettPraticaId, companyId); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ProtocolloUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ProtocolloUtil.java index 7c6f00c6..98f7a07f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ProtocolloUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ProtocolloUtil.java @@ -1,119 +1,79 @@ package it.tref.liferay.portos.bo.util; +import it.mwg.sismica.bo.util.HttpServiceUtil; import it.tref.liferay.portos.bo.model.Avviso; import it.tref.liferay.portos.bo.service.AvvisoLocalServiceUtil; -import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil; import it.tref.liferay.portos.bo.shared.protocollo.model.File; import it.tref.liferay.portos.bo.shared.protocollo.model.Protocollo; import it.tref.liferay.portos.bo.shared.protocollo.model.Protocollo.TipoProtocollo; -import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; - -import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import javax.servlet.http.HttpServletResponse; - import org.apache.commons.codec.digest.DigestUtils; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; -import com.liferay.portal.kernel.json.JSONFactoryUtil; import com.liferay.portal.kernel.json.JSONObject; -import com.liferay.portal.kernel.util.ContentTypes; -import com.liferay.portal.kernel.util.Http.Body; -import com.liferay.portal.kernel.util.Http.Options; -import com.liferay.portal.kernel.util.HttpUtil; -import com.liferay.portal.kernel.util.StreamUtil; -import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; public class ProtocolloUtil { - public static String protocollaPartenzaAccessoAtti(long accessoAttiId, long intPraticaId, long groupId, String className, long companyId, String screenName) throws Exception { + public static String protocollaPartenzaAccessoAtti(long accessoAttiId, long intPraticaId, long groupId, + String className, long companyId, String screenName) throws Exception { - String protocollo = null; + File allegato = new File(); - InputStream inputStream = null; + String doc = String.valueOf(accessoAttiId); - try { + String sha256 = DigestUtils.sha256Hex(doc); - File allegato = new File(); - - String doc = String.valueOf(accessoAttiId); - - String sha256 = DigestUtils.sha256Hex(doc); - - allegato.setFileId("0"); - allegato.setFileSha256(sha256); - - // utilizzato anche come discriminate tra la 1a e la 2a chiamata - // 1a recupero numero protocollo -> 1 allegato finto - // 2a aggiorno dati del documento prodotto -> 2 allegati, il 1o giusto e il 2o per recupero - // num protocollo - - Protocollo protocolloBean = new Protocollo(); - protocolloBean.setOggetto(generaOggettoProtocollo(className, accessoAttiId)); - protocolloBean.setChiuso(false); - protocolloBean.setTipo(TipoProtocollo.USCITA); - protocolloBean.setUtenteId(screenName); - protocolloBean.setUfficioId(String.valueOf(groupId)); - protocolloBean.setPraticaId(String.valueOf(accessoAttiId)); - protocolloBean.setFiles(Collections.singletonList(allegato)); - Options options = createCall(companyId, protocolloBean, true); - - String responseBody = HttpUtil.URLtoString(options); - if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK - || options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { - JSONObject risposta = JSONFactoryUtil.createJSONObject(responseBody); - protocollo = risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); - } else { - throw new Exception(options.getResponse().getResponseCode() + StringPool.SPACE + responseBody); - } + allegato.setFileId("0"); + allegato.setFileSha256(sha256); - } finally { - StreamUtil.cleanUp(inputStream); - } + // utilizzato anche come discriminate tra la 1a e la 2a chiamata 1a + // recupero numero protocollo -> 1 allegato finto 2a aggiorno dati del + // documento prodotto -> 2 allegati, il 1o giusto e il 2o per recupero + // num protocollo + + Protocollo protocolloBean = new Protocollo(); + protocolloBean.setOggetto(generaOggettoProtocollo(className, accessoAttiId)); + protocolloBean.setChiuso(false); + protocolloBean.setTipo(TipoProtocollo.USCITA); + protocolloBean.setUtenteId(screenName); + protocolloBean.setUfficioId(String.valueOf(groupId)); + protocolloBean.setPraticaId(String.valueOf(accessoAttiId)); + protocolloBean.setFiles(Collections.singletonList(allegato)); + JSONObject risposta = HttpServiceUtil.postProtocolloBean(companyId, protocolloBean); + return risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); + } + + public static String protocollaArrivoAccessoAtti(long groupId, long companyId, String userName, + long accessoAttiId, String className) throws Exception { + + String protocollo = null; - return protocollo; + List allegati = new ArrayList(); + File allegato = new File(); + String doc = String.valueOf(accessoAttiId); + String sha256 = DigestUtils.sha256Hex(doc); + allegato.setFileId("0"); + allegato.setFileSha256(sha256); + allegati.add(allegato); + + Protocollo protocolloBean = new Protocollo(); + protocolloBean.setOggetto(generaOggettoProtocollo(className, accessoAttiId)); + protocolloBean.setChiuso(false); + protocolloBean.setTipo(TipoProtocollo.INGRESSO); + protocolloBean.setUtenteId(userName); + protocolloBean.setUfficioId(String.valueOf(groupId)); + protocolloBean.setPraticaId(String.valueOf(accessoAttiId)); + + protocolloBean.setFiles(allegati); + + JSONObject risposta = HttpServiceUtil.postProtocolloBean(companyId, protocolloBean); + return risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); } - - public static String protocollaArrivoAccessoAtti(long groupId, long companyId, String userName, long accessoAttiId, String className) throws Exception { - - String protocollo = null; - - List allegati = new ArrayList(); - File allegato = new File(); - String doc = String.valueOf(accessoAttiId); - String sha256 = DigestUtils.sha256Hex(doc); - allegato.setFileId("0"); - allegato.setFileSha256(sha256); - allegati.add(allegato); - - Protocollo protocolloBean = new Protocollo(); - protocolloBean.setOggetto(generaOggettoProtocollo(className, accessoAttiId)); - protocolloBean.setChiuso(false); - protocolloBean.setTipo(TipoProtocollo.INGRESSO); - protocolloBean.setUtenteId(userName); - protocolloBean.setUfficioId(String.valueOf(groupId)); - protocolloBean.setPraticaId(String.valueOf(accessoAttiId)); - - protocolloBean.setFiles(allegati); - Options options = createCall(companyId, protocolloBean, true); - - - String responseBody = HttpUtil.URLtoString(options); - if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK - || options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { - JSONObject risposta = JSONFactoryUtil.createJSONObject(responseBody); - protocollo = risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); - } else { - throw new Exception(options.getResponse().getResponseCode() + StringPool.SPACE + responseBody); - } - - return protocollo; - } public static String generaOggettoProtocollo(String className, long classPk) { @@ -128,26 +88,4 @@ public class ProtocolloUtil { return "Oggetto: " + className + " " + classPk; } - private static Options createCall(long companyId, Protocollo protocolloBean, boolean post) throws SystemException { - - String url = - ConfigurazioneLocalServiceUtil.findByC_ChiaveString(companyId, - ConfigurazioneConstants.PROTOCOLLAZIONE_SERVICE_URL); - - Options options = new Options(); - options.setLocation(url); - options.setPost(post); - - flexjson.JSONSerializer serialize = new flexjson.JSONSerializer(); - serialize.exclude("*.class"); - String protocollo = serialize.serialize(protocolloBean); - Body body = new Body(protocollo, ContentTypes.APPLICATION_JSON, "UTF-8"); - - options.setBody(body); - - - return options; - - } - } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java index 36093890..be04fcc3 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java @@ -19,7 +19,6 @@ import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.IntPraticaServiceUtil; import it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil; import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; -import it.tref.liferay.portos.bo.service.persistence.AsseverazioneUtil; import it.tref.liferay.portos.bo.shared.bean.FirmeBean; import it.tref.liferay.portos.bo.shared.util.Constants; import it.tref.liferay.portos.bo.shared.util.DocumentiPraticaUtil; @@ -28,7 +27,6 @@ import it.tref.liferay.portos.bo.shared.util.GenericUtils; import it.tref.liferay.portos.bo.shared.util.StatoPraticaConstants; import it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil; import it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil; -import it.tref.liferay.portos.bo.shared.util.Constants; import it.tref.liferay.portos.bo.util.AsseverazioniUtil; import java.io.IOException; @@ -39,6 +37,15 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.mime.HttpMultipartMode; +import org.apache.http.entity.mime.MultipartEntityBuilder; +import org.apache.http.entity.mime.content.ByteArrayBody; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; + import com.liferay.portal.kernel.dao.orm.QueryUtil; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; @@ -47,10 +54,8 @@ import com.liferay.portal.kernel.json.JSONFactoryUtil; import com.liferay.portal.kernel.language.LanguageUtil; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; -import com.liferay.portal.kernel.util.Http.FilePart; -import com.liferay.portal.kernel.util.Http.Options; -import com.liferay.portal.kernel.util.HttpUtil; import com.liferay.portal.kernel.util.LocaleUtil; +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.kernel.workflow.WorkflowConstants; @@ -2476,28 +2481,23 @@ public class ValidazionePraticaUtil { Company company = CompanyLocalServiceUtil.getCompany(companyId); String urlPdfExtractor = (String) company.getExpandoBridge().getAttribute("url_pdf_extractor", false); - Options options = new Options(); - options.setLocation(urlPdfExtractor); - options.setPost(true); - List fileParts = new ArrayList<>(); - // TODO perché cazzo non funziona il contentType??? - // FilePart filePart = new FilePart("file", fileName, fileBytes, - // ContentType.P7M.getContentType(), "UTF-8"); - FilePart filePart = new FilePart("file", fileName, fileBytes, "application/pkcs7-signature", "UTF-8"); - fileParts.add(filePart); - options.setFileParts(fileParts); - - String responseBody = HttpUtil.URLtoString(options); - - if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK - || options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { - + HttpPost request = new HttpPost(urlPdfExtractor); + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); + builder.addPart("file", new ByteArrayBody(fileBytes, fileName)); + request.setEntity(builder.build()); + CloseableHttpClient client = HttpClientBuilder.create().build(); + HttpResponse httpResponse = client.execute(request); + int statusCode = httpResponse.getStatusLine().getStatusCode(); + String responseBody = EntityUtils.toString(httpResponse.getEntity(), StringPool.UTF8); + client.close(); + + if (statusCode == HttpServletResponse.SC_OK || statusCode == HttpServletResponse.SC_CREATED) { JSONArray arrayFirme = JSONFactoryUtil.createJSONObject(responseBody).getJSONArray("cf"); List cf = new UniqueList(); for (int i = 0; i < arrayFirme.length(); i++) { cf.add(arrayFirme.getString(i)); } - return cf; } else { 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 bb6c0081..3eda1db2 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 @@ -5,9 +5,24 @@ */ package it.mwg.sismica.bo.util; +import it.tref.liferay.portos.bo.model.Collaudo; import it.tref.liferay.portos.bo.model.ControlloPratica; +import it.tref.liferay.portos.bo.model.Delega; import it.tref.liferay.portos.bo.model.DettPratica; +import it.tref.liferay.portos.bo.model.DocAggiuntiva; +import it.tref.liferay.portos.bo.model.DocPratica; +import it.tref.liferay.portos.bo.model.FineLavori; +import it.tref.liferay.portos.bo.model.IntPratica; +import it.tref.liferay.portos.bo.model.Soggetto; +import it.tref.liferay.portos.bo.service.CollaudoLocalServiceUtil; +import it.tref.liferay.portos.bo.service.DelegaLocalServiceUtil; import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; +import it.tref.liferay.portos.bo.service.DocAggiuntivaLocalServiceUtil; +import it.tref.liferay.portos.bo.service.DocPraticaLocalServiceUtil; +import it.tref.liferay.portos.bo.service.FineLavoriLocalServiceUtil; +import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; +import it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil; + import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; @@ -46,6 +61,8 @@ public class PuliziaDatabase { public static List pulisci(ServiceContext serviceContext) { List esito = new ArrayList<>(); + + esito.addAll(puliziaPreliminare()); esito.addAll(puliziaDocumentLibrary()); esito.addAll(svuotaDatabase(serviceContext)); @@ -60,6 +77,137 @@ 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; + _log.info("Analizzati " + totali + " DocPratica, cancellati " + cancellati); + } 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; @@ -239,6 +387,24 @@ public class PuliziaDatabase { + "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()); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/FascicoloPortlet.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/FascicoloPortlet.java index f78b57f1..e74e1402 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/FascicoloPortlet.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/FascicoloPortlet.java @@ -101,654 +101,698 @@ import com.liferay.util.bridges.mvc.MVCPortlet; */ public class FascicoloPortlet extends MVCPortlet { - private Log _log = LogFactoryUtil.getLog(FascicoloPortlet.class); - - @Override - public void render(RenderRequest request, RenderResponse response) throws PortletException, IOException { - - HttpServletRequest httpReq = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(request)); - String intPraticaId = httpReq.getParameter("intPraticaId"); - - if (Validator.isNotNull(intPraticaId) && !intPraticaId.equals("")) { - request.setAttribute("intPraticaId", intPraticaId); - } - - super.render(request, response); - } - - public void toggleWorkflow(ActionRequest actionRequest, ActionResponse actionResponse) { - - - ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); - User user = themeDisplay.getUser(); - - boolean attivare = ParamUtil.getBoolean(actionRequest, "avviare"); - boolean sospendere = ParamUtil.getBoolean(actionRequest, "sospendere"); - long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0); - String stato_pratica= ParamUtil.getString(actionRequest, "seleziona_stato"); - - try { - - IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); - Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId()); - DettPratica dettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(intPraticaId); - ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); - - if (attivare && !sospendere) { - WorkflowUtil.attivaWorkflow(intPraticaId, territorio.getGroupId(), serviceContext.getUserId(), - dettPratica.getDettPraticaId(), serviceContext, true); - - addRowHistoryWorkflowAction(intPraticaId, dettPratica.getDettPraticaId(), - themeDisplay.getCompanyId(), intPratica.getGroupId(), user, true); - - SessionMessages.add(actionRequest, "success-workflow-ripreso"); - } else if (!attivare && sospendere) { - WorkflowUtil.attivaWorkflow(intPraticaId, territorio.getGroupId(), serviceContext.getUserId(), - dettPratica.getDettPraticaId(), serviceContext, false); - - addRowHistoryWorkflowAction(intPraticaId, dettPratica.getDettPraticaId(), - themeDisplay.getCompanyId(), intPratica.getGroupId(), user, false); - - SessionMessages.add(actionRequest, "success-workflow-sospeso"); - } else { - SessionErrors.add(actionRequest, "error-workflow-stato-incosistente"); - } - - String redirectURL = ParamUtil.getString(actionRequest, "redirect"); - if (Validator.isNotNull(redirectURL)) { - actionResponse.sendRedirect(redirectURL); - } - - if(!attivare){ - intPratica.setStatoPratica(stato_pratica); - IntPraticaLocalServiceUtil.updateStatoPratica(intPraticaId, 0, stato_pratica); - } else { - intPratica.setStatoPratica(StatoPraticaConstants.SOTTOPOSTA_A_PARERE); - IntPraticaLocalServiceUtil.updateStatoPratica(intPraticaId, 0, StatoPraticaConstants.SOTTOPOSTA_A_PARERE); - } - - - IntPraticaLocalServiceUtil.reIndexFasciolo(intPraticaId, intPratica.getCompanyId()); - - } catch (Exception e) { - _log.error("error-workflow-sospeso", e); - SessionErrors.add(actionRequest, attivare ? "error-workflow-sospeso" : "error-workflow-ripreso"); - } - - } - - private void addRowHistoryWorkflowAction(long intPraticaId, long dettPraticaId, long companyId, long groupId, User user, boolean attivato) throws SystemException{ - - HistoryWorkflowAction historyWorkflowAction = HistoryWorkflowActionLocalServiceUtil.createHistoryWorkflowAction( - CounterLocalServiceUtil.increment(HistoryWorkflowAction.class.getName())); - - historyWorkflowAction.setAttivato(attivato); - historyWorkflowAction.setCompanyId(companyId); - historyWorkflowAction.setCreateDate(new Date()); - historyWorkflowAction.setModifiedDate(new Date()); - historyWorkflowAction.setUserId(user.getUserId()); - historyWorkflowAction.setUserName(user.getScreenName()); - historyWorkflowAction.setIntPraticaId(intPraticaId); - historyWorkflowAction.setDettPraticaId(dettPraticaId); - historyWorkflowAction.setGroupId(groupId); - - HistoryWorkflowActionLocalServiceUtil.updateHistoryWorkflowAction(historyWorkflowAction); - - } - - public void toggleSospensione(ActionRequest actionRequest, ActionResponse actionResponse) { - - long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0); - boolean sospesa = ParamUtil.getBoolean(actionRequest, "sospesa"); - - try { - - IntPraticaServiceUtil.sospendiPratica(intPraticaId, sospesa); - SessionMessages.add(actionRequest, sospesa ? "success-sospesa" : "success-ripresa"); - - } catch (PortalException | SystemException e) { - _log.error("error-workflow-sospeso", e); - SessionErrors.add(actionRequest, sospesa ? "error-sospesa" : "error-ripresa"); - } - - } - - public void cambiaStato(ActionRequest actionRequest, ActionResponse actionResponse) { - - long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0); - String statoPratica = ParamUtil.getString(actionRequest, "nuovoStatoPratica"); - - _log.info("cambiaSospendiRiprendi: INTPRATICAID" + intPraticaId); - try { - _log.info("cambiaSospendiRiprendi: INTPRATICAID" + intPraticaId + " NUOVO STATO: " + statoPratica); - IntPraticaServiceUtil.updateStatoPratica(intPraticaId, statoPratica); - SessionMessages.add(actionRequest, "success-cambio-stato"); - } catch (PortalException | SystemException e) { - _log.error("error-workflow-sospeso", e); - SessionErrors.add(actionRequest, "error-cambio-stato"); - } - - } - - public void aggiungiRichiestaParere(ActionRequest actionRequest, ActionResponse actionResponse) { - - long geologoId = ParamUtil.getLong(actionRequest, "geologoId"); - long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId"); - long dettPraticaId = ParamUtil.getLong(actionRequest, "dettPraticaId"); - - try { - ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); - serviceContext.setCreateDate(new Date()); - serviceContext.setModifiedDate(new Date()); - ParereGeologoServiceUtil.addParereGeologo(geologoId, intPraticaId, dettPraticaId, serviceContext); - } catch (PortalException | SystemException e) { - _log.error("error-workflow-sospeso", e); - SessionErrors.add(actionRequest, "error-aggiunta-richiesta-parere"); - } - } - - public void cambiaTitolare(ActionRequest actionRequest, ActionResponse actionResponse) { - - String nuovoSoggettoCF = ParamUtil.getString(actionRequest, "nuovoSoggettoCF"); - long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0); - long companyId = ParamUtil.getLong(actionRequest, "companyId"); - - - try { - ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); - User user = UserLocalServiceUtil.fetchUserByScreenName(companyId, nuovoSoggettoCF); - if (Validator.isNotNull(user)) { - if (!ValidazionePraticaUtil.praticaInProgress(intPraticaId)) { - _log.info("cambiaTitolare: cfNuovoTitolare " + nuovoSoggettoCF + " intpratica" + intPraticaId); - IntPraticaServiceUtil.cambiaTitolare(intPraticaId, user.getUserId(), serviceContext); - SessionMessages.add(actionRequest, "success-cambio-titolare"); - } else { - SessionErrors.add(actionRequest, "error-cambio-titolare-pratica-in-progress"); - } - } else { - _log.error("[FASCICOLO ACTION - CAMBIO TITOLARE] Nessun utente trovato con company " + companyId - + " e codice fiscale " + nuovoSoggettoCF); - SessionErrors.add(actionRequest, "error-cambio-titolare-no-such-user"); - } - } catch (PortalException | SystemException e) { - _log.error("error-cambio-titolare", e); - SessionErrors.add(actionRequest, "error-cambio-titolare"); - } - - } - - public void searchURL(ActionRequest actionRequest, ActionResponse actionResponse) { - - String numeroProgetto = actionRequest.getParameter("numeroProgetto"); - String protocollo = actionRequest.getParameter("protocollo"); - String tipoPratica = actionRequest.getParameter("tipoPratica"); - String statoPratica = actionRequest.getParameter("statoPratica"); - String committente = actionRequest.getParameter("committente"); - String descInterventoSearch = actionRequest.getParameter("descIntervento"); - String tecnicoIstruttore = actionRequest.getParameter("tecnicoIstruttore"); - String titolareDigitale = actionRequest.getParameter("titolareDigitale"); - String soggettiInterconnessi = actionRequest.getParameter("soggettiInterconnessi"); - String dataRichiestaInizio = actionRequest.getParameter("dataRichiestaInizio"); - String dataRichiestaFine = actionRequest.getParameter("dataRichiestaFine"); - String provincia = actionRequest.getParameter("provincia"); - String praticaAperta = actionRequest.getParameter("praticaAperta"); - String comune = actionRequest.getParameter("comune"); - String tipoIntervento = actionRequest.getParameter("tipoIntervento"); - String indirizzo = actionRequest.getParameter("indirizzo"); - - if (dataRichiestaInizio != null && !dataRichiestaInizio.equals("")) { - String[] dataRichiestaInizioSplitted = dataRichiestaInizio.split("/"); - - int mounth = Integer.valueOf(dataRichiestaInizioSplitted[1]) -1; - - actionResponse.setRenderParameter("dataRichiestaInizioDay", dataRichiestaInizioSplitted[0]); - actionResponse.setRenderParameter("dataRichiestaInizioMonth", mounth+""); - actionResponse.setRenderParameter("dataRichiestaInizioYear", dataRichiestaInizioSplitted[2]); - } - - if (dataRichiestaFine != null && !dataRichiestaFine.equals("")) { - String[] dataRichiestaFineSplitted = dataRichiestaFine.split("/"); - - int mounth = Integer.valueOf(dataRichiestaFineSplitted[1]) -1; - - actionResponse.setRenderParameter("dataRichiestaFineDay", dataRichiestaFineSplitted[0]); - actionResponse.setRenderParameter("dataRichiestaFineMonth", mounth+""); - actionResponse.setRenderParameter("dataRichiestaFineYear", dataRichiestaFineSplitted[2]); - } - - - String ufficio = actionRequest.getParameter("ufficio"); - String ordinaPer = actionRequest.getParameter("ordinaPer"); - String ordinaTipo = actionRequest.getParameter("ordinaTipo"); - - if (tipoIntervento != null && !tipoIntervento.equals("")) { - actionResponse.setRenderParameter("tipoIntervento", tipoIntervento); - } - - actionResponse.setRenderParameter("numeroProgetto", numeroProgetto); - actionResponse.setRenderParameter("praticaAperta", praticaAperta); - actionResponse.setRenderParameter("descIntervento", descInterventoSearch); - actionResponse.setRenderParameter("protocollo", protocollo); - actionResponse.setRenderParameter("tipoPratica", tipoPratica); - actionResponse.setRenderParameter("tipoPratica", tipoPratica); - actionResponse.setRenderParameter("statoPratica", statoPratica); - actionResponse.setRenderParameter("committente", committente); - - if(provincia != null && !provincia.equals("")){ - actionResponse.setRenderParameter("provincia", provincia); - } - - if(comune != null && !comune.equals("")){ - actionResponse.setRenderParameter("comune", comune); - } - - actionResponse.setRenderParameter("indirizzo", indirizzo); - - if (tecnicoIstruttore != null && !tecnicoIstruttore.equals("")) { - actionResponse.setRenderParameter("tecnicoIstruttore", tecnicoIstruttore); - } else { - actionResponse.setRenderParameter("tecnicoIstruttore", StringPool.BLANK); - } - - actionResponse.setRenderParameter("titolareDigitale", titolareDigitale); - actionResponse.setRenderParameter("soggettiInterconnessi", soggettiInterconnessi); - actionResponse.setRenderParameter("dataRichiestaInizio", dataRichiestaInizio); - actionResponse.setRenderParameter("dataRichiestaFine", dataRichiestaFine); - - if (ufficio != null && !ufficio.equals("")) { - actionResponse.setRenderParameter("ufficio", ufficio); - } else { - actionResponse.setRenderParameter("ufficio", -1 + ""); - } - - - actionResponse.setRenderParameter("ordinaPer", ordinaPer); - actionResponse.setRenderParameter("ordinaTipo", ordinaTipo); - - } - - public void versiona(ActionRequest actionRequest, ActionResponse actionResponse) { - - long dettPraticaId = ParamUtil.getLong(actionRequest, "dettPraticaId", 0); - long companyId = ParamUtil.getLong(actionRequest, "companyId"); - - - try { - DettPraticaServiceUtil.sendToVersioning(dettPraticaId, companyId); - - } catch (PortalException | SystemException | IOException | NoSuchFieldException | SecurityException e) { - _log.error("error-versioning", e); - SessionErrors.add(actionRequest, "error-versioning"); - } - - PortalUtil.copyRequestParameters(actionRequest, actionResponse); - - } - - @Override - public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException, - PortletException { - - String id = resourceRequest.getResourceID(); - ServiceContext serviceContext; - try { - serviceContext = ServiceContextFactory.getInstance(resourceRequest); - if ("downloadAllDocPratica".equals(id)) { - - long intPraticaId = ParamUtil.getLong(resourceRequest, "intPraticaId"); - long classPk = ParamUtil.getLong(resourceRequest, "classPk"); - String comingFrom = ParamUtil.getString(resourceRequest, "comingFrom"); - List docs = new ArrayList<>(); - if (Validator.isNull(comingFrom)) { - docs = DocPraticaLocalServiceUtil.findByClassPk(classPk); - } else { - List tipologieAllegati = new ArrayList(); - if ("page_geologica".equals(comingFrom)) { - tipologieAllegati = DocumentiPraticaUtil.getDocGeologo(); - } else if ("page_allegati".equals(comingFrom)) { - tipologieAllegati = DocumentiPraticaUtil.getDocDomanda(); - IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); - if (Validator.isNotNull(intPratica.getOldIntPraticaId())) { - tipologieAllegati.addAll(0, DocumentiPraticaUtil.getDocDomandaPortos1()); - } - } else if ("page_fine_lavori".equals(comingFrom)) { - tipologieAllegati = DocumentiPraticaUtil.getDocFineLavori(); - } else if ("page_collaudo".equals(comingFrom)) { - tipologieAllegati = DocumentiPraticaUtil.getDocCollaudo(); - } - docs = - DocPraticaLocalServiceUtil.findByIntPratica_ClassPk_Tipologie(intPraticaId, classPk, tipologieAllegati); - } - - ZipWriter zipWriter = ZipWriterFactoryUtil.getZipWriter(); - - for (DocPratica doc : docs) { - - InputStream inputStream = null; - try { - if (Validator.isNull(doc.getDlFileEntryId())) { - continue; - } - FileEntry fileEntry = DLAppLocalServiceUtil.getFileEntry(doc.getDlFileEntryId()); - inputStream = - DLFileEntryLocalServiceUtil.getFileAsStream(fileEntry.getFileEntryId(), fileEntry.getVersion(), false); - - // String name = fileEntry.getTitle() + StringPool.PERIOD + fileEntry.getExtension(); - String name = fileEntry.getTitle(); - zipWriter.addEntry(name, inputStream); - } finally { - StreamUtil.cleanUp(inputStream); - } - } - - resourceResponse.reset(); - - File file = zipWriter.getFile(); - byte[] data = Files.readAllBytes(file.toPath()); - - resourceResponse.setContentType(ContentTypes.APPLICATION_ZIP); - resourceResponse.addProperty(HttpHeaders.CACHE_CONTROL, "max-age=3600, must-revalidate"); - resourceResponse - .addProperty(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getName() + "\""); - resourceResponse.setContentLength(data.length); - - resourceResponse.getPortletOutputStream().write(data); - resourceResponse.getPortletOutputStream().flush(); - resourceResponse.getPortletOutputStream().close(); - - } else if ("importFile".equals(id)) { - - long classPk = ParamUtil.getLong(resourceRequest, "classPk"); - String className = ParamUtil.getString(resourceRequest, "className"); - - FilesImporter.importaFile(classPk, className); - - // if (DocPratica.class.getName().equalsIgnoreCase(className)) { - // DocPratica docPratica = DocPraticaLocalServiceUtil.getDocPratica(classPk); - // if (docPratica.getDlFileEntryId() == 0L && docPratica.getOldDlFileEntryId() != 0L) { - // FilesImporter.handleFileImportDocPratica(docPratica); - // } - // } else if (Avviso.class.getName().equalsIgnoreCase(className)) { - // Avviso avviso = AvvisoLocalServiceUtil.getAvviso(classPk); - // if (avviso.getFileEntryIdBase() == 0L && avviso.getOldFileEntryIdBase() != 0L) { - // FilesImporter.handleFileImportAvviso(avviso, true); - // } - // if (avviso.getFileEntryIdInvio() == 0L && avviso.getOldFileEntryIdInvio() != 0L) { - // FilesImporter.handleFileImportAvviso(avviso, false); - // } - // } else if (Pagamento.class.getName().equalsIgnoreCase(className)) { - // Pagamento pagamento = PagamentoLocalServiceUtil.getPagamento(classPk); - // if (pagamento.getFileEntryId() == 0L && pagamento.getOldFileEntryId() != 0L) { - // FilesImporter.handleFileImportPagamento(pagamento); - // } - // } else if (DocAggiuntiva.class.getName().equalsIgnoreCase(className)) { - // DocAggiuntiva docAggiuntiva = DocAggiuntivaLocalServiceUtil.getDocAggiuntiva(classPk); - // if (docAggiuntiva.getFileEntryId() == 0L && docAggiuntiva.getOldFileEntryId() != 0L) { - // FilesImporter.handleFileImportDocAggiuntiva(docAggiuntiva); - // } - // } else if (AllegatoManuale.class.getName().equalsIgnoreCase(className)) { - // AllegatoManuale allegatoManuale = - // AllegatoManualeLocalServiceUtil.getAllegatoManuale(classPk); - // if (allegatoManuale.getFileEntryId() == 0L && allegatoManuale.getOldFileEntryId() != 0L) - // { - // FilesImporter.handleFileImportAllegatoManuale(allegatoManuale); - // } - // } - - PortletResponseUtil - .write( - resourceResponse, - "

Completato

Refresh"); - - } else if ("importAllFascicoloFiles".equals(id)) { - long intPraticaId = ParamUtil.getLong(resourceRequest, "intPraticaId"); - IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); - - if (Validator.isNull(intPratica)) { - _log.error("error.no.intpratica.exist with intpraticaid=" + intPraticaId); - } - - String comingFrom = ParamUtil.getString(resourceRequest, "comingFrom", "bo"); - InfoFascicolo infoFascicolo = InfoFascicoloLocalServiceUtil.fetchByIntPratica(intPratica.getIntPraticaId()); - if (Validator.isNull(infoFascicolo)) { - infoFascicolo = - InfoFascicoloLocalServiceUtil.addInfoFascicolo(intPratica.getIntPraticaId(), - intPratica.getNumeroProgetto(), serviceContext); - } else { - if (infoFascicolo.getAlreadyImported() && comingFrom.equalsIgnoreCase("fe")) { - _log.error("intpratica.import.file.already-clicked with intpraticaid=" + intPraticaId); - return; - } - } - - User user = UserLocalServiceUtil.fetchUser(serviceContext.getUserId()); - - _log.debug("************** START IMPORT FILES FASCICOLO : " + intPraticaId + " by user" + user.getFullName()); - - List listaDet = DettPraticaLocalServiceUtil.findByIntPraticaId(intPraticaId); - for (DettPratica dettPratica : listaDet) { - FilesImporter.importaFilesFascicolo(dettPratica.getDettPraticaId(), DettPratica.class.getName()); - } - - List listaFine = FineLavoriLocalServiceUtil.findByIntPraticaId(intPraticaId, -1, -1, null); - for (FineLavori fineLavori : listaFine) { - FilesImporter.importaFilesFascicolo(fineLavori.getFineLavoriId(), FineLavori.class.getName()); - } - - List listaColl = CollaudoLocalServiceUtil.findByIntPraticaId(intPraticaId, -1, -1, null); - for (Collaudo collaudo : listaColl) { - FilesImporter.importaFilesFascicolo(collaudo.getCollaudoId(), Collaudo.class.getName()); - } - - _log.debug("************** END IMPORT FILES FASCICOLO : " + intPraticaId); - - infoFascicolo.setAlreadyImported(true); - infoFascicolo = InfoFascicoloLocalServiceUtil.updateInfoFascicolo(infoFascicolo); - - PortletResponseUtil - .write( - resourceResponse, - "

Completato

Refresh"); - } else if ("comuni".equals(id)) { - String provinciaId = ParamUtil.getString(resourceRequest, "provinciaId"); - JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); - if (Validator.isNotNull(provinciaId) && !provinciaId.equals("0")) { - List comuniIds = TerritorioLocalServiceUtil.getActiveComuniByCodiceProvincia(provinciaId); - - //ADT BUG-ID=15 Sezione Ricerca / Ordinamento Filtro - List comumeList = new ArrayList(); - for (long comuneId : comuniIds) { - Comune comune = ComuneLocalServiceUtil.getComune(comuneId); - comumeList.add(comune); - } - - Collections.sort(comumeList, new Comparator() { - @Override - public int compare(Comune o1, Comune o2) { - return o1.getDenominazione().compareTo(o2.getDenominazione()); - } - }); - - for (Comune comune : comumeList) { - JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); - jsonObject.put("comuneId", comune.getComuneId()); - jsonObject.put("descLong", comune.getDenominazione()); - - jsonArray.put(jsonObject); - } - } - writeJSON(resourceRequest, resourceResponse, jsonArray); - - } else if("exportRicerca".equals(id)){ - - ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); - Locale locale = themeDisplay.getLocale(); - - User user = themeDisplay.getUser(); - - - String csv = StringPool.BLANK; - - HttpServletRequest request = PortalUtil.getHttpServletRequest(resourceRequest); - HttpServletResponse response = PortalUtil.getHttpServletResponse(resourceResponse); - - csv = exportSearch(locale, resourceRequest, user); - - ServletResponseUtil.sendFile(request, response, "export_ricerca.csv", csv.getBytes(StringPool.UTF8), - ContentTypes.TEXT_CSV_UTF8); - - }else { - super.serveResource(resourceRequest, resourceResponse); - } - } catch (Exception e) { - _log.error(e, e); - throw new IOException(e); - } - - } - - private String exportSearch(Locale locale, ResourceRequest resourceRequest, User user) { - String method = "exportSearch"; - - HttpServletRequest httpRequest = PortalUtil.getHttpServletRequest(resourceRequest); - StringBuilder sb = new StringBuilder(); - - List lista = new ArrayList(); - -// try { - - Hits hits = IntPraticaAdvancedSearch.searchProgettiBO(httpRequest, user, -1, -1); - - for (Document doc : hits.toList()) { - String intPraticaId = doc.get("intPraticaId"); - try { - if (Validator.isNotNull(intPraticaId)) { - IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(GetterUtil.getLong(intPraticaId)); - if (Validator.isNotNull(intPratica)) { - lista.add(intPratica); - } - } - } catch(Throwable e){ - _log.error(method + " IntPraticaLocalServiceUtil.fetchIntPratica IntPraticaId: " + intPraticaId, e); - } - } - - sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "label.scadenzegeniocivile.sorteggiata"))); - sb.append(StringPool.SEMICOLON); - sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "label.scadenzegeniocivile.pratica"))); - sb.append(StringPool.SEMICOLON); - sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "label.scadenzegeniocivile.titolare"))); - sb.append(StringPool.SEMICOLON); - sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "label.scadenzegeniocivile.committenti"))); - sb.append(StringPool.SEMICOLON); - sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "label.scadenzegeniocivile.istruttore"))); - sb.append(StringPool.SEMICOLON); - sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "label.scadenzegeniocivile.statoPratica"))); - sb.append(StringPool.SEMICOLON); - - //ADT BUG-ID=15 Sezione Ricerca / Export csv - sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "label.scadenzegeniocivile.provincia"))); - sb.append(StringPool.SEMICOLON); - sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "label.scadenzegeniocivile.comune"))); - sb.append(StringPool.SEMICOLON); - - sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "label.scadenzegeniocivile.descrizioneIntervento"))); - sb.append(StringPool.SEMICOLON); - - sb.append(StringPool.NEW_LINE); - - - SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); - - for (IntPratica intPratica : lista) { - - try{ - DettPratica lastDettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(intPratica.getIntPraticaId()); - - Territorio territorio = TerritorioLocalServiceUtil.fetchTerritorio(intPratica.getTerritorioId()); - Comune comune = ComuneLocalServiceUtil.fetchComune(territorio.getComuneId()); - - Provincia provincia = - ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(), territorio.getCodiceProvincia()); - - boolean sorteggiata = SorteggioLocalServiceUtil.findByIntPratica(intPratica.getIntPraticaId()) != null; - sb.append(CSVUtil.encode((sorteggiata) ? "Si" : "No")); - sb.append(StringPool.SEMICOLON); - - String praticaLabel = intPratica.getTitle(locale, true); - sb.append(CSVUtil.encode(praticaLabel)); - sb.append(StringPool.SEMICOLON); - - User titolareUser = UserLocalServiceUtil.getUserById(intPratica.getUserId()); - List titolari = SoggettoLocalServiceUtil.getValidByIntPratica_CodiceFiscale(lastDettPratica.getIntPraticaId(), lastDettPratica.getCodiceFiscaleDelegatoCommittente()); + private Log _log = LogFactoryUtil.getLog(FascicoloPortlet.class); + + @Override + public void render(RenderRequest request, RenderResponse response) throws PortletException, IOException { + + HttpServletRequest httpReq = PortalUtil.getOriginalServletRequest(PortalUtil + .getHttpServletRequest(request)); + String intPraticaId = httpReq.getParameter("intPraticaId"); + + if (Validator.isNotNull(intPraticaId) && !intPraticaId.equals("")) { + request.setAttribute("intPraticaId", intPraticaId); + } + + super.render(request, response); + } + + public void toggleWorkflow(ActionRequest actionRequest, ActionResponse actionResponse) { + + ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); + User user = themeDisplay.getUser(); + + boolean attivare = ParamUtil.getBoolean(actionRequest, "avviare"); + boolean sospendere = ParamUtil.getBoolean(actionRequest, "sospendere"); + long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0); + String stato_pratica = ParamUtil.getString(actionRequest, "seleziona_stato"); + + try { + + IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); + Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId()); + DettPratica dettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(intPraticaId); + ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); + + if (attivare && !sospendere) { + WorkflowUtil.attivaWorkflow(intPraticaId, territorio.getGroupId(), + serviceContext.getUserId(), dettPratica.getDettPraticaId(), serviceContext, true); + + addRowHistoryWorkflowAction(intPraticaId, dettPratica.getDettPraticaId(), + themeDisplay.getCompanyId(), intPratica.getGroupId(), user, true); + + SessionMessages.add(actionRequest, "success-workflow-ripreso"); + } else if (!attivare && sospendere) { + WorkflowUtil.attivaWorkflow(intPraticaId, territorio.getGroupId(), + serviceContext.getUserId(), dettPratica.getDettPraticaId(), serviceContext, false); + + addRowHistoryWorkflowAction(intPraticaId, dettPratica.getDettPraticaId(), + themeDisplay.getCompanyId(), intPratica.getGroupId(), user, false); + + SessionMessages.add(actionRequest, "success-workflow-sospeso"); + } else { + SessionErrors.add(actionRequest, "error-workflow-stato-incosistente"); + } + + String redirectURL = ParamUtil.getString(actionRequest, "redirect"); + if (Validator.isNotNull(redirectURL)) { + actionResponse.sendRedirect(redirectURL); + } + + if (!attivare) { + intPratica.setStatoPratica(stato_pratica); + IntPraticaLocalServiceUtil.updateStatoPratica(intPraticaId, 0, stato_pratica); + } else { + intPratica.setStatoPratica(StatoPraticaConstants.SOTTOPOSTA_A_PARERE); + IntPraticaLocalServiceUtil.updateStatoPratica(intPraticaId, 0, + StatoPraticaConstants.SOTTOPOSTA_A_PARERE); + } + + IntPraticaLocalServiceUtil.reIndexFasciolo(intPraticaId, intPratica.getCompanyId()); + + } catch (Exception e) { + _log.error("error-workflow-sospeso", e); + SessionErrors.add(actionRequest, attivare ? "error-workflow-sospeso" : "error-workflow-ripreso"); + } + + } + + private void addRowHistoryWorkflowAction(long intPraticaId, long dettPraticaId, long companyId, + long groupId, User user, boolean attivato) throws SystemException { + + HistoryWorkflowAction historyWorkflowAction = HistoryWorkflowActionLocalServiceUtil + .createHistoryWorkflowAction(CounterLocalServiceUtil.increment(HistoryWorkflowAction.class + .getName())); + + historyWorkflowAction.setAttivato(attivato); + historyWorkflowAction.setCompanyId(companyId); + historyWorkflowAction.setCreateDate(new Date()); + historyWorkflowAction.setModifiedDate(new Date()); + historyWorkflowAction.setUserId(user.getUserId()); + historyWorkflowAction.setUserName(user.getScreenName()); + historyWorkflowAction.setIntPraticaId(intPraticaId); + historyWorkflowAction.setDettPraticaId(dettPraticaId); + historyWorkflowAction.setGroupId(groupId); + + HistoryWorkflowActionLocalServiceUtil.updateHistoryWorkflowAction(historyWorkflowAction); + + } + + public void toggleSospensione(ActionRequest actionRequest, ActionResponse actionResponse) { + + long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0); + boolean sospesa = ParamUtil.getBoolean(actionRequest, "sospesa"); + + try { + + IntPraticaServiceUtil.sospendiPratica(intPraticaId, sospesa); + SessionMessages.add(actionRequest, sospesa ? "success-sospesa" : "success-ripresa"); + + } catch (PortalException | SystemException e) { + _log.error("error-workflow-sospeso", e); + SessionErrors.add(actionRequest, sospesa ? "error-sospesa" : "error-ripresa"); + } + + } + + public void cambiaStato(ActionRequest actionRequest, ActionResponse actionResponse) { + + long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0); + String statoPratica = ParamUtil.getString(actionRequest, "nuovoStatoPratica"); + + _log.info("cambiaSospendiRiprendi: INTPRATICAID" + intPraticaId); + try { + _log.info("cambiaSospendiRiprendi: INTPRATICAID" + intPraticaId + " NUOVO STATO: " + statoPratica); + IntPraticaServiceUtil.updateStatoPratica(intPraticaId, statoPratica); + SessionMessages.add(actionRequest, "success-cambio-stato"); + } catch (PortalException | SystemException e) { + _log.error("error-workflow-sospeso", e); + SessionErrors.add(actionRequest, "error-cambio-stato"); + } + + } + + public void aggiungiRichiestaParere(ActionRequest actionRequest, ActionResponse actionResponse) { + + long geologoId = ParamUtil.getLong(actionRequest, "geologoId"); + long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId"); + long dettPraticaId = ParamUtil.getLong(actionRequest, "dettPraticaId"); + + try { + ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); + serviceContext.setCreateDate(new Date()); + serviceContext.setModifiedDate(new Date()); + ParereGeologoServiceUtil.addParereGeologo(geologoId, intPraticaId, dettPraticaId, serviceContext); + } catch (PortalException | SystemException e) { + _log.error("error-workflow-sospeso", e); + SessionErrors.add(actionRequest, "error-aggiunta-richiesta-parere"); + } + } + + public void cambiaTitolare(ActionRequest actionRequest, ActionResponse actionResponse) { + + String nuovoSoggettoCF = ParamUtil.getString(actionRequest, "nuovoSoggettoCF"); + long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId", 0); + long companyId = ParamUtil.getLong(actionRequest, "companyId"); + + try { + ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); + User user = UserLocalServiceUtil.fetchUserByScreenName(companyId, nuovoSoggettoCF); + if (Validator.isNotNull(user)) { + if (!ValidazionePraticaUtil.praticaInProgress(intPraticaId)) { + _log.info("cambiaTitolare: cfNuovoTitolare " + nuovoSoggettoCF + " intpratica" + + intPraticaId); + IntPraticaServiceUtil.cambiaTitolare(intPraticaId, user.getUserId(), serviceContext); + SessionMessages.add(actionRequest, "success-cambio-titolare"); + } else { + SessionErrors.add(actionRequest, "error-cambio-titolare-pratica-in-progress"); + } + } else { + _log.error("[FASCICOLO ACTION - CAMBIO TITOLARE] Nessun utente trovato con company " + + companyId + " e codice fiscale " + nuovoSoggettoCF); + SessionErrors.add(actionRequest, "error-cambio-titolare-no-such-user"); + } + } catch (PortalException | SystemException e) { + _log.error("error-cambio-titolare", e); + SessionErrors.add(actionRequest, "error-cambio-titolare"); + } + + } + + public void searchURL(ActionRequest actionRequest, ActionResponse actionResponse) { + + String numeroProgetto = actionRequest.getParameter("numeroProgetto"); + String protocollo = actionRequest.getParameter("protocollo"); + String tipoPratica = actionRequest.getParameter("tipoPratica"); + String statoPratica = actionRequest.getParameter("statoPratica"); + String committente = actionRequest.getParameter("committente"); + String descInterventoSearch = actionRequest.getParameter("descIntervento"); + String tecnicoIstruttore = actionRequest.getParameter("tecnicoIstruttore"); + String titolareDigitale = actionRequest.getParameter("titolareDigitale"); + String soggettiInterconnessi = actionRequest.getParameter("soggettiInterconnessi"); + String dataRichiestaInizio = actionRequest.getParameter("dataRichiestaInizio"); + String dataRichiestaFine = actionRequest.getParameter("dataRichiestaFine"); + String provincia = actionRequest.getParameter("provincia"); + String praticaAperta = actionRequest.getParameter("praticaAperta"); + String comune = actionRequest.getParameter("comune"); + String tipoIntervento = actionRequest.getParameter("tipoIntervento"); + String indirizzo = actionRequest.getParameter("indirizzo"); + + if (dataRichiestaInizio != null && !dataRichiestaInizio.equals("")) { + String[] dataRichiestaInizioSplitted = dataRichiestaInizio.split("/"); + + int mounth = Integer.valueOf(dataRichiestaInizioSplitted[1]) - 1; + + actionResponse.setRenderParameter("dataRichiestaInizioDay", dataRichiestaInizioSplitted[0]); + actionResponse.setRenderParameter("dataRichiestaInizioMonth", mounth + ""); + actionResponse.setRenderParameter("dataRichiestaInizioYear", dataRichiestaInizioSplitted[2]); + } + + if (dataRichiestaFine != null && !dataRichiestaFine.equals("")) { + String[] dataRichiestaFineSplitted = dataRichiestaFine.split("/"); + + int mounth = Integer.valueOf(dataRichiestaFineSplitted[1]) - 1; + + actionResponse.setRenderParameter("dataRichiestaFineDay", dataRichiestaFineSplitted[0]); + actionResponse.setRenderParameter("dataRichiestaFineMonth", mounth + ""); + actionResponse.setRenderParameter("dataRichiestaFineYear", dataRichiestaFineSplitted[2]); + } + + String ufficio = actionRequest.getParameter("ufficio"); + String ordinaPer = actionRequest.getParameter("ordinaPer"); + String ordinaTipo = actionRequest.getParameter("ordinaTipo"); + + if (tipoIntervento != null && !tipoIntervento.equals("")) { + actionResponse.setRenderParameter("tipoIntervento", tipoIntervento); + } + + actionResponse.setRenderParameter("numeroProgetto", numeroProgetto); + actionResponse.setRenderParameter("praticaAperta", praticaAperta); + actionResponse.setRenderParameter("descIntervento", descInterventoSearch); + actionResponse.setRenderParameter("protocollo", protocollo); + actionResponse.setRenderParameter("tipoPratica", tipoPratica); + actionResponse.setRenderParameter("tipoPratica", tipoPratica); + actionResponse.setRenderParameter("statoPratica", statoPratica); + actionResponse.setRenderParameter("committente", committente); + + if (provincia != null && !provincia.equals("")) { + actionResponse.setRenderParameter("provincia", provincia); + } + + if (comune != null && !comune.equals("")) { + actionResponse.setRenderParameter("comune", comune); + } + + actionResponse.setRenderParameter("indirizzo", indirizzo); + + if (tecnicoIstruttore != null && !tecnicoIstruttore.equals("")) { + actionResponse.setRenderParameter("tecnicoIstruttore", tecnicoIstruttore); + } else { + actionResponse.setRenderParameter("tecnicoIstruttore", StringPool.BLANK); + } + + actionResponse.setRenderParameter("titolareDigitale", titolareDigitale); + actionResponse.setRenderParameter("soggettiInterconnessi", soggettiInterconnessi); + actionResponse.setRenderParameter("dataRichiestaInizio", dataRichiestaInizio); + actionResponse.setRenderParameter("dataRichiestaFine", dataRichiestaFine); + + if (ufficio != null && !ufficio.equals("")) { + actionResponse.setRenderParameter("ufficio", ufficio); + } else { + actionResponse.setRenderParameter("ufficio", -1 + ""); + } + + actionResponse.setRenderParameter("ordinaPer", ordinaPer); + actionResponse.setRenderParameter("ordinaTipo", ordinaTipo); + + } + + public void versiona(ActionRequest actionRequest, ActionResponse actionResponse) { + + long dettPraticaId = ParamUtil.getLong(actionRequest, "dettPraticaId", 0); + long companyId = ParamUtil.getLong(actionRequest, "companyId"); + + try { + DettPraticaServiceUtil.sendToVersioning(dettPraticaId, companyId); + } catch (Exception e) { + _log.error("error-versioning", e); + SessionErrors.add(actionRequest, "error-versioning"); + } + + PortalUtil.copyRequestParameters(actionRequest, actionResponse); + + } + + @Override + public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) + throws IOException, PortletException { + + String id = resourceRequest.getResourceID(); + ServiceContext serviceContext; + try { + serviceContext = ServiceContextFactory.getInstance(resourceRequest); + if ("downloadAllDocPratica".equals(id)) { + + long intPraticaId = ParamUtil.getLong(resourceRequest, "intPraticaId"); + long classPk = ParamUtil.getLong(resourceRequest, "classPk"); + String comingFrom = ParamUtil.getString(resourceRequest, "comingFrom"); + List docs = new ArrayList<>(); + if (Validator.isNull(comingFrom)) { + docs = DocPraticaLocalServiceUtil.findByClassPk(classPk); + } else { + List tipologieAllegati = new ArrayList(); + if ("page_geologica".equals(comingFrom)) { + tipologieAllegati = DocumentiPraticaUtil.getDocGeologo(); + } else if ("page_allegati".equals(comingFrom)) { + tipologieAllegati = DocumentiPraticaUtil.getDocDomanda(); + IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); + if (Validator.isNotNull(intPratica.getOldIntPraticaId())) { + tipologieAllegati.addAll(0, DocumentiPraticaUtil.getDocDomandaPortos1()); + } + } else if ("page_fine_lavori".equals(comingFrom)) { + tipologieAllegati = DocumentiPraticaUtil.getDocFineLavori(); + } else if ("page_collaudo".equals(comingFrom)) { + tipologieAllegati = DocumentiPraticaUtil.getDocCollaudo(); + } + docs = DocPraticaLocalServiceUtil.findByIntPratica_ClassPk_Tipologie(intPraticaId, + classPk, tipologieAllegati); + } + + ZipWriter zipWriter = ZipWriterFactoryUtil.getZipWriter(); + + for (DocPratica doc : docs) { + + InputStream inputStream = null; + try { + if (Validator.isNull(doc.getDlFileEntryId())) { + continue; + } + FileEntry fileEntry = DLAppLocalServiceUtil.getFileEntry(doc.getDlFileEntryId()); + inputStream = DLFileEntryLocalServiceUtil.getFileAsStream(fileEntry.getFileEntryId(), + fileEntry.getVersion(), false); + + // String name = fileEntry.getTitle() + + // StringPool.PERIOD + fileEntry.getExtension(); + String name = fileEntry.getTitle(); + zipWriter.addEntry(name, inputStream); + } finally { + StreamUtil.cleanUp(inputStream); + } + } + + resourceResponse.reset(); + + File file = zipWriter.getFile(); + byte[] data = Files.readAllBytes(file.toPath()); + + resourceResponse.setContentType(ContentTypes.APPLICATION_ZIP); + resourceResponse.addProperty(HttpHeaders.CACHE_CONTROL, "max-age=3600, must-revalidate"); + resourceResponse.addProperty(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + + file.getName() + "\""); + resourceResponse.setContentLength(data.length); + + resourceResponse.getPortletOutputStream().write(data); + resourceResponse.getPortletOutputStream().flush(); + resourceResponse.getPortletOutputStream().close(); + + } else if ("importFile".equals(id)) { + + long classPk = ParamUtil.getLong(resourceRequest, "classPk"); + String className = ParamUtil.getString(resourceRequest, "className"); + + FilesImporter.importaFile(classPk, className); + + // if (DocPratica.class.getName().equalsIgnoreCase(className)) { + // DocPratica docPratica = + // DocPraticaLocalServiceUtil.getDocPratica(classPk); + // if (docPratica.getDlFileEntryId() == 0L && + // docPratica.getOldDlFileEntryId() != 0L) { + // FilesImporter.handleFileImportDocPratica(docPratica); + // } + // } else if + // (Avviso.class.getName().equalsIgnoreCase(className)) { + // Avviso avviso = AvvisoLocalServiceUtil.getAvviso(classPk); + // if (avviso.getFileEntryIdBase() == 0L && + // avviso.getOldFileEntryIdBase() != 0L) { + // FilesImporter.handleFileImportAvviso(avviso, true); + // } + // if (avviso.getFileEntryIdInvio() == 0L && + // avviso.getOldFileEntryIdInvio() != 0L) { + // FilesImporter.handleFileImportAvviso(avviso, false); + // } + // } else if + // (Pagamento.class.getName().equalsIgnoreCase(className)) { + // Pagamento pagamento = + // PagamentoLocalServiceUtil.getPagamento(classPk); + // if (pagamento.getFileEntryId() == 0L && + // pagamento.getOldFileEntryId() != 0L) { + // FilesImporter.handleFileImportPagamento(pagamento); + // } + // } else if + // (DocAggiuntiva.class.getName().equalsIgnoreCase(className)) { + // DocAggiuntiva docAggiuntiva = + // DocAggiuntivaLocalServiceUtil.getDocAggiuntiva(classPk); + // if (docAggiuntiva.getFileEntryId() == 0L && + // docAggiuntiva.getOldFileEntryId() != 0L) { + // FilesImporter.handleFileImportDocAggiuntiva(docAggiuntiva); + // } + // } else if + // (AllegatoManuale.class.getName().equalsIgnoreCase(className)) + // { + // AllegatoManuale allegatoManuale = + // AllegatoManualeLocalServiceUtil.getAllegatoManuale(classPk); + // if (allegatoManuale.getFileEntryId() == 0L && + // allegatoManuale.getOldFileEntryId() != 0L) + // { + // FilesImporter.handleFileImportAllegatoManuale(allegatoManuale); + // } + // } + + PortletResponseUtil + .write(resourceResponse, + "

Completato

Refresh"); + + } else if ("importAllFascicoloFiles".equals(id)) { + long intPraticaId = ParamUtil.getLong(resourceRequest, "intPraticaId"); + IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); + + if (Validator.isNull(intPratica)) { + _log.error("error.no.intpratica.exist with intpraticaid=" + intPraticaId); + } + + String comingFrom = ParamUtil.getString(resourceRequest, "comingFrom", "bo"); + InfoFascicolo infoFascicolo = InfoFascicoloLocalServiceUtil.fetchByIntPratica(intPratica + .getIntPraticaId()); + if (Validator.isNull(infoFascicolo)) { + infoFascicolo = InfoFascicoloLocalServiceUtil.addInfoFascicolo( + intPratica.getIntPraticaId(), intPratica.getNumeroProgetto(), serviceContext); + } else { + if (infoFascicolo.getAlreadyImported() && comingFrom.equalsIgnoreCase("fe")) { + _log.error("intpratica.import.file.already-clicked with intpraticaid=" + intPraticaId); + return; + } + } + + User user = UserLocalServiceUtil.fetchUser(serviceContext.getUserId()); + + _log.debug("************** START IMPORT FILES FASCICOLO : " + intPraticaId + " by user" + + user.getFullName()); + + List listaDet = DettPraticaLocalServiceUtil.findByIntPraticaId(intPraticaId); + for (DettPratica dettPratica : listaDet) { + FilesImporter.importaFilesFascicolo(dettPratica.getDettPraticaId(), + DettPratica.class.getName()); + } + + List listaFine = FineLavoriLocalServiceUtil.findByIntPraticaId(intPraticaId, -1, + -1, null); + for (FineLavori fineLavori : listaFine) { + FilesImporter.importaFilesFascicolo(fineLavori.getFineLavoriId(), + FineLavori.class.getName()); + } + + List listaColl = CollaudoLocalServiceUtil.findByIntPraticaId(intPraticaId, -1, -1, + null); + for (Collaudo collaudo : listaColl) { + FilesImporter.importaFilesFascicolo(collaudo.getCollaudoId(), Collaudo.class.getName()); + } + + _log.debug("************** END IMPORT FILES FASCICOLO : " + intPraticaId); + + infoFascicolo.setAlreadyImported(true); + infoFascicolo = InfoFascicoloLocalServiceUtil.updateInfoFascicolo(infoFascicolo); + + PortletResponseUtil + .write(resourceResponse, + "

Completato

Refresh"); + } else if ("comuni".equals(id)) { + String provinciaId = ParamUtil.getString(resourceRequest, "provinciaId"); + JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); + if (Validator.isNotNull(provinciaId) && !provinciaId.equals("0")) { + List comuniIds = TerritorioLocalServiceUtil + .getActiveComuniByCodiceProvincia(provinciaId); + + // ADT BUG-ID=15 Sezione Ricerca / Ordinamento Filtro + List comumeList = new ArrayList(); + for (long comuneId : comuniIds) { + Comune comune = ComuneLocalServiceUtil.getComune(comuneId); + comumeList.add(comune); + } + + Collections.sort(comumeList, new Comparator() { + @Override + public int compare(Comune o1, Comune o2) { + return o1.getDenominazione().compareTo(o2.getDenominazione()); + } + }); + + for (Comune comune : comumeList) { + JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); + jsonObject.put("comuneId", comune.getComuneId()); + jsonObject.put("descLong", comune.getDenominazione()); + + jsonArray.put(jsonObject); + } + } + writeJSON(resourceRequest, resourceResponse, jsonArray); + + } else if ("exportRicerca".equals(id)) { + + ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest + .getAttribute(WebKeys.THEME_DISPLAY); + Locale locale = themeDisplay.getLocale(); + + User user = themeDisplay.getUser(); + + String csv = StringPool.BLANK; + + HttpServletRequest request = PortalUtil.getHttpServletRequest(resourceRequest); + HttpServletResponse response = PortalUtil.getHttpServletResponse(resourceResponse); + + csv = exportSearch(locale, resourceRequest, user); + + ServletResponseUtil.sendFile(request, response, "export_ricerca.csv", + csv.getBytes(StringPool.UTF8), ContentTypes.TEXT_CSV_UTF8); + + } else { + super.serveResource(resourceRequest, resourceResponse); + } + } catch (Exception e) { + _log.error(e, e); + throw new IOException(e); + } + + } + + private String exportSearch(Locale locale, ResourceRequest resourceRequest, User user) { + String method = "exportSearch"; + + HttpServletRequest httpRequest = PortalUtil.getHttpServletRequest(resourceRequest); + StringBuilder sb = new StringBuilder(); + + List lista = new ArrayList(); + + // try { + + Hits hits = IntPraticaAdvancedSearch.searchProgettiBO(httpRequest, user, -1, -1); + + for (Document doc : hits.toList()) { + String intPraticaId = doc.get("intPraticaId"); + try { + if (Validator.isNotNull(intPraticaId)) { + IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(GetterUtil + .getLong(intPraticaId)); + if (Validator.isNotNull(intPratica)) { + lista.add(intPratica); + } + } + } catch (Throwable e) { + _log.error(method + " IntPraticaLocalServiceUtil.fetchIntPratica IntPraticaId: " + + intPraticaId, e); + } + } + + sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, + "label.scadenzegeniocivile.sorteggiata"))); + sb.append(StringPool.SEMICOLON); + sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, + "label.scadenzegeniocivile.pratica"))); + sb.append(StringPool.SEMICOLON); + sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, + "label.scadenzegeniocivile.titolare"))); + sb.append(StringPool.SEMICOLON); + sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, + "label.scadenzegeniocivile.committenti"))); + sb.append(StringPool.SEMICOLON); + sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, + "label.scadenzegeniocivile.istruttore"))); + sb.append(StringPool.SEMICOLON); + sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, + "label.scadenzegeniocivile.statoPratica"))); + sb.append(StringPool.SEMICOLON); + + // ADT BUG-ID=15 Sezione Ricerca / Export csv + sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, + "label.scadenzegeniocivile.provincia"))); + sb.append(StringPool.SEMICOLON); + sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, + "label.scadenzegeniocivile.comune"))); + sb.append(StringPool.SEMICOLON); + + sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, + "label.scadenzegeniocivile.descrizioneIntervento"))); + sb.append(StringPool.SEMICOLON); + + sb.append(StringPool.NEW_LINE); + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + + for (IntPratica intPratica : lista) { + + try { + DettPratica lastDettPratica = DettPraticaLocalServiceUtil + .getLastCompletedByIntPratica(intPratica.getIntPraticaId()); + + Territorio territorio = TerritorioLocalServiceUtil.fetchTerritorio(intPratica + .getTerritorioId()); + Comune comune = ComuneLocalServiceUtil.fetchComune(territorio.getComuneId()); + + Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(), + territorio.getCodiceProvincia()); + + boolean sorteggiata = SorteggioLocalServiceUtil + .findByIntPratica(intPratica.getIntPraticaId()) != null; + sb.append(CSVUtil.encode((sorteggiata) ? "Si" : "No")); + sb.append(StringPool.SEMICOLON); + + String praticaLabel = intPratica.getTitle(locale, true); + sb.append(CSVUtil.encode(praticaLabel)); + sb.append(StringPool.SEMICOLON); + + User titolareUser = UserLocalServiceUtil.getUserById(intPratica.getUserId()); + List titolari = SoggettoLocalServiceUtil.getValidByIntPratica_CodiceFiscale( + lastDettPratica.getIntPraticaId(), + lastDettPratica.getCodiceFiscaleDelegatoCommittente()); Soggetto titolare = null; - if(!titolari.isEmpty()){ - titolare = titolari.get(0); + if (!titolari.isEmpty()) { + titolare = titolari.get(0); } - if(titolare != null){ - sb.append(titolare.getTitle()+ " - " +titolare.getCodiceFiscale()); + if (titolare != null) { + sb.append(titolare.getTitle() + " - " + titolare.getCodiceFiscale()); } else { sb.append(""); } - sb.append(StringPool.SEMICOLON); - - - StringBuilder builder = new StringBuilder(); - - List committenti = SoggettoLocalServiceUtil.findByIntPratica_TipologiaSoggetto(lastDettPratica.getIntPraticaId(), TipoSoggettoUtil.COMMITTENTE); - for(Soggetto committente : committenti){ - builder.append(committente.getTitle()+" - "+committente.getCodiceFiscale()) - .append(StringPool.COMMA_AND_SPACE); + sb.append(StringPool.SEMICOLON); + + StringBuilder builder = new StringBuilder(); + + List committenti = SoggettoLocalServiceUtil.findByIntPratica_TipologiaSoggetto( + lastDettPratica.getIntPraticaId(), TipoSoggettoUtil.COMMITTENTE); + for (Soggetto committente : committenti) { + builder.append(committente.getTitle() + " - " + committente.getCodiceFiscale()).append( + StringPool.COMMA_AND_SPACE); } - if(builder.length()>0) - builder.setLength(builder.length()-12); - + if (builder.length() > 0) + builder.setLength(builder.length() - 12); + sb.append(builder.toString()); - sb.append(StringPool.SEMICOLON); - - User istruttore = UserLocalServiceUtil.fetchUser(intPratica.getStatusByUserId()); - if(istruttore!=null){ + sb.append(StringPool.SEMICOLON); + + User istruttore = UserLocalServiceUtil.fetchUser(intPratica.getStatusByUserId()); + if (istruttore != null) { sb.append(istruttore.getFullName()); } else { - sb.append(""); + sb.append(""); } - sb.append(StringPool.SEMICOLON); - - sb.append(LanguageUtil.get(locale, PraticaUtil.getStatoPraticaLabel(intPratica.getStatoPratica(), intPratica))); - sb.append(StringPool.SEMICOLON); - - //ADT BUG-ID=15 Sezione Ricerca / Export csv - sb.append(provincia != null ? provincia.getProvincia() : ""); - sb.append(StringPool.SEMICOLON); - sb.append(comune != null ? comune.getDenominazione() : ""); - sb.append(StringPool.SEMICOLON); - - // sb.append("Territorio: " ).append(comune.getDenominazione()).append(!lastDettPratica.getLocalita().isEmpty() ? "(Loc. "+lastDettPratica.getLocalita()+" ) " : "").append(" - ").append(provincia.getProvincia()); - //ADT BUG-ID=15 Sezione Ricerca / Export csv - Max 30 chars - int MAX_LENGHT_DESCR_INTERVENTO = 30; - sb.append(lastDettPratica.getDescLongIntervento() == null ? "": lastDettPratica.getDescLongIntervento().length() > MAX_LENGHT_DESCR_INTERVENTO ? lastDettPratica.getDescLongIntervento().substring(0, MAX_LENGHT_DESCR_INTERVENTO) : lastDettPratica.getDescLongIntervento()); - sb.append(StringPool.SEMICOLON); - - // Territorio: <%= comune.getDenominazione() %> <%= !lastDettPratica.getLocalita().isEmpty() ? "(Loc. "+lastDettPratica.getLocalita()+" ) " : "" %>- <%= provincia.getProvincia() %>
- // Localizzazione: <%= lastDettPratica.getVia() %>

- // <%= lastDettPratica.getDescLongIntervento() %> - } catch(Throwable e){ - _log.error(method + " IntPraticaId: " + intPratica != null ? intPratica.getIntPraticaId() : "", e); - } finally{ - sb.append(StringPool.NEW_LINE); - } - } - -// } catch (PortalException e) { -// _log.error(e, e); -// } catch (SystemException e) { -// _log.error(e, e); -// } - - return sb.toString(); - - } + sb.append(StringPool.SEMICOLON); + + sb.append(LanguageUtil.get(locale, + PraticaUtil.getStatoPraticaLabel(intPratica.getStatoPratica(), intPratica))); + sb.append(StringPool.SEMICOLON); + + // ADT BUG-ID=15 Sezione Ricerca / Export csv + sb.append(provincia != null ? provincia.getProvincia() : ""); + sb.append(StringPool.SEMICOLON); + sb.append(comune != null ? comune.getDenominazione() : ""); + sb.append(StringPool.SEMICOLON); + + // sb.append("Territorio: " + // ).append(comune.getDenominazione()).append(!lastDettPratica.getLocalita().isEmpty() + // ? "(Loc. "+lastDettPratica.getLocalita()+" ) " : + // "").append(" - ").append(provincia.getProvincia()); + // ADT BUG-ID=15 Sezione Ricerca / Export csv - Max 30 chars + int MAX_LENGHT_DESCR_INTERVENTO = 30; + sb.append(lastDettPratica.getDescLongIntervento() == null ? "" : lastDettPratica + .getDescLongIntervento().length() > MAX_LENGHT_DESCR_INTERVENTO ? lastDettPratica + .getDescLongIntervento().substring(0, MAX_LENGHT_DESCR_INTERVENTO) : lastDettPratica + .getDescLongIntervento()); + sb.append(StringPool.SEMICOLON); + + // Territorio: <%= comune.getDenominazione() %> <%= + // !lastDettPratica.getLocalita().isEmpty() ? + // "(Loc. "+lastDettPratica.getLocalita()+" ) " : "" %>- <%= + // provincia.getProvincia() %>
+ // Localizzazione: <%= lastDettPratica.getVia() + // %>

+ // <%= lastDettPratica.getDescLongIntervento() %> + } catch (Throwable e) { + _log.error(method + " IntPraticaId: " + intPratica != null ? intPratica.getIntPraticaId() + : "", e); + } finally { + sb.append(StringPool.NEW_LINE); + } + } + + // } catch (PortalException e) { + // _log.error(e, e); + // } catch (SystemException e) { + // _log.error(e, e); + // } + + return sb.toString(); + + } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerEstrazioneFirme.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerEstrazioneFirme.java index ff287dee..089d2304 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerEstrazioneFirme.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerEstrazioneFirme.java @@ -4,13 +4,8 @@ import it.tref.liferay.portos.bo.model.DocPratica; import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil; import it.tref.liferay.portos.bo.service.DocPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; -import it.tref.liferay.portos.bo.util.ContentType; - -import java.io.BufferedWriter; import java.io.File; -import java.io.FileWriter; import java.io.IOException; -import java.util.ArrayList; import java.util.List; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @@ -18,6 +13,14 @@ import java.util.concurrent.locks.ReentrantLock; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.FileUtils; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.mime.MultipartEntityBuilder; +import org.apache.http.entity.mime.content.ByteArrayBody; +import org.apache.http.entity.mime.content.ContentBody; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; import com.liferay.portal.kernel.dao.orm.QueryUtil; import com.liferay.portal.kernel.json.JSONArray; @@ -28,10 +31,8 @@ import com.liferay.portal.kernel.messaging.Message; import com.liferay.portal.kernel.messaging.MessageListener; import com.liferay.portal.kernel.messaging.MessageListenerException; import com.liferay.portal.kernel.util.FileUtil; -import com.liferay.portal.kernel.util.Http.FilePart; -import com.liferay.portal.kernel.util.Http.Options; -import com.liferay.portal.kernel.util.HttpUtil; import com.liferay.portal.kernel.util.PropsUtil; +import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.UniqueList; import com.liferay.portal.kernel.workflow.WorkflowConstants; import com.liferay.portal.model.Company; @@ -68,9 +69,10 @@ public class SchedulerEstrazioneFirme implements MessageListener { List docPratiche = DocPraticaLocalServiceUtil.findByStaus( WorkflowConstants.STATUS_PENDING, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); + String urlPdfExtractor = (String) company.getExpandoBridge().getAttribute( + "url_pdf_extractor", false); + for (DocPratica docPratica : docPratiche) { - String urlPdfExtractor = (String) company.getExpandoBridge().getAttribute( - "url_pdf_extractor", false); DLFileEntry fileEntry = DLFileEntryLocalServiceUtil.getFileEntry(docPratica .getDlFileEntryId()); User user = UserLocalServiceUtil.getRoleUsers( @@ -80,23 +82,18 @@ public class SchedulerEstrazioneFirme implements MessageListener { .create(user)); byte[] fileBytes = FileUtil.getBytes(fileEntry.getContentStream()); - Options options = new Options(); - options.setLocation(urlPdfExtractor); - options.setPost(true); - List fileParts = new ArrayList<>(); - fileParts.add(new FilePart("file", fileEntry.getTitle(), fileBytes, - ContentType.P7M.getContentType(), "UTF-8")); - options.setFileParts(fileParts); - - String responseBody; - try { - responseBody = HttpUtil.URLtoString(options); - } catch (Exception e) { - responseBody = ""; - } - - if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK - || options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + ContentBody body = new ByteArrayBody(fileBytes, fileEntry.getTitle()); + builder.addPart("file", body); + HttpPost request = new HttpPost(urlPdfExtractor); + request.setEntity(builder.build()); + CloseableHttpClient client = HttpClientBuilder.create().build(); + HttpResponse response = client.execute(request); + + int statusCode = response.getStatusLine().getStatusCode(); + String responseBody = EntityUtils.toString(response.getEntity(), StringPool.UTF8); + if (statusCode == HttpServletResponse.SC_OK + || statusCode == HttpServletResponse.SC_CREATED) { JSONArray arrayFirme = JSONFactoryUtil.createJSONObject(responseBody) .getJSONArray("cf"); List cf = new UniqueList(); @@ -116,14 +113,16 @@ public class SchedulerEstrazioneFirme implements MessageListener { errorCode); _log.warn("P7M REST extractor error. Response: " + new String(responseBody) + " id=" + fileEntry.getFileEntryId()); - // salvaCampione(fileEntry, fileBytes, - // "0-firme"); + salvaCampione(fileEntry, fileBytes, "0-firme"); } } } } } catch (Exception e) { - _log.info("Errore", e); + if (_log.isDebugEnabled()) + _log.debug("Errore", e); + else + _log.error("Errore " + e.getMessage()); } finally { lock.unlock(); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java index 692beeca..3e4ca8d0 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java @@ -12,6 +12,7 @@ package it.tref.liferay.portos.bo.service.impl; +import it.mwg.sismica.bo.util.HttpServiceUtil; import it.tref.liferay.portos.bo.NoSuchDettPraticaException; import it.tref.liferay.portos.bo.model.Asseverazione; import it.tref.liferay.portos.bo.model.ControlloPratica; @@ -1815,8 +1816,6 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl private void updateAsset(DettPratica dettPratica, ServiceContext serviceContext) throws PortalException, SystemException { - Locale locale = serviceContext.getLocale(); - AssetEntry assetEntry = assetEntryLocalService.updateEntry(dettPratica.getUserId(), dettPratica.getGroupId(), dettPratica.getCreateDate(), dettPratica.getModifiedDate(), DettPratica.class.getName(), dettPratica.getPrimaryKey(), dettPratica.getUuid(), 0L, @@ -2179,32 +2178,16 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl return dettPratica; } - public void sendToVersioning(long dettPraticaId, String url) throws PortalException, SystemException, - NoSuchFieldException, SecurityException, IOException { + public void sendToVersioning(long dettPraticaId, String url) throws Exception { DettPratica dettPratica = dettPraticaLocalService.getDettPratica(dettPraticaId); String jsonToVersioning = dettPratica.serializeToVersioning(); - Options options = new Options(); - options.setLocation(url); - options.setPost(true); - Body body = new Body(jsonToVersioning, ContentTypes.APPLICATION_JSON, "UTF-8"); - options.setBody(body); - - String responseBody = HttpUtil.URLtoString(options); - if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK - || options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { - JSONObject response = JSONFactoryUtil.createJSONObject(responseBody); - int version = response.getInt("version"); - dettPratica.setVersion(version); - dettPratica.setVersionata(true); - dettPraticaLocalService.updateDettPratica(dettPratica); - - } else { - throw new PortalException(options.getResponse().getResponseCode() + StringPool.SPACE - + responseBody); - } - + JSONObject response = HttpServiceUtil.postJson(url, jsonToVersioning); + int version = response.getInt("version"); + dettPratica.setVersion(version); + dettPratica.setVersionata(true); + dettPraticaLocalService.updateDettPratica(dettPratica); } public int getNumeroDiVersioni(String url) throws IOException, PortalException, SystemException { @@ -2233,7 +2216,7 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl JSONObject snapshot = jsonObjectResponse.getJSONObject("Snapshot"); int responseVersion = snapshot.getInt("version"); if (responseVersion != version) { - _log.error("Le versioni non corrispondono"); + _log.error("Le versioni non corrispondono " + responseVersion + "/" + version); } JSONObject jsonFields = snapshot.getJSONObject("fields"); for (String hiddenField : PraticaUtil.getDettPraticaHiddenFields()) { @@ -2256,6 +2239,7 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl } else { _log.error(options.getLocation() + ": " + options.getResponse().getResponseCode()); } +// return "{\"values\":[],\"Snapshot\":{\"version\":0,\"fields\":{}}}"; return StringPool.BLANK; } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaServiceImpl.java index efb23de0..736c17d7 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaServiceImpl.java @@ -480,8 +480,7 @@ public class DettPraticaServiceImpl extends DettPraticaServiceBaseImpl { } - public void sendToVersioning(long dettPraticaId, long companyId) throws PortalException, SystemException, - NoSuchFieldException, SecurityException, IOException { + public void sendToVersioning(long dettPraticaId, long companyId) throws Exception { Company company = CompanyLocalServiceUtil.getCompany(companyId); String commitURL = (String) company.getExpandoBridge().getAttribute( diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/ProtocollazioneUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/ProtocollazioneUtil.java index 2cb6ddd1..3575acd6 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/ProtocollazioneUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/ProtocollazioneUtil.java @@ -1,5 +1,6 @@ package it.tref.liferay.portos.bo.util; +import it.mwg.sismica.bo.util.HttpServiceUtil; import it.tref.liferay.portos.bo.model.Avviso; import it.tref.liferay.portos.bo.model.Collaudo; import it.tref.liferay.portos.bo.model.DettPratica; @@ -28,8 +29,6 @@ import java.util.Collections; import java.util.List; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVRecord; @@ -37,16 +36,11 @@ import org.apache.commons.io.IOUtils; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; -import com.liferay.portal.kernel.json.JSONFactoryUtil; import com.liferay.portal.kernel.json.JSONObject; 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.util.ContentTypes; import com.liferay.portal.kernel.util.GetterUtil; -import com.liferay.portal.kernel.util.Http.Body; -import com.liferay.portal.kernel.util.Http.Options; -import com.liferay.portal.kernel.util.HttpUtil; import com.liferay.portal.kernel.util.ParamUtil; import com.liferay.portal.kernel.util.StreamUtil; import com.liferay.portal.kernel.util.StringPool; @@ -61,13 +55,6 @@ public class ProtocollazioneUtil { private static final Log _log = LogFactoryUtil.getLog(ProtocollazioneUtil.class); - // public static String protocollaPartenza(DettPratica dettPratica, Avviso - // avviso) throws - // Exception { - // - // return protocollaPartenza(dettPratica, avviso, null); - // } - public static String protocollaPartenza(Avviso avviso, Long fileEntryId) throws Exception { String protocollo = null; @@ -100,11 +87,10 @@ public class ProtocollazioneUtil { allegato.setFileSha256(sha256); } - // utilizzato anche come discriminate tra la 1a e la 2a chiamata - // 1a recupero numero protocollo -> 1 allegato finto - // 2a aggiorno dati del documento prodotto -> 2 allegati, il 1o - // giusto e il 2o per recupero - // num protocollo + // utilizzato anche come discriminate tra la 1a e la 2a chiamata 1a + // recupero numero protocollo -> 1 allegato finto 2a aggiorno dati + // del documento prodotto -> 2 allegati, il 1o giusto e il 2o per + // recupero num protocollo Protocollo protocolloBean = new Protocollo(); protocolloBean.setOggetto(generaOggettoProtocollo(avviso.getClassName(), avviso.getAvvisoId())); @@ -114,17 +100,8 @@ public class ProtocollazioneUtil { protocolloBean.setUfficioId(String.valueOf(groupId)); protocolloBean.setPraticaId(String.valueOf(avviso.getClassPk())); protocolloBean.setFiles(Collections.singletonList(allegato)); - Options options = createCall(avviso.getCompanyId(), protocolloBean, true); - - String responseBody = HttpUtil.URLtoString(options); - if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK - || options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { - JSONObject risposta = JSONFactoryUtil.createJSONObject(responseBody); - protocollo = risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); - } else { - throw new Exception(options.getResponse().getResponseCode() + StringPool.SPACE + responseBody); - } - + JSONObject risposta = HttpServiceUtil.postProtocolloBean(avviso.getCompanyId(), protocolloBean); + protocollo = risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); } finally { StreamUtil.cleanUp(inputStream); } @@ -134,8 +111,6 @@ public class ProtocollazioneUtil { public static String protocollaArrivo(Object praticaInstance, String title) throws Exception { - String protocollo = null; - long groupId = 0l; long praticaId = 0l; long companyId = 0l; @@ -202,25 +177,13 @@ public class ProtocollazioneUtil { protocolloBean.setPraticaId(String.valueOf(praticaId)); protocolloBean.setFiles(allegati); - Options options = createCall(companyId, protocolloBean, true); - - String responseBody = HttpUtil.URLtoString(options); - if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK - || options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { - JSONObject risposta = JSONFactoryUtil.createJSONObject(responseBody); - protocollo = risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); - } else { - throw new Exception(options.getResponse().getResponseCode() + StringPool.SPACE + responseBody); - } - - return protocollo; + JSONObject risposta = HttpServiceUtil.postProtocolloBean(companyId, protocolloBean); + return risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); } public static String protocollaArrivoAccessoAtti(long groupId, long companyId, String userName, long accessoAttiId, String className) throws Exception { - String protocollo = null; - List allegati = new ArrayList(); File allegato = new File(); String doc = String.valueOf(accessoAttiId); @@ -238,18 +201,8 @@ public class ProtocollazioneUtil { protocolloBean.setPraticaId(String.valueOf(accessoAttiId)); protocolloBean.setFiles(allegati); - Options options = createCall(companyId, protocolloBean, true); - - String responseBody = HttpUtil.URLtoString(options); - if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK - || options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { - JSONObject risposta = JSONFactoryUtil.createJSONObject(responseBody); - protocollo = risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); - } else { - throw new Exception(options.getResponse().getResponseCode() + StringPool.SPACE + responseBody); - } - - return protocollo; + JSONObject risposta = HttpServiceUtil.postProtocolloBean(companyId, protocolloBean); + return risposta.getString("anno") + String.format("%07d", risposta.getInt("numero")); } public static String generaOggettoProtocollo(String className, long classPk) { @@ -266,69 +219,6 @@ public class ProtocollazioneUtil { return "Oggetto: " + className + " " + classPk; } - public static void test() { - - String url = "http://172.16.20.148:8080/portos-protocollazione-service/v1/api-rest/genera-protocollo"; - // String url = - // "http://10.159.51.84:8080/portos-protocollazione-service/v1/api-rest/genera-protocollo"; - Options options = new Options(); - options.setLocation(url); - options.setPost(true); - flexjson.JSONSerializer serialize = new flexjson.JSONSerializer(); - // JSONSerializer jsonSerializer = - // JSONFactoryUtil.createJSONSerializer(); - - serialize.exclude("*.class"); - - Protocollo protocolloBean = new Protocollo(); - protocolloBean.setOggetto("oggetto"); - protocolloBean.setChiuso(false); - protocolloBean.setTipo(TipoProtocollo.INGRESSO); - protocolloBean.setUtenteId("SSSS"); - protocolloBean.setUfficioId("genio"); - String protocollo = serialize.serialize(protocolloBean); - - Body body = new Body(protocollo, ContentTypes.APPLICATION_JSON, "UTF-8"); - options.setBody(body); - - try { - String responseBody = HttpUtil.URLtoString(options); - - if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK - || options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { - System.out.println("ok " + responseBody); - } else { - System.out.println("error " + responseBody); - } - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - - private static Options createCall(long companyId, Protocollo protocolloBean, boolean post) throws SystemException { - - String url = - ConfigurazioneLocalServiceUtil.findByC_ChiaveString(companyId, - ConfigurazioneConstants.PROTOCOLLAZIONE_SERVICE_URL); - - Options options = new Options(); - options.setLocation(url); - options.setPost(post); - - flexjson.JSONSerializer serialize = new flexjson.JSONSerializer(); - serialize.exclude("*.class"); - String protocollo = serialize.serialize(protocolloBean); - Body body = new Body(protocollo, ContentTypes.APPLICATION_JSON, "UTF-8"); - - options.setBody(body); - - - return options; - - } - public static List csvToOggettoProtocollo(java.io.File file) throws FileNotFoundException, IOException, ParseException { 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 5409a0ba..c0658d2f 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=2405 - build.date=1600340894413 + build.number=2426 + build.date=1600769216546 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpclient.jar b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpclient.jar index 9e0df509..970c9891 100644 Binary files a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpclient.jar and b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpclient.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpcore.jar b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpcore.jar new file mode 100644 index 00000000..99715b6a Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpcore.jar differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpmime.jar b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpmime.jar new file mode 100644 index 00000000..b631ceb4 Binary files /dev/null and b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/httpmime.jar differ