Salvatore La Manna
3 anni fa
27 ha cambiato i file con 326 aggiunte e 23 eliminazioni
@ -0,0 +1,121 @@ |
|||||||
|
package it.mwg.sismica.bo.portlet; |
||||||
|
|
||||||
|
import it.tref.liferay.portos.bo.model.Comune; |
||||||
|
import it.tref.liferay.portos.bo.model.DettPratica; |
||||||
|
import it.tref.liferay.portos.bo.model.IntPratica; |
||||||
|
import it.tref.liferay.portos.bo.model.Provincia; |
||||||
|
import it.tref.liferay.portos.bo.service.ComuneLocalServiceUtil; |
||||||
|
import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; |
||||||
|
import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; |
||||||
|
import it.tref.liferay.portos.bo.service.ProvinciaLocalServiceUtil; |
||||||
|
import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; |
||||||
|
|
||||||
|
import java.io.IOException; |
||||||
|
import java.util.Arrays; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import javax.portlet.ActionRequest; |
||||||
|
import javax.portlet.ActionResponse; |
||||||
|
import javax.portlet.PortletException; |
||||||
|
import javax.portlet.ResourceRequest; |
||||||
|
import javax.portlet.ResourceResponse; |
||||||
|
|
||||||
|
import org.apache.commons.lang.StringUtils; |
||||||
|
|
||||||
|
import com.liferay.portal.kernel.exception.PortalException; |
||||||
|
import com.liferay.portal.kernel.exception.SystemException; |
||||||
|
import com.liferay.portal.kernel.json.JSONArray; |
||||||
|
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.ParamUtil; |
||||||
|
import com.liferay.portal.kernel.util.StringPool; |
||||||
|
import com.liferay.portal.kernel.util.Validator; |
||||||
|
import com.liferay.portal.service.ServiceContext; |
||||||
|
import com.liferay.portal.service.ServiceContextFactory; |
||||||
|
import com.liferay.util.bridges.mvc.MVCPortlet; |
||||||
|
|
||||||
|
public class RicercaPosizionePortlet extends MVCPortlet { |
||||||
|
private static final Log _log = LogFactoryUtil.getLog(RicercaPosizionePortlet.class); |
||||||
|
|
||||||
|
@SuppressWarnings("serial") |
||||||
|
private static final List<String> CAMPI = Arrays.<String> asList("tabs1", "numeroProgetto", "provincia", "comune", |
||||||
|
"via", "lat", "long", "raggio"); |
||||||
|
|
||||||
|
public void ricerca(ActionRequest actionRequest, ActionResponse actionResponse) { |
||||||
|
|
||||||
|
for (String campo : CAMPI) { |
||||||
|
String val = ParamUtil.getString(actionRequest, campo, StringPool.BLANK); |
||||||
|
actionResponse.setRenderParameter(campo, val); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void localizzaProgetto(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException, |
||||||
|
SystemException { |
||||||
|
|
||||||
|
String numeroProgetto = ParamUtil.getString(actionRequest, "numeroProgetto"); |
||||||
|
JSONObject object = JSONFactoryUtil.createJSONObject(); |
||||||
|
if (Validator.isNotNull(numeroProgetto)) { |
||||||
|
IntPratica pratica = IntPraticaLocalServiceUtil.findByNumeroProgetto(numeroProgetto); |
||||||
|
if (Validator.isNotNull(pratica)) { |
||||||
|
DettPratica dett = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(pratica.getIntPraticaId()); |
||||||
|
if (Validator.isNotNull(dett)) { |
||||||
|
String localizzazione = dett.getLocalizzazioneGeografica(); |
||||||
|
if (Validator.isNotNull(localizzazione)) { |
||||||
|
String[] parti = StringUtils.split(localizzazione, '|'); |
||||||
|
if (parti.length > 1) { |
||||||
|
object.put("lat", Double.valueOf(parti[0])); |
||||||
|
object.put("lng", Double.valueOf(parti[1])); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
writeJSON(actionRequest, actionResponse, object); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException, |
||||||
|
PortletException { |
||||||
|
|
||||||
|
String id = resourceRequest.getResourceID(); |
||||||
|
ServiceContext serviceContext; |
||||||
|
try { |
||||||
|
serviceContext = ServiceContextFactory.getInstance(resourceRequest); |
||||||
|
long companyId = serviceContext.getCompanyId(); |
||||||
|
JSONArray array = JSONFactoryUtil.createJSONArray(); |
||||||
|
switch (id) { |
||||||
|
case "province": |
||||||
|
for (String codice : TerritorioLocalServiceUtil.getActiveProvince()) { |
||||||
|
JSONObject object = JSONFactoryUtil.createJSONObject(); |
||||||
|
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(companyId, codice); |
||||||
|
object.put("id", provincia.getCodiceProvincia()); |
||||||
|
object.put("nome", provincia.getProvincia()); |
||||||
|
array.put(object); |
||||||
|
} |
||||||
|
writeJSON(resourceRequest, resourceResponse, array); |
||||||
|
break; |
||||||
|
case "comuni": |
||||||
|
String provinciaId = ParamUtil.getString(resourceRequest, "provinciaId"); |
||||||
|
if (Validator.isNotNull(provinciaId)) { |
||||||
|
List<Long> comuni = TerritorioLocalServiceUtil.getActiveComuniByCodiceProvincia(provinciaId); |
||||||
|
for (long comuneId : comuni) { |
||||||
|
JSONObject object = JSONFactoryUtil.createJSONObject(); |
||||||
|
Comune comune = ComuneLocalServiceUtil.getComune(comuneId); |
||||||
|
object.put("id", comune.getComuneId()); |
||||||
|
object.put("nome", comune.getDenominazione()); |
||||||
|
array.put(object); |
||||||
|
} |
||||||
|
} |
||||||
|
writeJSON(resourceRequest, resourceResponse, array); |
||||||
|
break; |
||||||
|
default: |
||||||
|
super.serveResource(resourceRequest, resourceResponse); |
||||||
|
} |
||||||
|
} catch (PortalException | SystemException e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,166 @@ |
|||||||
|
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
||||||
|
<%@include file="/html/init.jsp" %> |
||||||
|
<%@page import="com.liferay.portal.kernel.util.HtmlUtil"%> |
||||||
|
<%@page import="it.tref.liferay.portos.bo.shared.util.PortletKeys"%> |
||||||
|
<%@page import="it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil"%> |
||||||
|
<%@page import="it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil"%> |
||||||
|
<%@page import="it.tref.liferay.portos.bo.util.PraticaUtil"%> |
||||||
|
<%@page import="java.text.NumberFormat"%> |
||||||
|
<%@page import="java.text.DecimalFormat"%> |
||||||
|
<%@page import="java.util.ArrayList"%> |
||||||
|
<%@page import="java.util.Locale"%> |
||||||
|
<%@page import="javax.portlet.PortletURL"%> |
||||||
|
<%@page import="it.mwg.sismica.bo.util.MappeUtil"%> |
||||||
|
<% |
||||||
|
String codiceProvincia = ParamUtil.getString(request, "provincia", StringPool.BLANK); |
||||||
|
long idComune = ParamUtil.getLong(request, "comune", 0); |
||||||
|
String urlIframeMappe = MappeUtil.getUrlRicerca(request, codiceProvincia, idComune); |
||||||
|
%> |
||||||
|
<liferay-portlet:actionURL name="ricerca" var="ricercaURL" /> |
||||||
|
<div class="container-fluid"> |
||||||
|
<div class="row"> |
||||||
|
<div class="module-group"> |
||||||
|
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="ricerca-posizione"> |
||||||
|
<div class="container-fluid"> |
||||||
|
<div class="row"> |
||||||
|
<aui:form method="POST" name="ricerca" action="<%= ricercaURL %>"> |
||||||
|
<div class="col-xs-6 col-sm-5"> |
||||||
|
<aui:select name="provincia" label="dp-dc-prov" showEmptyOption="true" /> |
||||||
|
</div> |
||||||
|
<div class="col-xs-6 col-sm-5"> |
||||||
|
<aui:select name="comune" label="dp-dc-comune" showEmptyOption="true" /> |
||||||
|
</div> |
||||||
|
<div class="col-xs-12 col-sm-2 text-right" style="padding-top:19px"> |
||||||
|
<aui:button type="submit" value="search" /> |
||||||
|
</div> |
||||||
|
</aui:form> |
||||||
|
</div> |
||||||
|
<div class="row cont_maps"> |
||||||
|
<div class="col-xs-12"> |
||||||
|
<!-- Integrazione geoportal --> |
||||||
|
<div style="border:none;width:100%;height:700px"> |
||||||
|
<iframe src="<%= urlIframeMappe %>" style="border:none;width:100%;height:700px"></iframe> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</liferay-ui:panel> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<script> |
||||||
|
var <portlet:namespace/>comuneSelezionato = ''; |
||||||
|
|
||||||
|
YUI().use( |
||||||
|
'aui-tooltip', |
||||||
|
function(Y) { |
||||||
|
new Y.TooltipDelegate({ |
||||||
|
trigger: '.tooltip-info', |
||||||
|
position: 'top', |
||||||
|
cssClass: 'tooltip-help', |
||||||
|
html: true, |
||||||
|
opacity: 1, |
||||||
|
}); |
||||||
|
} |
||||||
|
); |
||||||
|
</script> |
||||||
|
<liferay-portlet:resourceURL id="province" var="getProvinceURL" /> |
||||||
|
<liferay-portlet:resourceURL id="comuni" var="getComuniURL" /> |
||||||
|
<aui:script use="aui-io-request,liferay-dynamic-select"> |
||||||
|
var getProvince = function(callback) { |
||||||
|
A.io.request( |
||||||
|
'<%= getProvinceURL %>', |
||||||
|
{ |
||||||
|
dataType: 'json', |
||||||
|
on: { |
||||||
|
success: function() { |
||||||
|
var data = this.get('responseData'); |
||||||
|
<portlet:namespace/>province = {}; |
||||||
|
for (var i = 0; i < data.length; i++) { |
||||||
|
<portlet:namespace/>province[data[i].nome.replaceAll(' ', '-').toLowerCase()] = data[i].id; |
||||||
|
} |
||||||
|
callback(data); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
); |
||||||
|
}; |
||||||
|
|
||||||
|
var getComuni = function(callback, provinciaId) { |
||||||
|
A.io.request( |
||||||
|
'<%= getComuniURL %>', |
||||||
|
{ |
||||||
|
dataType: 'json', |
||||||
|
data: { |
||||||
|
<portlet:namespace />provinciaId: provinciaId |
||||||
|
}, |
||||||
|
on: { |
||||||
|
success: function() { |
||||||
|
var data = this.get('responseData'); |
||||||
|
callback(data); |
||||||
|
if ('' !== <portlet:namespace/>comuneSelezionato) { |
||||||
|
for (var i = 0; i < data.length; i++) { |
||||||
|
if (data[i].nome.replaceAll(' ', '-').toLowerCase() === <portlet:namespace/>comuneSelezionato) { |
||||||
|
A.one('#<portlet:namespace/>comune').set('value', data[i].id); |
||||||
|
} |
||||||
|
} |
||||||
|
<portlet:namespace/>comuneSelezionato = ''; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
); |
||||||
|
}; |
||||||
|
new Liferay.DynamicSelect([ |
||||||
|
{ |
||||||
|
select: '<portlet:namespace />provincia', |
||||||
|
selectData: getProvince, |
||||||
|
selectDesc: 'nome', |
||||||
|
selectId: 'id', |
||||||
|
selectSort: true, |
||||||
|
selectVal: '<%= codiceProvincia %>', |
||||||
|
}, |
||||||
|
{ |
||||||
|
select: '<portlet:namespace />comune', |
||||||
|
selectData: getComuni, |
||||||
|
selectDesc: 'nome', |
||||||
|
selectId: 'id', |
||||||
|
selectSort: true, |
||||||
|
selectDisableOnEmpty: true, |
||||||
|
selectVal: '<%= idComune %>', |
||||||
|
}, |
||||||
|
]); |
||||||
|
</aui:script> |
||||||
|
<script> |
||||||
|
document.addEventListener('DOMContentLoaded', function(event) { |
||||||
|
window.addEventListener('message', messageListener, false); |
||||||
|
}); |
||||||
|
function messageListener(event) { |
||||||
|
try { |
||||||
|
var data = JSON.parse(event.data); |
||||||
|
} catch (e) { |
||||||
|
return; |
||||||
|
} |
||||||
|
var trasferiti = []; |
||||||
|
for (key in data) { |
||||||
|
switch (key) { |
||||||
|
case 'latitudine': |
||||||
|
var name = 'lat'; |
||||||
|
break; |
||||||
|
case 'longitudine': |
||||||
|
var name = 'long'; |
||||||
|
break; |
||||||
|
default: |
||||||
|
var name = 'input_' + key; |
||||||
|
} |
||||||
|
var el = document.getElementById('<portlet:namespace/>' + name); |
||||||
|
if (null !== el) { |
||||||
|
el.value = data[key]; |
||||||
|
trasferiti.push(key); |
||||||
|
} |
||||||
|
} |
||||||
|
if (trasferiti.length > 0) { |
||||||
|
//console.log('Trasferiti correttamente: ' + trasferiti.join(', ')); |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
Caricamento…
Reference in new issue