Fernando Humanes

Blog personal

Se ha incluido la furncionalidad de mapa temático con la versión de Anymap 8.0.2.

Para trabajar en esta opción lo primero que hay que tener es el mapa y para ello se ha seguido las instrucciones de la documentanción de AnyChart https://docs.anychart.com/Maps/Custom_GeoJson_Maps   que está muy bien.

Tanto la Comunidad de Madrid, como el ayuntamiento de Madrid y el Ministerio facilitan fichero en formato SHAPE que podrán, siguiendo las instrucciones, conversirse en formato GEOJSON que es lo que resuiere esta librería de javascript.

Adjunto el zip que tiene un ejemplo del formato que hay que codificar, tanto en la definición del mapa como en los datos que se deben aportar al mismo para su representación.

El fichero geojson es la salida que se explica en el manual de confección de mapa, antes referenciado, y lo único que se hace es asigna a una variable javascript el mapa para despues utilizarlo. Su ha hecho un fichero independiente para que así se cachee y no se cargue cada vez que se muestra un mapa con distintos datos.

En PHPRunner se ha utilizado una consulta y en su LIST (obligatorio) con salida en formato vertical se utiliza un campo para «volcar» el hatml y javascript necesario para la representación del mapa.

He actualizado el artículo y toda la documentación de esta solución.

Los cambios principales hechos son:

  • He normalizado los nombres de las tablas definiendo 2 grupos:
    • CT .- Para las entidades de catálogos.
    • WF .- Para las entidades de los datos de los Expedientes.
  • He normalizado el código de los eventos del núcleo del WF para que sólo esté una vez en todos los tipos de Expediente y sea más sencillo su identificación y mantenimiento.
  • He normalizado el control de los acceso a los datos utilizando el evento que PHPRunner tiene para el control de acceso.
  • He normalizado las plantillas de Alta, Edición y Visaulización de los Expedientes y también, la de Trámites y Utilidades, de forma quer sea mucho más sencillo generar nuevos expedientes.
  • He incluido la consulta de la diagramación del Expediente
  • He corregido algunos problemas que tenía cuando la tramitación no se completaba.
  • He actualizado la documentación.

En general, he hecho un producto mucho más sólido y mantenible.

Podéis acceder para pruebas en https://fhumanes.com/workflow/      con usuario «guest» y password «guest».

 

Este ejemplo hecho en PHPRunner 9.8 tiene por objetivo utilizar alguno de los múltiples códigos de Javascript que representan calendarios en aplicaciones web.

Para este caso concreto que lo que se resuelve es un sistema en que los usuarios proponen vacaciones para un periodo concreto, como puede ser Semana Santa o cualquier otro, las vacaciones propuestan se ven y relacionan con la de los distintos miembros de un equipo o grupo.

El ejemplo parte de los siguientes requisitos:

  • Se establecen los días festivos adicionales de los sábados y domingos.
  • Se establece los días límites del periodo. Para controlar que las peticiones se hacen sólo para dicho periodo.
  • Se verifica que la fechas son correctas, la fecha de inicio es menor que la final y que ningún día de ese periodo está solicitado en alguna petición anterior.
  • Los usuarios pertenecerán a uno o más de uno de los Grupos. Orientación de Jerarquía de la empresa y organización fucnional.

Sigue leyendo

Al realizar un prototipo de cómo se podrían publicar los datos electorales de la Comunidad de Madrid (son datos públicos) he tenido que resolver el pasar el color con el que deben reflejar los votos de cada una de las  candidaturas para los citados gráficos de Anychart.

Me apoyaré en las siguientes imágenes para explicar lo que he hecho.

Estos son distintos eventos que tiene el objeto del gráfico. Es muy importante saber en qué orden se ejecutan pues el primer problema es que intenté recuerar los colores de las candidatura en el evento «Before SQL query» y este evento se ejecuta después del evento «Before display» que es donde se utiliza el mecanismo de pasar valores de PHP a Javascript.

Así pues, el código necesario está incluído en el evento (2) «Before display», quedando:

 

Una de las primera cosa que tuve que hacer es buscar en qué variable estaba la clave de los registros que debía seleccionar y en mi caso la variable es $_SESSION[‘v_escanos Chart_masterkey1’] . Lo obtube a través del depurador de código.

Como en Javascript, los colores se deben entregar en una array, pase el string recuperado en un array (PHP) y lo pasé a través del pobjeto «proxy». $pageObject->setProxyValue(«color»,$_SESSION[‘Colores’]);

Utilicé una variable de sesión, pero esto no es necesario.

Disponiendo del valor, ya en el evento donde se facilita la parametrización de gráfico en Javascript se define la paleta de colores y se fijan los valores recogidos,

Espero que te haya sido de utilidad.