maia/.svn/pristine/aa/aa9ccc492f00bcf94a035702341...

432 lines
24 KiB
Plaintext
Executable File

<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:pe="http://primefaces.org/ui/extensions"
xmlns:maia="http://java.sun.com/jsf/composite/maiaComponents"
template="/WEB-INF/templates/template.xhtml"
xmlns:m="http://code.google.com/p/gmaps4jsf/">
<ui:define name="content">
<script type="text/javascript">
function markerDragHandler(event) {
document.getElementById('formMap:idLatitud2').value = event.latLng.lat();
document.getElementById('formMap:idLongitud2').value = event.latLng.lng();
}
</script>
<h:form id="formTable">
<maia:pageEvents controller="#{sitioAlmacenamientoController}"
queryProcess=":formTable:filters"
queryUpdate=":formTable:catalogdetail"
saveProcess=""
saveUpdate=""
focusContainer=":formTable:filters" />
<p:panelGrid id="filters" columns="2" styleClass="m-filters">
<f:facet name="header">
<h:outputText value="#{msg_armas.lbl_ingresodedatosdesitiosdealmacenamiento}" />
</f:facet>
<p:column>
<p:outputLabel for="tipoCom" value="#{msg_armas.lbl_tipodecomercio}:" />
</p:column>
<p:column>
<p:selectOneMenu id="tipoCom" value="#{sitioAlmacenamientoController.mfilters['tipocomercio']}" var="p"
style="width:250px">
<f:selectItem itemLabel="" itemValue="#{null}" />
<f:selectItems value="#{sitioAlmacenamientoController.tipoComercio}"
var="vmod" itemLabel="#{vmod.description}" itemValue="#{vmod.pk.catalog}" />
</p:selectOneMenu>
</p:column>
<p:column>
<p:outputLabel for="numeroDocumento" value="#{msg_armas.lbl_numerodocumento}:" />
</p:column>
<p:column>
<p:inputText id="numeroDocumento" value="#{sitioAlmacenamientoController.mfilelds['numeroDocumento']}" style="width: 224px;" disabled="true" />
<p:commandButton icon="ui-icon-link" actionListener="#{sitioAlmacenamientoController.openPersonLov()}"
process="@this filters" styleClass="m-lov-button" oncomplete="Maia.focus('formTable\\:idQuery');">
<p:ajax event="dialogReturn" listener="#{sitioAlmacenamientoController.onReturnPersonLov}" update="filters" />
</p:commandButton>
</p:column>
<p:column>
<p:outputLabel for="nombreCom" value="#{msg_armas.lbl_nombrerazonsocial}:" />
</p:column>
<p:column>
<p:inputText id="nombreCom" value="#{sitioAlmacenamientoController.mfilelds['nombre']}" style="width: 100%;" disabled="true" />
</p:column>
</p:panelGrid>
<h:panelGrid columns="7" id="controls" styleClass="m-controls">
<maia:pageControls controller="#{sitioAlmacenamientoController}"
queryProcess=":formTable:filters"
createProcess=":formTable:filters"
queryUpdate=":formTable:filters :formTable:catalogdetail"
createUpdate=":txt1 :txt2 :formProcess:pEdit :dialogSitios"
dialogWidgetVar="dialog" />
</h:panelGrid>
<p:panelGrid id="data-content" columns="1" styleClass="m-data-content">
<f:facet name="header">
<h:outputText value="#{msg_armas.lbl_sitiosalmacenamiento}" />
</f:facet>
<p:dataTable id="catalogdetail" var="row" value="#{sitioAlmacenamientoController.lrecord}" rows="200" style="min-width: 500px; width: auto;" rowKey="#{row.rowkey()}" selectionMode="single">
<p:column headerText="#{msg_armas.lbl_identificacion}" resizable="true" sortBy="#{row.bodega}">
<h:outputText value="#{row.modifiedData['numeroDocumento']}" />
</p:column>
<p:column headerText="#{msg_armas.lbl_nombrerazonsocial}" resizable="true" sortBy="#{row.modifiedData['nombre']}" >
<h:outputText value="#{row.modifiedData['nombre']}" />
</p:column>
<p:column headerText="#{msg_armas.lbl_bodega}" resizable="true" >
<h:outputText value="#{row.bodega}" />
</p:column>
<p:column headerText="#{msg_armas.lbl_direccion}" resizable="true" >
<h:outputText value="#{row.direccion}" />
</p:column>
<p:column headerText="#{msg_armas.lbl_latitud}" resizable="true" >
<h:outputText value="#{row.latitud}" />
</p:column>
<p:column headerText="#{msg_armas.lbl_longitud}" resizable="true" >
<h:outputText value="#{row.longitud}" />
</p:column>
<p:column headerText="#{msg_armas.lbl_responsable}" resizable="true" >
<h:outputText value="#{row.responsable}" />
</p:column>
<p:column styleClass="m-action-column">
<p:commandButton value="#{msg_general.btn_edit}" update=":dialogSitios :txt1 :txt2 :formProcess:pEdit" oncomplete="PF('dialog').show()"
styleClass="m-action-button" icon="ui-icon-pencil" process="@this, :formTable:data-content" action="#{sitioAlmacenamientoController.edit}">
<f:setPropertyActionListener target="#{sitioAlmacenamientoController.record}" value="#{row}" />
<f:setPropertyActionListener target="#{sitioAlmacenamientoController.showRow}" value="#{false}" />
<f:setPropertyActionListener target="#{sitioAlmacenamientoController.newRow}" value="#{false}" />
</p:commandButton>
</p:column>
<p:column styleClass="m-action-column">
<p:commandButton value="#{msg_general.btn_delete}" update=":formTable:data-content" styleClass="m-action-button" icon="ui-icon-trash" action="#{sitioAlmacenamientoController.remove()}" process="@this, :formTable:data-content">
<f:setPropertyActionListener target="#{sitioAlmacenamientoController.record}" value="#{row}" />
</p:commandButton>
</p:column>
</p:dataTable>
</p:panelGrid>
</h:form>
<p:dialog id="dialogSitios" widgetVar="dialog" resizable="false" closeOnEscape="true" modal="true" appendTo="@(body)" showEffect="explode" hideEffect="explode"
styleClass="m-dialog">
<f:facet name="header">
<h:outputText id="txt1" value="#{msg_armas.lbl_crearsitiosdealmacenamiento}" rendered="#{!sitioAlmacenamientoController.btnEditar}"/>
<h:outputText id="txt2" value="#{msg_armas.lbl_modificarsitiosdealmacenamiento}" rendered="#{sitioAlmacenamientoController.btnEditar}"/>
</f:facet>
<h:form id="formProcess">
<p:messages id="messages" autoUpdate="true" globalOnly="true"/>
<p:panelGrid id="pEdit" >
<p:row>
<p:column>
<p:outputLabel for="tipoComercio" value="#{msg_armas.lbl_tipodecomercio}:" />
</p:column>
<p:column>
<p:selectOneMenu id="tipoComercio" value="#{sitioAlmacenamientoController.record.tipocomercio}" var="p"
required="true" style="width:250px" disabled="#{sitioAlmacenamientoController.btnEditar}">
<f:selectItem itemLabel="" itemValue="#{null}" />
<f:selectItems value="#{sitioAlmacenamientoController.tipoComercio}"
var="vmod" itemLabel="#{vmod.description}" itemValue="#{vmod.pk.catalog}" />
</p:selectOneMenu>
</p:column>
<p:column>
<p:message for="provincecode" />
</p:column>
</p:row>
<p:row>
<p:column>
<p:outputLabel for="numeroDoc" value="#{msg_armas.lbl_numerodocumento}:" />
</p:column>
<p:column>
<p:inputText id="numeroDoc" value="#{sitioAlmacenamientoController.record.modifiedData['numeroDocumento']}" style="width: 233px;" disabled="true" />
<p:commandButton icon="ui-icon-link" actionListener="#{sitioAlmacenamientoController.openPersonLov()}"
process="@this" styleClass="m-lov-button" oncomplete="Maia.focus('formTable\\:idQuery');" disabled="#{sitioAlmacenamientoController.btnEditar}">
<p:ajax event="dialogReturn" listener="#{sitioAlmacenamientoController.onReturnPersonDialogLov}" update="nombreComerciante numeroDoc" />
</p:commandButton>
</p:column>
</p:row>
<p:row>
<p:column>
<p:outputLabel for="nombreComerciante" value="#{msg_armas.lbl_nombrerazonsocial}:" />
</p:column>
<p:column colspan="5">
<p:inputText id="nombreComerciante" value="#{sitioAlmacenamientoController.record.modifiedData['nombre']}" style="width: 100%;" disabled="true" />
</p:column>
</p:row>
<p:row>
<p:column>
<p:outputLabel for="bodega" value="#{msg_armas.lbl_bodega}:" />
</p:column>
<p:column colspan="4">
<p:inputText id="bodega" value="#{sitioAlmacenamientoController.record.bodega}" style="width: 100%;" required="true" maxlength="50"/>
</p:column>
<p:column>
<p:message for="bodega" />
</p:column>
</p:row>
<p:row>
<p:column>
<p:outputLabel for="provincecode" value="#{msg_general.lbl_province}:" />
</p:column>
<p:column>
<p:selectOneMenu id="provincecode" value="#{sitioAlmacenamientoController.record.provincecode}" var="p"
required="true" style="width:250px">
<f:selectItem itemLabel="" itemValue="#{null}" />
<p:ajax update="cantoncode, parroquiacode, citycode" event="change" listener="#{sitioAlmacenamientoController.executeProvince()}"/>
<f:selectItems value="#{sitioAlmacenamientoController.lprovinces}" var="id"
itemLabel="#{id.description}" itemValue="#{id.pk.provincecode}" />
</p:selectOneMenu>
</p:column>
<p:column>
<p:message for="provincecode" />
</p:column>
<p:column>
<p:outputLabel for="cantoncode" value="#{msg_general.lbl_canton}:" />
</p:column>
<p:column>
<p:selectOneMenu id="cantoncode" value="#{sitioAlmacenamientoController.record.cantoncode}" var="p"
panelStyle="width:135px" required="true" style="width:250px">
<f:selectItem itemLabel="" itemValue="#{null}" />
<p:ajax update="parroquiacode, citycode" event="change" listener="#{sitioAlmacenamientoController.executeCanton()}"/>
<f:selectItems value="#{sitioAlmacenamientoController.lcantones}" var="id"
itemLabel="#{id.description}" itemValue="#{id.pk.cantoncode}" />
</p:selectOneMenu>
</p:column>
<p:column>
<p:message for="cantoncode" />
</p:column>
</p:row>
<p:row>
<p:column>
<p:outputLabel for="citycode" value="#{msg_general.lbl_city}:" />
</p:column>
<p:column>
<p:selectOneMenu id="citycode" value="#{sitioAlmacenamientoController.record.citycode}" var="p"
panelStyle="width:135px" style="width:250px" required="true">
<f:selectItem itemLabel="" itemValue="#{null}" />
<p:ajax update="parroquiacode" event="change" listener="#{sitioAlmacenamientoController.executeCiudad()}"/>
<f:selectItems value="#{sitioAlmacenamientoController.lcities}" var="id"
itemLabel="#{id.description}" itemValue="#{id.pk.citycode}" />
</p:selectOneMenu>
</p:column>
<p:column>
<p:message for="citycode"/>
</p:column>
<p:column>
<p:outputLabel for="parroquiacode" value="#{msg_general.lbl_parroquia}:"/>
</p:column>
<p:column>
<p:selectOneMenu id="parroquiacode" value="#{sitioAlmacenamientoController.record.parroquiacode}" var="p"
panelStyle="width:135px" required="true" style="width:250px">
<f:selectItem itemLabel="" itemValue="#{null}" />
<f:selectItems value="#{sitioAlmacenamientoController.lparroquias}" var="id"
itemLabel="#{id.description}" itemValue="#{id.pk.parroquiacode}" />
</p:selectOneMenu>
</p:column>
<p:column>
<p:message for="parroquiacode"/>
</p:column>
</p:row>
<p:row>
<p:column>
<p:outputLabel for="direccion" value="#{msg_armas.lbl_direccion}:">
<p:ajax event="blur" update=":formMap"/>
</p:outputLabel>
</p:column>
<p:column colspan="4">
<p:inputText id="direccion" value="#{sitioAlmacenamientoController.record.direccion}" style="width: 100%;" required="true" maxlength="100">
<p:ajax event="blur" update=":formMap"/>
</p:inputText>
</p:column>
<p:column>
<p:message for="direccion"/>
</p:column>
<p:column>
</p:column>
</p:row>
<p:row>
<p:column>
<p:outputLabel for="referencia" value="#{msg_armas.lbl_referencia}:" />
</p:column>
<p:column colspan="4">
<p:inputText id="referencia" value="#{sitioAlmacenamientoController.record.referencia}" style="width: 100%;" required="true" maxlength="500"/>
</p:column>
<p:column>
<p:message for="referencia"/>
</p:column>
</p:row>
<p:row>
<p:column>
<p:outputLabel for="telefono" value="#{msg_armas.lbl_telefono}:" />
</p:column>
<p:column>
<p:inputText id="telefono" value="#{sitioAlmacenamientoController.record.telefono}" style="width: 100%;" required="true" maxlength="10">
<pe:keyFilter regEx="/[\d\s,]/"/>
</p:inputText>
</p:column>
<p:column>
<p:message for="telefono"/>
</p:column>
<p:column>
<p:outputLabel for="responsable" value="#{msg_armas.lbl_responsable}:" />
</p:column>
<p:column>
<p:inputText id="responsable" value="#{sitioAlmacenamientoController.record.responsable}" style="width: 100%;" required="true" maxlength="50"/>
</p:column>
<p:column>
<p:message for="responsable"/>
</p:column>
</p:row>
</p:panelGrid>
<h:panelGrid columns="2">
<h:outputText value=" #{msg_armas['lbl_ubicacion']}:" style="font-weight:bold;padding-top:5px; padding-bottom:5px"/>
<p:selectOneRadio id="console" value="#{sitioAlmacenamientoController.tipoMapa}">
<f:selectItem itemLabel="#{msg_armas.lbl_direccion}" itemValue="direccion" />
<f:selectItem itemLabel="#{msg_armas['lbl_coodenadas']}" itemValue="coodernadas" />
<p:ajax update="panelDireccion" event="change" listener="#{sitioAlmacenamientoController.changeUbicacion}"/>
</p:selectOneRadio>
</h:panelGrid>
<br />
<p:outputPanel id="panelDireccion" autoUpdate="true">
<h:panelGrid columns="7" rendered="#{sitioAlmacenamientoController.tipoMapa eq 'direccion' or sitioAlmacenamientoController.tipoMapa eq 'coodernadas'}">
<p:outputLabel for="latitud" value="#{msg_armas.lbl_latitud}:" style="width:90px;display:block;"/>
<p:inputText id="latitud" value="#{sitioAlmacenamientoController.record.latitud}" maxlength="10"
style="width: 235px;" required="true" disabled="true"/>
<p:message id="lat" for="latitud" />
<p:outputLabel for="longuitud" value="#{msg_armas.lbl_longitud}:" style="width:90px;display:block; margin-left:10px;"/>
<p:inputText id="longuitud" value="#{sitioAlmacenamientoController.record.longitud}" maxlength="10"
style="width: 235px;" required="true" disabled="true"/>
<p:message id="lon" for="longuitud"/>
</h:panelGrid>
<h:panelGrid id="gridCoordenandas" rendered="#{sitioAlmacenamientoController.tipoMapa eq 'coodernadas' or sitioAlmacenamientoController.tipoMapa eq 'direccion'}" columns="3" style="margin-left:-5px">
<h:panelGrid columns="10">
<p:outputLabel for="latitudG" value="#{msg_armas.lbl_latitud}:" style="width:92px;display:block;"/>
<p:selectOneRadio id="gpsLatitud" value="#{sitioAlmacenamientoController.latitudGMS}" disabled="#{sitioAlmacenamientoController.tipoMapa eq 'direccion'}" style="display:block; margin-right: 10px;">
<f:selectItem itemLabel="N" itemValue="norte" />
<f:selectItem itemLabel="S" itemValue="sur" />
</p:selectOneRadio>
<p:inputText id="latitudG" value="#{sitioAlmacenamientoController.latitudG}" maxlength="10"
style="width: 35px;" required="true" disabled="#{sitioAlmacenamientoController.tipoMapa eq 'direccion'}">
<pe:keyFilter regEx="/[\d\.]/" />
</p:inputText>
<p:outputLabel value="&#176;" style="font-size: 21px !important; width:10px"/>
<p:message id="latG" for="latitudG" />
<p:inputText id="latitudM" value="#{sitioAlmacenamientoController.latitudM}" maxlength="10"
style="width: 35px;" required="true" disabled="#{sitioAlmacenamientoController.tipoMapa eq 'direccion'}">
<pe:keyFilter regEx="/[\d\.]/" />
</p:inputText>
<p:outputLabel value="&#8216;" style="font-size: 16px !important; width:10px"/>
<p:message id="latM" for="latitudM" />
<p:inputText id="latitudS" value="#{sitioAlmacenamientoController.latitudS}" maxlength="10"
style="width: 70px;" required="true" disabled="#{sitioAlmacenamientoController.tipoMapa eq 'direccion'}">
<pe:keyFilter regEx="/[\d\.]/" />
</p:inputText>
<p:outputLabel value="&#34;" style="font-size: 16px !important; width:10px"/>
<p:message id="latS" for="latitudS" />
</h:panelGrid>
<h:panelGrid columns="10" >
<p:outputLabel for="longuitudG" value="#{msg_armas.lbl_longitud}:" style="width:90px;display:block;"/>
<p:selectOneRadio id="gpsLongotud" value="#{sitioAlmacenamientoController.longitudGMS}" disabled="#{sitioAlmacenamientoController.tipoMapa eq 'direccion'}" style="display:block; margin-right: 10px;">
<f:selectItem itemLabel="E" itemValue="este" />
<f:selectItem itemLabel="O" itemValue="oeste" />
</p:selectOneRadio>
<p:inputText id="longuitudG" value="#{sitioAlmacenamientoController.longuitudG}" maxlength="10"
style="width: 35px;" required="true" disabled="#{sitioAlmacenamientoController.tipoMapa eq 'direccion'}">
<pe:keyFilter regEx="/[\d\.]/" />
</p:inputText>
<p:outputLabel value="&#176;" style="font-size: 21px !important; width:10px"/>
<p:message id="lonG" for="longuitudG" />
<p:inputText id="longuitudM" value="#{sitioAlmacenamientoController.longuitudM}" maxlength="10"
style="width: 35px;" required="true" disabled="#{sitioAlmacenamientoController.tipoMapa eq 'direccion'}">
<pe:keyFilter regEx="/[\d\.]/" />
</p:inputText>
<p:outputLabel value="&#8216;" style="font-size: 16px !important; width:10px"/>
<p:message id="lonM" for="longuitudM" />
<p:inputText id="longuitudS" value="#{sitioAlmacenamientoController.longuitudS}" maxlength="10"
style="width: 70px;" required="true" disabled="#{sitioAlmacenamientoController.tipoMapa eq 'direccion'}">
<pe:keyFilter regEx="/[\d\.]/" />
</p:inputText>
<p:outputLabel value="&#34;" style="font-size: 16px !important; width:10px"/>
<p:message id="lonS" for="longuitudS" />
</h:panelGrid>
<p:commandButton value="#{msg_armas.btn_ubicar}" oncomplete="if (!args.validationFailed) PF('dialogMap').show()" update=":formMap" style="margin-left: 40px;"
actionListener="#{sitioAlmacenamientoController.openMapPorCoordenandas}" process="gridCoordenandas"/>
</h:panelGrid>
<h:panelGrid columns="2" rendered="#{sitioAlmacenamientoController.tipoMapa eq 'coodernadas'}">
<p:outputLabel style="color:red;" value="Nota:"/><p:outputLabel value="#{msg_armas.nota_coordenadas}"/>
</h:panelGrid>
</p:outputPanel>
<h:panelGrid columns="2" styleClass="m-dialog-controls">
<maia:dialogControls controller="#{sitioAlmacenamientoController}"
process=":formProcess:pEdit"
update=":formProcess:pEdit, :formTable:catalogdetail "
dialogWidgetVar="dialog" />
</h:panelGrid>
</h:form>
</p:dialog>
<p:dialog widgetVar="dialogMap" resizable="false" closeOnEscape="true" modal="true" appendTo="@(body)" showEffect="explode" hideEffect="explode"
styleClass="m-dialog" style="overflow:auto" >
<f:facet name="header">
<h:outputText id="txtTituloMap" value="Google Map" />
</f:facet>
<h:form id="formMap">
<h:panelGrid columns="6">
<p:outputLabel for="idLatitud2" value="#{msg_armas.lbl_latitud}:"/>
<p:inputText id="idLatitud2" value="#{sitioAlmacenamientoController.latitud}" size="30" required="true">
<pe:keyFilter regEx="/[\\]/" />
</p:inputText>
<p:message for="idLatitud2" />
<p:outputLabel for="idLongitud2" value="#{msg_armas.lbl_longitud}:"/>
<p:inputText id="idLongitud2" value="#{sitioAlmacenamientoController.longitud}" size="30" required="true">
<pe:keyFilter regEx="/[\\]/" />
</p:inputText>
<p:message for="idLongitud2" />
</h:panelGrid>
<p:commandButton value="#{msg_armas.btn_guardar_coordenadas}" action="#{sitioAlmacenamientoController.evento}"
oncomplete="if (!args.validationFailed) PF('dialogMap').hide()" update=":formProcess:gridCoordenandas"/>
<p:outputPanel rendered="#{sitioAlmacenamientoController.tipoMapa eq 'direccion'}">
<m:map id="idMap" address="#{sitioAlmacenamientoController.record.direccion} + ', ' + #{sitioAlmacenamientoController.direccionGoogleMap}" zoom="15" width="700px" height="400px" partiallyTriggered="true">
<m:marker draggable="true">
<m:eventListener eventName="dragend" jsFunction="markerDragHandler" />
</m:marker>
</m:map>
</p:outputPanel>
<p:outputPanel rendered="#{sitioAlmacenamientoController.tipoMapa eq 'coodernadas' and sitioAlmacenamientoController.record.latitud !=null and sitioAlmacenamientoController.record.longitud != null}">
<m:map id="idMapC" latitude="#{sitioAlmacenamientoController.record.latitud}" longitude="#{sitioAlmacenamientoController.record.longitud}" zoom="15" width="700px" height="400px" partiallyTriggered="true">
<m:marker draggable="true">
<m:eventListener eventName="dragend" jsFunction="markerDragHandler" />
</m:marker>
</m:map>
</p:outputPanel>
</h:form>
</p:dialog>
</ui:define>
</ui:composition>