Última Milla(WEB)
Manual técnico
Última Milla(WEB)
Fecha: 13 de agosto de 2024
Versión: Ver. 1.0
Proyecto: GM-ULTMILLA
Elaborado por:
Certuit Software S. de R.L de C.V.
Cerro de las Campanas No. 384, Insurgentes Oeste, CP. 21280
Mexicali, BC. México
Historial de Cambios
| Fecha | Secciones | Razón de Cambios | Autor(es) | Revisor(es) |
|---|---|---|---|---|
| 13 de agosto de 2022 | TODAS | Creación del documento | Esteban Valencia | Adrian Renteria |
| 2 de septiembre del 2024 | TODAS | Actualización de contenido y formato | Silvia Tolosa |
Introducción
Descripción del Proyecto
GM Última Milla Sistema Web es una aplicación web diseñada para ser utilizada por el personal de las empresas de logística.
Tecnologías y Librerías Utilizadas
Se presenta el listado de tecnologías y sus versiones.
-
Frontend
- NodeJS: v14.17.3
- ReactJS: v17.0.1
- React Router: v5.2.0
- npm: v6.14.13
- JavaScript
-
Backend
- Spring Boot 2.1.6
- Maven 3.8.1
- Java 8
Librerías destacadas
Here API
Es usado para mostrar el mapa en Última Milla y calcular las rutas sugeridas a los operadores.
Material UI v4
Para componentes de vista.
Bootstrap
El proyecto se inició usando Bootstrap para los componentes de vista pero se fue migrando a Material UI, sin embargo, aún hay código de bootstrap.
Arquitectura del Proyecto
Navegación
La navegación dentro del proyecto se hace usando React Router. Se puede observar la configuración en el archivo App.js ubicado en la carpeta src en la raíz del proyecto.
Visualmente se accede a los procesos y catálogos por medio de una barra lateral.
Configuración Inicial del Proyecto
Frontend
Seguir los pasos descritos para configurar el proyecto en un ambiente de desarrollo (local):
- Clonar el Repositorio:
| git clone http://190.9.53.4:3000/GM-Transport/ultima-milla-front.git |
|---|
- Descargar librerías: Ejecutar el comando
| npm install |
|---|
- Ejecutar el Proyecto:
| npm start |
|---|
Esto abrirá la aplicación en http://localhost:3000.
Backend
Seguir los pasos descritos para configurar el proyecto en un ambiente de desarrollo (local):
- Clonar el Repositorio:
| git clone http://190.9.53.4:3000/GM-Transport/ultima-milla-back.git |
|---|
- Instalar IDE de preferencia:
Para la documentación utilizaremos el IDE de visual studio code, por lo cual seguiremos la documentación oficial para la instalación y ejecución de un proyecto en Spring Boot.
Los servicios estarán disponibles en la ruta http://localhost:8091.
Conexión con servicios
Rutas de servicios
El proyecto se divide en cuatro ramas principales: master, release, develop, y calidad. Las ramas calidad y develop están conectadas al ambiente de pruebas, mientras que la rama release a preproducción y master a producción.
Las URLs de cada ambiente se encuentran en el archivo .env que se ubica en la raíz del proyecto.
- Ambiente de Pruebas:
- Backend Webdev (REACT_APP_API_URL):
- Backend Spring Boot (REACT_APP_REPORT_URL):
- Ambiente de Producción:
- Backend Webdev (REACT_APP_API_URL):
- Backend Spring Boot (REACT_APP_REPORT_URL):
Es importante mencionar que la forma de identificar qué base de datos se va consultar es a través del RFC del cliente. Para esto se manda el RFC como header en todas las peticiones de backend.
El backend de WEBDEV es en su mayoría solo utilizado para tema de reportes. Ahí se almacenan los formatos de impresión y se consultan. También se realizan las acciones relacionadas con el SAT como timbrado, cancelaciones de timbrado, entre otras. El resto de flujos se hacen con el backend de Spring Boot.
Organización de Directorios
Frontend
La estructura de directorios del proyecto está organizada de la siguiente manera:
Proyecto
- scr: contiene los archivos del proyecto tal cual, componentes, paginas, etc.
- Constants/index: contiene encabezados para peticiones http, plantillas para la impresión de etiquetas y otras configuraciones.
- Files: directorio con los archivos usados para tutoriales.
- iconos: directorio con las imágenes usadas en el sistema, desde logos, hasta iconos.
- Util/Context: directorio con los archivos context que contienen las urls de los servicios.
- Views: directorio que contiene todas los los archivos que corresponden a las vistas.
- index.js: aplicación principal
- routes.js: archivo que contiene las rutas de la barra lateral de navegación.
- routesCatalogos.js: archivo que contiene las rutas de la sección de catálogos.
- routesConfiguraciones.js: archivo que contiene las rutas de la sección a configuraciones.
- .env: archivo que contiene las url de los diferentes ambientes. Cambia dependiendo la rama en la que se encuentre.
- package.json: archivo que contiene las librerías necesarias para el proyecto.
Backend
La estructura de directorios del proyecto está organizada de la siguiente manera:
Proyecto
- src: Contiene los archivos del proyecto como:
- main/java/com/certuit/base
- config: directorio con los archivos de configuración para la ejecución del proyecto.
- domain: directorio con las clases auxiliares empleados por los servicios rest para el mapeo de datos.
- endpoint: directorio que contiene todos los servicios rest disponibles.
- services/base: directorio con las clases y funciones que contienen la lógica y reglas de negocio.
- util: directorio con la utilería y archivo de conexión a la base de datos.
- CertuitBaseApplicaction.java: clase main la cual ejecuta el proyecto.
- main/java/com/certuit/base
Catálogos
Catálogo Usuarios
Descripción general
Esta vista se desarrolla inicialmente en el archivo UsuariosMain.js. Este catálogo permite ver los diferentes usuarios de un cliente, además de agregar, modificar, consultar y eliminar. Para acceder a el catálogo de usuarios se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Usuarios.
Inicialización de la vista
Al iniciar la vista se verifica la sesión del usuario. Si no hay sesión iniciada se redirige al login. Si hay sesión activa se hace una llamada al backend para obtener el listado de usuarios.
- Obtener sucursales
- URL
- /ultimamilla/api/sucursales/consultar
- URL
- Obtener usuarios por filtro
- URL
- /ultimamilla/api/usuarios/GetByFiltro/{usuario}/{nombre}/
- URL
Al obtener la respuesta se muestran en una tabla.
Acciones del usuario
Agregar
Para agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar se abre la pestaña y se deben llenar los campos necesarios para agregar el usuario:
- Usuario: se introduce por el usuario
- Nombre: se introduce por el usuario
- Nombre corto: se introduce por el usuario
- Contraseña: se introduce por el usuario
- Correo Electrónico: se introduce por el usuario
- Sucursal: se elige de un listado de sucursales. El listado viene del catálogo de sucursales.
- Activo: está activo predeterminadamente o se desactiva si así lo desea el usuario.
Al darle Aceptar hace una llamada al backend y guarda la información.
- Agregar usuario
- URL
- /ultimamilla/api/usuarios/agregar
- Body:
- usuario
- nombre
- nombreCorto
- contrasena
- correoElectronico
- idSucursal
- activo
- creadoPor
- creadoEl
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Modificar
Para modificar se debe presionar el icono de modificar de la columna de Acciones del listado de usuarios. Al entrar se realiza una llamada al backend para consultar la información del usuario.
- Obtener consulta usuario
- URL
- /ultimamilla/api/usuarios/consultar/{idUsuario}
- URL
Después se abre la pestaña y el usuario puede modificar los campos necesarios para la modificación.
- Usuario: se introduce por el usuario
- Nombre: se introduce por el usuario
- Nombre corto: se introduce por el usuario
- Contraseña: se introduce por el usuario
- Correo Electrónico: se introduce por el usuario
- Sucursal: se elige de un listado de sucursales. El listado viene del catálogo de sucursales.
- Activo: está activo predeterminadamente o se desactiva si así lo desea el usuario.
Al darle Aceptar hace una llamada al backend y guarda la información.
- Modificar usuario
- URL
- /ultimamilla/api/usuarios/modificar/{idUsuario}/{idUsuarioModifico}
- Body:
- usuario
- nombre
- nombreCorto
- contrasena
- correoElectronico
- idSucursal
- activo
- creadoPor
- creadoEl
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Consultar
Para consultar se debe presionar el icono de consultar de la columna de Acciones del listado de usuarios. Al entrar se abre la pestaña y se realiza una llamada al backend para traer los datos. El usuario puede visualizar los datos mas no modificar.
- Obtener consulta usuario
- URL
- /ultimamilla/api/usuarios/consultar/{idUsuario}
- URL
Si la operación es exitosa se muestra la información de la consulta. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Eliminar
Para eliminar se debe presionar el icono de Eliminar de la columna de Acciones del listado de usuarios. Al darle clic se muestra una ventana de advertencia para continuar y enseguida se manda a llamar el servicio de eliminación.
- Eliminar usuario
- URL
- /ultimamilla/api/usuarios/eliminar/{idUsuario}/{idUsuarioElimino}
- URL
Si la operación es exitosa se recarga el listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Catálogo Unidades
Descripción general
Esta vista se desarrolla inicialmente en el archivo Unidades.js. Este catálogo permite ver las diferentes unidades de un cliente, además de agregar, modificar, consultar y eliminar. Para acceder a el catálogo de usuarios se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Unidades.
Inicialización de la vista
Al iniciar la vista se verifica la sesión del usuario. Si no hay sesión iniciada se redirige al login. Si hay sesión activa se hace una llamada al backend para obtener el listado de unidades entre otros.
- Obtener sucursales
- URL
- /ultimamilla/api/sucursales/consultar
- URL
- Obtener tipo de unidades
- URL
- /ultimamilla/api/TiposUnidades/consultar
- URL
- Obtener unidades por filtro
- URL
- /ultimamilla/api/Unidades/GetByFiltro/
- URL
- Obtener unidades
- URL
- /ultimamilla/api/Unidades/consultar
- URL
Al obtener la respuesta se muestran en una tabla.
Acciones del usuario
Agregar
Para agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar se abre la pestaña y se deben llenar los campos necesarios para agregar la unidad:
- Código: se introduce por el usuario.
- Descripción: se introduce por el usuario.
- Modelo: se introduce por el usuario.
- Tipo unidad: se elige por el usuario viene de la base de datos.
- Operador: se elige por el usuario viene del catálogo de operadores.
- Sucursal: se elige de un listado de sucursales. El listado viene del catálogo de sucursales.
- Activo: está activo predeterminadamente o se desactiva si así lo desea el usuario.
- Número serie: se introduce por el usuario.
- Color: se introduce por el usuario.
- Identificador satelital: se introduce por el usuario.
- Identificador convoy: se introduce por el usuario.
- Peso en toneladas: se introduce por el usuario.
- Placas Mex: se introduce por el usuario.
- Vencimiento Mex: se introduce por el usuario.
- Placas EUA: se introduce por el usuario.
- Vencimiento EUA: se introduce por el usuario.
- Placas default: se elige por el cliente.
- Verificación: se introduce por el usuario.
- Fecha vencimiento verificación: se introduce por el usuario.
- Permisos SCT: se introduce por el usuario.
- Compañía de seguros: se introduce por el usuario.
- Número de seguro: se introduce por el usuario.
- Vencimiento de seguro: se introduce por el usuario.
- Permiso SCT SAT: se elige por el usuario.
- Autotransporte General: se elige por el usuario.
- Tipo Remolque SAT: se elige por el usuario.
Al darle Aceptar hace una llamada al backend y guarda la información.
- Agregar unidad
- URL
- /api/Unidades/agregar
- Body:
- identificador
- idTipoUnidad
- codigo
- activo
- rentada
- esUnidadPermisionario
- idSucursal
- idOperador
- descripcion
- modelo
- serieUnidad
- colorUnidad
- identificadorSatelital
- identificadorConvoy
- idGrupoUnidad
- entre otros
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Modificar
Para modificar se debe presionar el icono de modificar de la columna de Acciones del listado de unidades . Al entrar se realiza una llamada al backend para consultar la información de la unidad.
- Obtener consulta unidad
- URL
- /ultimamilla/api/Unidades/consultar/{idUnidad}
- URL
Después se abre la pestaña y el usuario puede modificar los campos necesarios para la modificación.
- Código: se introduce por el usuario.
- Descripción: se introduce por el usuario.
- Modelo: se introduce por el usuario.
- Tipo unidad: se elige por el usuario viene de la base de datos.
- Operador: se elige por el usuario viene del catálogo de operadores..
- Sucursal: se elige de un listado de sucursales. El listado viene del catálogo de sucursales.
- Activo: está activo predeterminadamente o se desactiva si así lo desea el usuario.
- Número serie: se introduce por el usuario.
- Color: se introduce por el usuario.
- Identificador satelital: se introduce por el usuario.
- Identificador convoy: se introduce por el usuario.
- Peso en toneladas: se introduce por el usuario.
- Placas Mex: se introduce por el usuario.
- Vencimiento Mex: se introduce por el usuario.
- Placas EUA: se introduce por el usuario.
- Vencimiento EUA: se introduce por el usuario.
- Placas default: se elige por el cliente.
- Verificación: se introduce por el usuario.
- Fecha vencimiento verificación: se introduce por el usuario.
- Permisos SCT: se introduce por el usuario.
- Compañía de seguros: se introduce por el usuario.
- Número de seguro: se introduce por el usuario.
- Vencimiento de seguro: se introduce por el usuario.
- Permiso SCT SAT: se elige por el usuario.
- Autotransporte General: se elige por el usuario.
- Tipo Remolque SAT: se elige por el usuario.
Al darle Aceptar hace una llamada al backend y guarda la información.
- Modificar unidad
- URL
- /ultimamilla/api/Unidades/modificar/{idUnidad}
- Body:
- identificador
- idTipoUnidad
- codigo
- activo
- rentada
- esUnidadPermisionario
- idSucursal
- idOperador
- descripcion
- modelo
- serieUnidad
- colorUnidad
- identificadorSatelital
- identificadorConvoy
- idGrupoUnidad
- entre otros
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Consultar
Para consultar se debe presionar el icono de consultar de la columna de Acciones del listado de unidades. Al entrar se abre la pestaña y se realiza una llamada al backend para traer los datos. El usuario puede visualizar los datos mas no modificar.
- Obtener consulta unidad
- URL
- /ultimamilla/api/Unidades/consultar/{idUnidad}
- URL
Si la operación es exitosa se muestra la información de la consulta. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Eliminar
Para eliminar se debe presionar el icono de Eliminar de la columna de Acciones del listado de unidades. Al darle clic se muestra una ventana de advertencia para continuar y enseguida se manda a llamar el servicio de eliminación.
- Eliminar unidad
- URL
- /api/Unidades/eliminar/{idUnidad}
- URL
Si la operación es exitosa se recarga el listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Catálogo Operadores
Descripción general
Esta vista se desarrolla inicialmente en el archivo Operadores.js. Este catálogo permite ver los diferentes operadores de un cliente, además de agregar, modificar, consultar y eliminar. Para acceder a el catálogo de operadores se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Operadores.
Inicialización de la vista
Al iniciar la vista se verifica la sesión del usuario. Si no hay sesión iniciada se redirige al login. Si hay sesión activa se hace una llamada al backend para obtener el listado de operadores entre otros.
- Obtener sucursales
- URL
- /ultimamilla/api/sucursales/consultar
- URL
- Obtener operadores por filtro
- URL
- ultimamilla/api/Operadores/GetByFiltro/{codigo}/{nombre}
- URL
- Obtener operadores
- URL
- /ultimamilla/api/Operadores/consultar
- URL
Al obtener la respuesta se muestran en una tabla.
Acciones del usuario
Agregar
Para agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar se abre la pestaña y se deben llenar los campos necesarios para agregar la unidad:
- Número operador: se introduce por el usuario.
- Estado operador: está activo predeterminadamente o se desactiva si así lo desea el usuario.
- Apellido Paterno: se introduce por el usuario.
- Apellido Materno: se introduce por el usuario.
- Nombre: se introduce por el usuario.
- Fecha Contratación: se elige por el usuario.
- RFC: se introduce por el usuario.
- CURP: se introduce por el usuario.
- Sucursal: se elige de un listado de sucursales. El listado viene del catálogo de sucursales.
- Teléfono: se introduce por el usuario.
- Calle: se introduce por el usuario.
- Número Exterior: se introduce por el usuario.
- Número Interior: se introduce por el usuario.
- Número de Registro de Identidad Fiscal: se introduce por el usuario.
- Código Postal: se introduce por el usuario.
- País: se carga automáticamente cuando el usuario introduce el código postal
- Estado: se carga automáticamente cuando el usuario introduce el código postal
- Municipio: se carga automáticamente cuando el usuario introduce el código postal
- Colonia/Localidad: se elige por el usuario.
Al seleccionar el código postal se realiza una llamada al backend para traer los datos dependiendo de este, para así al darle Aceptar hacer la última llamada al backend y guardar la información.
- Obtener data código postal
- URL
- /api/codigos-postales/consultar-por-codigo-postal/{codigoPostal}
- URL
- Agregar operador
- URL
- /api/Operadores/agregar
- Body:
- idOperador
- numeroOperador
- activo
- nombre
- apellidoMaterno
- apellidoPaterno
- nombreCompleto
- rfc
- curp
- fechaContratacion
- idSucursal
- telefono
- telefonoCelular
- domicilio
- idEstado
- entre otros
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Modificar
Para modificar se debe presionar el icono de modificar de la columna de Acciones del listado de unidades . Al entrar se realiza una llamada al backend para consultar la información del operador.
- Obtener consulta operador
- URL
- /ultimamilla/api/Operadores/consultar/{idOperador}
- URL
Después se abre la pestaña y el usuario puede modificar los campos necesarios para la modificación.
- Número operador: se introduce por el usuario.
- Estado operador: está activo predeterminadamente o se desactiva si así lo desea el usuario.
- Apellido Paterno: se introduce por el usuario.
- Apellido Materno: se introduce por el usuario.
- Nombre: se introduce por el usuario.
- Fecha Contratación: se elige por el usuario.
- RFC: se introduce por el usuario.
- CURP: se introduce por el usuario.
- Sucursal: se elige de un listado de sucursales. El listado viene del catálogo de sucursales.
- Teléfono: se introduce por el usuario.
- Calle: se introduce por el usuario.
- Número Exterior: se introduce por el usuario.
- Número Interior: se introduce por el usuario.
- Número de Registro de Identidad Fiscal: se introduce por el usuario.
- Código Postal: se introduce por el usuario.
- País: se carga automáticamente cuando el usuario introduce el código postal
- Estado: se carga automáticamente cuando el usuario introduce el código postal
- Municipio: se carga automáticamente cuando el usuario introduce el código postal
- Colonia/Localidad: se elige por el usuario.
Al seleccionar el código postal se realiza una llamada al backend para traer los datos dependiendo de este, para así al darle Aceptar hacer la última llamada al backend y guardar la información.
- Obtener data código postal
- URL
- /api/codigos-postales/consultar-por-codigo-postal/{codigoPostal}
- URL
- Modificar unidad
- URL
- /ultimamilla/api/Operadores/modificar/{idOperador}
- Body:
- identificador
- idTipoUnidad
- codigo
- activo
- rentada
- esUnidadPermisionario
- idSucursal
- idOperador
- descripcion
- modelo
- serieUnidad
- colorUnidad
- identificadorSatelital
- identificadorConvoy
- idGrupoUnidad
- entre otros
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Consultar
Para consultar se debe presionar el icono de consultar de la columna de Acciones del listado de operadores. Al entrar se abre la pestaña y se realiza una llamada al backend para traer los datos. El usuario puede visualizar los datos mas no modificar.
- Obtener consulta unidad
- URL
- /ultimamilla/api/Operadores/consultar/{idOperador}
- URL
Si la operación es exitosa se muestra la información de la consulta. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Eliminar
Para eliminar se debe presionar el icono de Eliminar de la columna de Acciones del listado de operadores. Al darle clic se muestra una ventana de advertencia para continuar y enseguida se manda a llamar el servicio de eliminación.
- Eliminar operador
- URL
- /api/Operadores/eliminar/{idOperador}
- URL
Si la operación es exitosa se recarga el listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Catálogo Clientes
Descripción general
Esta vista se desarrolla inicialmente en el archivo ClientesMain.js. Este catálogo permite ver los diferentes clientes de un cliente, además de agregar, modificar, consultar y eliminar. Para acceder a el catálogo de clientes se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Clientes.
Inicialización de la vista
Al iniciar la vista se verifica la sesión del usuario. Si no hay sesión iniciada se redirige al login. Si hay sesión activa se hace una llamada al backend para obtener el listado de clientes entre otros.
- Obtener sucursales
- URL
- /ultimamilla/api/sucursales/consultar
- URL
- Obtener clientes por filtro
- URL
- /ultimamilla/api/clientes/GetByFiltro/{numero}/{nombre}
- URL
- Obtener clientes
- URL
- /ultimamilla/api/clientes/consultar
- URL
Al obtener la respuesta se muestran en una tabla.
Acciones del usuario
Agregar
Para agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar se abre la pestaña y se deben llenar los campos necesarios para agregar el usuario:
- Número cliente: se introduce por el usuario.
- Activo: está activo predeterminadamente o se desactiva si así lo desea el usuario.
- Apellido Paterno: se introduce por el usuario.
- Apellido Materno: se introduce por el usuario.
- Nombre Fiscal: se introduce por el usuario.
- Nombre Corto: se introduce por el usuario.
- Grupo clientes: se elige por el usuario.
- Sucursal: se elige de un listado de sucursales. El listado viene del catálogo de sucursales.
- RFC: se introduce por el usuario.
- Teléfono: se introduce por el usuario.
- Correo Electrónico: se introduce por el usuario.
- Calle: se introduce por el usuario.
- Número Exterior: se introduce por el usuario.
- Número Interior: se introduce por el usuario.
- Clave Regimen Fiscal: se introduce por el usuario.
- Código Postal: se introduce por el usuario.
- País: se carga automáticamente cuando el usuario introduce el código postal
- Estado: se carga automáticamente cuando el usuario introduce el código postal
- Municipio: se carga automáticamente cuando el usuario introduce el código postal
- Colonia/Localidad: se elige por el usuario.
Al seleccionar el código postal se realiza una llamada al backend para traer los datos dependiendo de este, para así al darle Aceptar hacer la última llamada al backend y guardar la información.
- Obtener data código postal
- URL
- /api/codigos-postales/consultar-por-codigo-postal/{codigoPostal}
- URL
- Agregar operador
- URL
- /api/clientes/agregar
- Body:
- numeroCliente
- numeroOperador
- rfc
- nombreFiscal
- nombreCorto
- idSucursal
- idMoneda
- calle
- noExterior
- noInterior
- idCodigoPostal
- telefono
- celular
- correoElectronico
- metodoPago
- nroCuentaPago
- credito
- creditoDLLS
- diasCredito
- activo
- creadoPor
- creadoEl
- idUsoCFDI
- noRegistroIdentidadFiscal
- idBancoOrdenante
- noCuentaBancoOrdenante
- idGrupoCliente
- claveRegimenFiscal
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Modificar
Para modificar se debe presionar el icono de modificar de la columna de Acciones del listado de clientes. Al entrar se realiza una llamada al backend para consultar la información del cliente.
- Obtener consulta operador
- URL
- /ultimamilla/api/clientes/consultar/{idCliente}
- URL
Después se abre la pestaña y el usuario puede modificar los campos necesarios para la modificación.
- Número cliente: se introduce por el usuario.
- Activo: está activo predeterminadamente o se desactiva si así lo desea el usuario.
- Apellido Paterno: se introduce por el usuario.
- Apellido Materno: se introduce por el usuario.
- Nombre Fiscal: se introduce por el usuario.
- Nombre Corto: se introduce por el usuario.
- Grupo clientes: se elige por el usuario.
- Sucursal: se elige de un listado de sucursales. El listado viene del catálogo de sucursales.
- RFC: se introduce por el usuario.
- Teléfono: se introduce por el usuario.
- Correo Electrónico: se introduce por el usuario.
- Calle: se introduce por el usuario.
- Número Exterior: se introduce por el usuario.
- Número Interior: se introduce por el usuario.
- Clave Regimen Fiscal: se introduce por el usuario.
- Código Postal: se introduce por el usuario.
- País: se carga automáticamente cuando el usuario introduce el código postal
- Estado: se carga automáticamente cuando el usuario introduce el código postal
- Municipio: se carga automáticamente cuando el usuario introduce el código postal
- Colonia/Localidad: se elige por el usuario.
Al seleccionar el código postal se realiza una llamada al backend para traer los datos dependiendo de este, para así al darle Aceptar hacer la última llamada al backend y guardar la información.
- Obtener data código postal
- URL
- /api/codigos-postales/consultar-por-codigo-postal/{codigoPostal}
- URL
- Modificar unidad
- URL
- /api/clientes/modificar/{idCliente}
- Body:
- numeroCliente
- numeroOperador
- rfc
- nombreFiscal
- nombreCorto
- idSucursal
- idMoneda
- calle
- noExterior
- noInterior
- idCodigoPostal
- telefono
- celular
- correoElectronico
- metodoPago
- nroCuentaPago
- credito
- creditoDLLS
- diasCredito
- activo
- creadoPor
- creadoEl
- idUsoCFDI
- noRegistroIdentidadFiscal
- idBancoOrdenante
- noCuentaBancoOrdenante
- idGrupoCliente
- claveRegimenFiscal
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Consultar
Para consultar se debe presionar el icono de consultar de la columna de Acciones del listado de clientes. Al entrar se abre la pestaña y se realiza una llamada al backend para traer los datos. El usuario puede visualizar los datos mas no modificar.
- Obtener consulta operador
- URL
- /ultimamilla/api/clientes/consultar/{idCliente}
- URL
Si la operación es exitosa se muestra la información de la consulta. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Eliminar
Para eliminar se debe presionar el icono de Eliminar de la columna de Acciones del listado de clientes. Al darle clic se muestra una ventana de advertencia para continuar y enseguida se manda a llamar el servicio de eliminación.
- Eliminar cliente
- URL
- api/clientes/eliminar/{idCliente}
- URL
Si la operación es exitosa se recarga el listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Catálogo Sucursales
Descripción general
Esta vista se desarrolla inicialmente en el archivo Sucursal.js. Este catálogo permite ver las diferentes sucursales que puede tener un cliente, además de agregar, modificar, consultar y eliminar. Para acceder a el catálogo de sucursales se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Sucursales.
Inicialización de la vista
Al iniciar la vista se verifica la sesión del usuario. Si no hay sesión iniciada se redirige al login. Si hay sesión activa se hace una llamada al backend para obtener el listado de sucursales.
- Obtener sucursales
- URL
- /api/sucursales/consultar
- URL
- Obtener sucursales por filtro
- URL
- /api/sucursales/GetByFiltro/{abreviacion}/{sucursal}/
- URL
Al obtener la respuesta se muestran en una tabla.
Acciones del usuario
Agregar
Para agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar se abre la pestaña y se deben llenar los campos necesarios para agregar el sucursal:
- Sucursal: se introduce por el usuario
- Abreviación: se introduce por el usuario
- Calle: se introduce por el usuario
- Num. Exterior: se introduce por el usuario
- Num. Interior: se introduce por el usuario
- Activo: se elige por el usuario
- Código postal: se introduce por el usuario
- País: se carga automáticamente cuando el usuario introduce el código postal
- Estado: se carga automáticamente cuando el usuario introduce el código postal
- Municipio: se carga automáticamente cuando el usuario introduce el código postal
- Colonia/Localidad: se carga automáticamente cuando el usuario introduce el código postal
Al seleccionar el código postal se realiza una llamada al backend para traer los datos dependiendo de este, para así al darle Aceptar hacer la última llamada al backend y guardar la información.
- Obtener data código postal
- URL
- /api/codigos-postales/consultar-por-codigo-postal/{codigoPostal}
- URL
- Agregar sucursal
- URL
- /api/sucursales/agregar
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Modificar
Para modificar se debe presionar el icono de modificar de la columna de Acciones del listado de sucursales. Al entrar se realiza una llamada al backend para consultar la información del sucursal.
- Obtener consulta sucursal
- URL
- /ultimamilla/api/sucursales/consultar/{idSucursal}
- URL
Después se abre la pestaña y el usuario puede modificar los campos necesarios para la modificación.
- Sucursal: se introduce por el usuario
- Abreviación: se introduce por el usuario
- Calle: se introduce por el usuario
- Núm. Exterior: se introduce por el usuario
- Núm. Interior: se introduce por el usuario
- Activo: se elige por el usuario
- Código postal: se introduce por el usuario
- País: se carga automáticamente cuando el usuario introduce el código postal
- Estado: se carga automáticamente cuando el usuario introduce el código postal
- Municipio: se carga automáticamente cuando el usuario introduce el código postal
- Colonia/Localidad: se carga automáticamente cuando el usuario introduce el código postal
Al seleccionar el código postal se realiza una llamada al backend para traer los datos dependiendo de este, para así al darle Aceptar hacer la última llamada al backend y guardar la información.
- Obtener data código postal
- URL
- /api/codigos-postales/consultar-por-codigo-postal/{codigoPostal}
- URL
- Modificar sucursal
- URL
- /api/sucursales/modificar/{idSucursal}
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Consultar
Para consultar se debe presionar el icono de consultar de la columna de Acciones del listado de sucursales. Al entrar se abre la pestaña y se realiza una llamada al backend para traer los datos. El usuario puede visualizar los datos mas no modificar.
- Obtener data código postal
- URL
- /api/codigos-postales/consultar-por-codigo-postal/{codigoPostal}
- URL
- Consultar sucursal
- URL
- /api/sucursales/consultar/{idSucursal}
- URL
Si la operación es exitosa se muestra la información de la consulta. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Eliminar
Para eliminar se debe presionar el icono de Eliminar de la columna de Acciones del listado de sucursales. Al darle clic se muestra una ventana de advertencia para continuar y enseguida se manda a llamar el servicio de eliminación.
- Eliminar sucursal
- URL
- /api/sucursales/eliminar/{idSucursal}/{idUsuario}
- URL
Si la operación es exitosa se recarga el listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Catálogo Zonas Operativas
Descripción general
Para acceder a el catálogo de zonas operativas se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Zonas Operativas. Esta vista se desarrolla inicialmente en el archivo ZonaOperativa.js.
Las zonas operativas son agrupaciones de códigos postales. Tienen diferentes usos: determinadas zonas, entre otros.
Inicialización de la vista
Al iniciar se hace una llamada al backend para obtener el listado de zonas operativas, sucursales y estados.
- Obtener zonas operativas
- URL:
- /ultimamilla/api/ZonaOperativa/Consulta
- URL:
- Obtener Estados
- URL:
- /ultimamilla/api/Estados/GetListado
- URL:
- Obtener sucursales
- URL:
- /ultimamilla/api/sucursales/consultar
- URL:
Al obtener los listados se muestran en una tabla que permite hacer algunas acciones con ellos: agregar, modificar, consultar, eliminar.
Acciones del usuario
Agregar
Para abrir el formulario de agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar al formulario se cargan los listado de sucursales y ciudades. Los registros se obtienen de los siguientes endpoints:
- Obtener listado de sucursales
- URL:
- /ultimamilla/api/sucursales/consultar
- URL:
- Obtener listado de Ciudades
- URL:
- /ultimamilla/api/Ciudades/GetListado
- URL:
Para crear una zona se necesitan los siguientes datos:
-
Código de Zona: definido por el usuario
-
Sucursal: se selecciona del listado de sucursales de la base de datos.
-
País: se selecciona. Están estáticos en código
-
Estado: se selecciona. Vienen de ser insertados en base de datos directamente. Los registros se cargan al seleccionar un país.
-
Municipio: se selecciona. Vienen de ser insertados en base de datos directamente. Los registros se cargan al seleccionar un estado.
-
Listado de códigos postales: se seleccionan. Vienen de ser insertados en base de datos directamente. Las opciones se cargan al seleccionar municipio y presionar el botón Buscar Códigos Postales.
Al seleccionar el País se realiza otra llamada al backend para obtener el listado de Estados y de igual forma al seleccionar el Estado se obtiene el listado de municipios.
-
Obtener listado de Estados
- URL:
- /ultimamilla/api/Estados/ByPais/{pais}
- URL:
-
Obtener listado de Municipios
- URL:
- ultimamilla/api/Municipios/GetByIdEstado/{idEstado}
- URL:
Al seleccionar el botón de Buscar Códigos Postales se realiza una llamada al backend para obtener los códigos postales dependiendo el Estado y el Municipio y así que el usuario pueda elegir los códigos postales para crear la Zona.
- Obtener listado de códigos postales
- URL:
- /ultimamilla/api/CodigoPostal/GetByEstadoMunicipio/{estado}/{municipio}
- URL:
Al presionar el botón Aceptar se hace una llamada al backend para guardar la información.
- Agregar Zona operativa
- URL:
- /ultimamilla/api/ZonaOperativa/Agregar
- Body:
- m_nIdZona
- m_sCodigoZona
- m_nIdSucursal
- m_sIdEstado
- m_sEstado
- m_sCodMunicipio
- m_sMunicipio
- m_arrCP
- m_nIdOrigenDestino
- m_nIdPais
- URL:
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Modificar
Para modificar un registro se necesita ubicar en el listado y presionar el botón con icono de lápiz ubicado del lado izquierdo. Al presionar se mostrará el formulario de agregar con los datos del registro precargados. Los datos se obtienen al hacer una llamada al backend.
- Obtener zona por id
- URL:
- /ultimamilla/api/ZonaOperativa/Consulta/{IdRegistro}
- Variables:
- Id del registro
- URL:
Ya con los datos cargados se puede modificar el formulario. Para guardar los cambios se presiona el botón Aceptar ubicado en la parte inferior. Al presionarlo se hace una llamada al backend para actualizar la información.
- Editar zona operativa
- URL:
- /ultimamilla/api/ZonaOperativa/Modificar/{IdRegistro}
- Variables:
- Id del registro
- Body:
- m_nIdZona
- m_sCodigoZona
- m_nIdSucursal
- m_sIdEstado
- m_sEstado
- m_sCodMunicipio
- m_sMunicipio
- m_arrCP
- m_nIdOrigenDestino
- m_nIdPais
- URL:
Si la operación es exitosa se redirige al usuario a la pestaña de listado. Si surge algún error se muestra mensaje al usuario y se permanece en la pantalla.
Consultar
Para consultar un registro se necesita ubicar en el listado y presionar el botón con icono de ojo ubicado del lado izquierdo. Al presionar, se mostrará el formulario de agregar con los datos del registro precargados y todos los campos deshabilitados. Los datos se obtienen al hacer una llamada al backend.
-
Obtener zona por id
- URL:
- /ultimamilla/api/ZonaOperativa/Consulta/{IdRegistro}
- Variables:
- Id del registro
Eliminar
Para eliminar un registro se necesita ubicar en el listado y presionar el botón con icono de bote de basura, ubicado del lado izquierdo. Al presionar, se hace la llamada al backend para realizar la acción.
- URL:
-
Eliminar Zona
- URL:
- /ultimamilla/api/ZonaOperativa/Consulta/{IdRegistro}{IdRegistro}
- Variables:
- Id del registro
Filtrar
En la sección del listado es posible filtrar las zonas para buscar por código postal. Esto permite saber si un código postal ya está en alguna zona. Para hacerlo solo es necesario escribir el código postal y presionar Buscar. Se hará una llamada al backend para obtener la zona operativa que contenga ese código postal.
- URL:
-
Obtener zona por código postal
- URL:
- /ultimamilla/api/ZonaOperativa/Filtro/{CódigoPostal}
- Variables:
- Código postal
- URL:
Catálogo Formatos de Impresión
Descripción general
Para acceder a el catálogo de formatos de impresión se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Formatos de Impresión*.* Esta vista se desarrolla iniciando con el archivo FormatoImpresion.js y solo es usada por los implementadores.
Los formatos de impresión son los formatos de los PDF que se usan para cosas como reportes, etiquetas, etc. El diseño es generado en WEBDEV, al finalizar, se obtiene el archivo WDE necesario para guardar en el sistema.
Inicialización de la vista
Al iniciar se hace una llamada al backend para obtener el listado de formatos.
- Obtener formatos
- URL:
- /api/Formato/GetListado
- URL:
Al obtener el listado se muestran en una tabla que permite hacer algunas acciones con ellos: modificar, eliminar.
Acciones del usuario
Agregar
Para abrir el formulario de agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar al formulario se carga el listado de tipos de documento. Este es administrado en el sistema ERP, y los registros se obtienen de los siguientes endpoints:
- Obtener listado de tipos de documento
- URL:
- /TipoDocumento/GetListado
- URL:
Para agregar un formato se necesitan los siguientes datos:
- Formato: es el nombre del formato. Definido por el usuario
- Tipo de proceso: es el proceso con el que estará relacionado. Las opciones están fijadas en el código.
- Archivo WDE: es el archivo que genera WEBDEV al crear el diseño.
- Archivo Imagen: campo obsoleto, no es necesario mandar.
Al presionar el botón Aceptar se hace una llamada al backend para guardar la información.
- Agregar formato
- URL:
- /api/Formato/Agregar
- Body:
- Nombre de formato
- Tipo de proceso
- Usuario
- Fecha
- Fecha de edición
- URL:
Si la operación es exitosa se limpia el formulario. Si surge algún error se muestra mensaje al usuario y los datos permanecen en el formulario.
Modificar
Para modificar un registro se necesita ubicar en el listado y presionar el botón con icono de lápiz ubicado del lado izquierdo. Al presionar se mostrará el formulario de agregar con los datos del registro precargados. Los datos se obtienen al hacer una llamada al backend.
- Obtener formato por id
- URL:
- /ultimamilla/api/Formato/{IdRegistro}
- Variables:
- Id del registro
- URL:
Ya con los datos cargados se puede modificar el formulario. Para guardar los cambios se presiona el botón Aceptar ubicado en la parte inferior. Al presionarlo se hace una llamada al backend para actualizar la información.
- Editar formato
- URL:
- /ultimamilla/api/Formato/Modificar/{IdRegistro}
- Variables:
- Id del registro
- Body:
- Nombre de formato
- Tipo de proceso
- Usuario
- Fecha
- Fecha de edición
- URL:
Si la operación es exitosa se limpia el formulario. Si surge algún error se muestra mensaje al usuario y los datos permanecen en el formulario.
Eliminar
Para eliminar un registro se necesita ubicar en el listado y presionar el botón con icono de bote de basura, ubicado del lado izquierdo. Al presionar, se hace la llamada al backend para realizar la acción.- Eliminar formato
- URL:
- /Folios/Eliminar/{IdRegistro}/{IdUsuario}
- Variables:
- Id del registro
- Id del usuario
- URL:
Catálogo Productos
Descripción general
Para acceder a el catálogo de productos se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Formatos de Impresión*.* Esta vista se desarrolla iniciando con el archivo Productos.js.
Los productos son la mercancía que se añade a las recolecciones y guías.
Inicialización de la vista
Al iniciar se hacen unas llamadas al backend para obtener el listado de sucursales y de productos.
- Obtener sucursales
- URL:
- /ultimamilla/api/sucursales/consultar
- URL:
- Obtener productos
- URL:
- /ultimamilla/api/productos/consultar
- URL:
- Obtener productos filtro
- URL:
- /ultimamilla/api/productos/GetByFiltro/{idProducto}/{descripcion}
- URL:
Al obtener el listado se muestran en una tabla que permite hacer algunas acciones con ellos: agregar, modificar, consultar, eliminar.
Acciones del usuario
Agregar
Para agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Se necesitan los siguientes datos:
- Descripción: definido por el usuario
- Largo: definido por el usuario
- Ancho: definido por el usuario
- Alto: definido por el usuario
- Peso: definido por el usuario
- Unidad de medida Peso: definido por el usuario
- Unidad de medida volumen: definido por el usuario
- Volumen: se calcula en automático al ingresar las dimensiones, pero es editable por el usuario
- Embalaje: se selecciona del listado de embalajes
- Activo: definido por el usuario
Al presionar el botón Agregar producto se hace una llamada al backend para guardar la información.
- Agregar producto
- URL:
- /ultimamilla/api/productos/agregar
- Body:
- Descripción
- Largo
- Ancho
- Alto
- Peso
- Unidad medida peso
- Unidad medida volumen
- Embalaje
- Activo
- Es predeterminado (si está activo se mostrará en el listado de productos aunque no esté en ninguna tarifa o convenio)
- URL:
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Modificar
Para modificar un registro se necesita ubicar en el listado y presionar el botón con icono de lápiz ubicado del lado izquierdo. Al presionar se mostrará el formulario de agregar con los datos del registro precargados. Los datos se obtienen al hacer una llamada al backend.
- Obtener producto por id
- URL:
- /ultimamilla/api/productos/consultar/{IdRegistro}
- Variables:
- Id del registro
- URL:
Ya con los datos cargados se puede modificar el formulario. Para guardar los cambios se presiona el botón Agregar ubicado en la parte inferior. Al presionarlo se hace una llamada al backend para actualizar la información.
- Editar producto
- URL:
- /ultimamilla/api/productos/modificar/{IdRegistro}
- Variables:
- Id del registro
- Body:
- Descripción
- Largo
- Ancho
- Alto
- Peso
- Unidad medida peso
- Unidad medida volumen
- Embalaje
- Activo
- Es predeterminado (si está activo se mostrará en el listado de productos aunque no esté en ninguna tarifa o convenio)
- URL:
Si la operación es exitosa se redirige al usuario a la pestaña de listado. Si surge algún error se muestra mensaje al usuario y se permanece en la pantalla
Consultar
Para consultar un registro se necesita ubicar en el listado y presionar el botón con icono de ojo ubicado del lado izquierdo. Al presionar, se mostrará el formulario de agregar con los datos del registro precargados y todos los campos deshabilitados. Los datos se obtienen al hacer una llamada al backend.
- Obtener producto por id
- URL:
- /ultimamilla/api/productos/consultar/{IdRegistro}
- Variables:
- Id del registro
- URL:
Eliminar
Para eliminar un registro se necesita ubicar en el listado y presionar el botón con icono de bote de basura, ubicado del lado izquierdo. Al presionar, se hace la llamada al backend para realizar la acción.- Eliminar Embalaje
- URL:
- /ultimamilla/api/productos/eliminar/{IdRegistro}
- Variables:
- Id del registro
- URL:
Catálogo Plantillas de Importación Guía/Recolección
Descripción general
Para acceder a el catálogo de plantillas de importación se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Catálogo Plantillas de Importación Guía/Recolección*.* Esta vista se desarrolla iniciando con el archivo PlantillasImportacionMain.js.
Las plantillas de importación permiten agregar guías y recolecciones de una manera más rápida usando archivos de Excel. Se pueden agregar muchas en una sola acción. Sin embargo, todo lo relacionado a crear embarques y recolecciones debe estar muy bien configurado. Hay dos tipos de plantilla: segmentada y lineal.
Plantilla Segmentada
En este tipo de plantilla los datos se dividen en tres hojas distintas la primera corresponde a los datos generales del embarque, la segunda al listado de productos y la tercera a los complementos del SAT.
Para relacionar los productos y complementos con la guía en cada hoja habrá una columna que servirá como un ID temporal, de modo que la fila de la hoja del embarque tendrá un ID asignado por el usuario. En la hoja de productos cada fila deberá tener el mismo ID del embarque al que le pertenece, del mismo modo la hoja de complementos del SAT.
El responsable de pago indica el cliente al que corresponderá la configuración de la plantilla
El archivo adjunto debe ser un archivo formato Excel con extensión xlsx. No está validado si el sistema soportaría versiones anteriores de archivos Excel con otra extensión. El archivo adjunto estará disponible para descargar al momento de entrar a la sección de Importar en el módulo de Guías.
En la sección Datos de identificación hay 3 campos, estos sirven para que se escriba el nombre que tendrán las hojas usadas para los diferentes propósitos. Es importante verificar que el archivo importado contenga exactamente el mismo nombre para que funcione correctamente.
En el resto de las secciones los campos son de texto simple en donde se debe escribir el nombre exacto que tendrá la columna que contendrá el valor correspondiente. El campo Número de guía/recolección corresponde a la columna con el ID temporal que se indicó anteriormente y debe estar presente en cada hoja del archivo.
Plantilla Lineal
En este tipo de plantilla todos los datos de la guía/recolección van en la misma hoja.
Para relacionar los productos y complementos del SAT se repetirá n número de veces los datos de la guía/recolección y cambiarán únicamente los datos del producto y complemento. Al importar los registros se agrupan. Si se detecta que los datos de la guía/recolección son exactamente los mismos y solo cambian los datos del producto y complemento, se toma como una sola guía/recolección y los productos y complementos se asignan a esa guía/recolección
El responsable de pago indica el cliente al que corresponderá la configuración de la plantilla.
El archivo adjunto debe ser un archivo formato Excel con extensión xlsx. No está validado si el sistema soportaría versiones anteriores de archivos Excel con otra extensión. El archivo adjunto estará disponible para descargar al momento de entrar a la sección de Importar en el módulo de Guías.
En la sección Datos de identificación hay un campo, este sirve para que se escriba el nombre que tendrá la hoja con la información. Es importante verificar que el archivo importado contenga exactamente el mismo nombre para que funcione correctamente.
En el resto de las secciones los campos son de texto simple en donde se debe escribir el nombre exacto que tendrá la columna que contendrá el valor correspondiente. El campo Número de guía/recolección corresponde a la columna con el ID temporal y debe estar presente en cada hoja del archivo.
Para este tipo de plantilla existe la bandera Usar como número de equivalencia en el Número de remitente, esto significa que al llenar el excel el dato que se escribirá en esas columnas será el valor número de equivalencia: es un identificador alternativo asignado por el usuario desde el ERP.
Inicialización de la vista
Al iniciar se hace una llamada al backend para obtener el listado de plantillas.
- Obtener plantillas
- URL:
- /ultimamilla/api/PlantillasImportacion/GetListado
- URL:
Al obtener el listado se muestran en una tabla que permite hacer algunas acciones con ellos: modificar, consultar, eliminar.
Acciones del usuario
Agregar
Para abrir el formulario de agregar se debe presionar la pestaña Agregar ubicada en la parte superior.
Para agregar una plantilla se necesitan los siguientes datos:
- Tipo de plantilla: las opciones están fijadas en código.
- Cliente: al seleccionar campo se carga el listado de clientes. Las opciones vienen del catálogo de clientes.
- Archivo Excel: el usuario lo toma de su equipo.
- Resto de campos: definidos por el usuario.
Al presionar el botón Guardar se hace una llamada al backend para guardar la información.
- Agregar Plantilla
- URL:
- /api/PlantillasImportacion/Agregar
- Body:
- Tipo de plantilla
- Responsable de pago (cliente)
- Base64 del archivo
- Nombre del archivo
- Y el resto de los campos
- URL:
Si la operación es exitosa se limpia el formulario. Si surge algún error se muestra mensaje al usuario y los datos permanecen en el formulario.
Modificar
Para modificar un registro se necesita ubicar en el listado y presionar el botón con icono de lápiz ubicado del lado izquierdo. Al presionar se mostrará el formulario de agregar con los datos del registro precargados. Los datos se obtienen al hacer una llamada al backend.
- Obtener plantilla por id
- URL:
- /ultimamilla/api/PlantillasImportacion/GetById/{IdRegistro}
- Variables:
- Id del registro
- URL:
Ya con los datos cargados se puede modificar el formulario. Para guardar los cambios se presiona el botón Guardar ubicado en la parte inferior. Al presionarlo se hace una llamada al backend para actualizar la información.
- Editar plantilla
- URL:
- /ultimamilla/api/PlantillasImportacion/Modificar/{IdRegistro}
- Variables:
- Id del registro
- Body:
- Tipo de plantilla
- Responsable de pago (cliente)
- Base64 del archivo
- Nombre del archivo
- Y el resto de los campos
- URL:
Si la operación es exitosa se limpia el formulario. Si surge algún error se muestra mensaje al usuario y los datos permanecen en el formulario.
Consultar
Para consultar un registro se necesita ubicar en el listado y presionar el botón con icono de ojo ubicado del lado izquierdo. Al presionar, se mostrará el formulario de agregar con los datos del registro precargados y todos los campos deshabilitados. Los datos se obtienen al hacer una llamada al backend.
- Obtener plantilla por id
- URL:
- /ultimamilla/api/PlantillasImportacion/GetById/{IdRegistro}
- Variables:
- Id del registro
- URL:
Eliminar
Para eliminar un registro se necesita ubicar en el listado y presionar el botón con icono de bote de basura, ubicado del lado izquierdo. Al presionar, se hace la llamada al backend para realizar la acción.- Eliminar plantilla
- URL:
- /api/PlantillasImportacion/Eliminar/{IdRegistro}
- Variables:
- Id del registro
- URL:
Catálogo Sello Digital
Descripción general
Esta vista se desarrolla inicialmente en el archivo SelloDigital.js. Este catálogo permite ver los diferentes sellos digitales de un cliente, además de agregar y eliminar. Para acceder a el catálogo de sellos digitales se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos SelloDigital.
Inicialización de la vista
Al iniciar la vista se verifica la sesión del usuario. Si no hay sesión iniciada se redirige al login. Si hay sesión activa se hace una llamada al backend para obtener el listado de sello.
- Obtener sellos
- URL
- /ultimamilla/api/certificado/consultar
- URL
Al obtener la respuesta se muestran en una tabla.
Acciones del usuario
Agregar
Para agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar se abre la pestaña y se deben llenar los campos necesarios para agregar el sello:
- RFC: se introduce por el usuario.
- Nombre Fiscal: se introduce por el usuario.
- Calle: se introduce por el usuario.
- Código Postal: se introduce por el usuario.
- País: se carga automáticamente cuando el usuario introduce el código postal
- Estado: se carga automáticamente cuando el usuario introduce el código postal
- Municipio: se carga automáticamente cuando el usuario introduce el código postal
- Colonia/Localidad: se elige por el usuario.
- Referencia: se introduce por el usuario.
- Regimen Fiscal: se introduce por el usuario.
- Certificado: se sube archivo por el usuario.
- Número Serie: se carga automáticamente cuando el usuario sube el certificado.
- Vigente desde: se carga automáticamente cuando el usuario sube el certificado.
- Vigente hasta: se carga automáticamente cuando el usuario sube el certificado.
- Llave privada: se sube archivo por el usuario.
- Contraseña: se carga automáticamente cuando el usuario sube la llave privada.
- Activo: está activo predeterminadamente o se desactiva si así lo desea el usuario.
Al seleccionar el código postal se realiza una llamada al backend para traer los datos dependiendo de este, para así al darle Aceptar hacer la última llamada al backend y guardar la información.
- Obtener data código postal
- URL
- /api/codigos-postales/consultar-por-codigo-postal/{codigoPostal}
- URL
- Agregar sello digital
- URL
- /api/certificado/agregar
- Body:
- noSerieCertificado
- certificadoNombreArchivo
- llavePrimariaNombreArchivo
- llavePrivadaContrasena
- vigenteDesde
- vigenteHasta
- activo
- creadoPor
- creadoEl
- rfc
- nombreFiscal
- calle
- noExterior
- noInterior
- regimenFiscal
- referencia
- codigoPostal
- colonia
- localidad
- idEstado
- municipio
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Eliminar
Para eliminar se debe presionar el icono de Eliminar de la columna de Acciones del listado de sellos. Al darle clic se muestra una ventana de advertencia para continuar y enseguida se manda a llamar el servicio de eliminación.
- Eliminar sello
- URL
- api/certificado/eliminar/{idSelloDigital}
- URL
Si la operación es exitosa se recarga el listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Catálogo Folios
Descripción general
Esta vista se desarrolla inicialmente en el archivo Folio.js. Este catálogo permite ver los diferentes Folios de un cliente, además de agregar y eliminar. Para acceder a el catálogo de folios se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Catálogos, seleccionamos Folios.
Inicialización de la vista
Al iniciar la vista se verifica la sesión del usuario. Si no hay sesión iniciada se redirige al login. Si hay sesión activa se hace una llamada al backend para obtener el listado de folios entre otros para el filtro de búsqueda.
- Obtener folios
- URL
- /ultimamilla/api/Folios/listadoIndividual
- URL
- Obtener folios listado de estatus
- URL
- /ultimamilla/api/Folios/listadoEstatus
- URL
- Obtener folios tipos de documentos
- URL
- /ultimamilla/api/Folios/tiposDocumento
- URL
Al obtener la respuesta se muestran en una tabla.
Acciones del usuario
Agregar
Para agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar se abre la pestaña y se realiza una llamada al backend para traer los siguientes documentos:
- Obtener folios certificados
- URL
- /ultimamilla/api/Folios/certificados
- URL
- Obtener sucursales
- URL
- /ultimamilla/api/sucursales/consultar
- URL
- Obtener folios tipos de documentos
- URL
- /ultimamilla/api/Folios/tiposDocumento
- URL
Enseguida se deben llenar los campos necesarios para agregar el sello:
- Serie: se introduce por el usuario.
- Número Inicial: se introduce por el usuario.
- Número Final: se introduce por el usuario.
- Tipo de documento: se elige por el usuario y viene por consulta a base de datos.
- Sucursal: se elige por el usuario.Viene del catálogo de sucursales.
- Certificado: se elige por el usuario.Viene del catálogo de sellos digitales.
Al seleccionar el código postal se realiza una llamada al backend para traer los datos dependiendo de este, para así al darle Aceptar hacer la última llamada al backend y guardar la información.
- Agregar sello digital
- URL
- /ultimamilla/api/Folios/agregar
- Body:
- idTipoDocumento
- serie
- noInicio
- noFinal
- idSucursal
- idCertificado
- URL
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Cancelar Folio
Para eliminar se debe presionar el icono de Eliminar de la columna de Acciones del listado de sellos y enseguida se manda a llamar el servicio de cancelación.
- Cancelar folio
- URL
- /api/Folios/cancelar/{idFolio}
- URL
Si la operación es exitosa se recarga el listado y envía mensaje de éxito. Si surge algún error se muestra mensaje de error al usuario y se permanece en el formulario.
Procesos
Login (inicio de sesión)
Descripción general
Al cargar el url del portal de clientes se dirige a la ventana de inicio de sesión, en el cual el cliente o el proveedor del cliente puede iniciar sesión con el RFC, usuario y contraseña.
El inicio de sesión sirve para inicializar la vista principal y cargar los datos del usuario para utilizarlos en el inicio de la vista de última milla.
Inicialización
Al iniciar la vista se verifica la sesión del usuario: si no hay una sesión iniciada, se muestra la pantalla del login.
Para iniciar sesión se requieren los siguientes datos:
-
RFC: viene del ERP
-
usuario: viene de la base de datos
-
contraseña: viene de la base de datos
Una vez introducidos los datos necesarios se realiza una llamada al backend para iniciar la sesión y cargar los datos del usuario.
-
Inicio sesión
- URL: /Usuarios/ValidarLoginUltimaMilla/ADMIN/{user}/{pass}/{rfc}
Si la operación es exitosa se dirige al usuario al módulo de Citas si el usuario es proveedor y si es cliente se dirige al módulo de Almacén; Si hay algún error envía mensaje de error al usuario.
Ruta
Descripción general
Esta vista se desarrolla inicialmente en el archivo UItimaMilla.js. Este componente es el principal para visualizar las rutas y todas las opciones disponibles del sistema. Es donde podremos visualizar las guías/recolecciones con sus paradas y rutas.
La última milla se utiliza para embarcar las guías, recolecciones de las diferentes rutas y destinatarios, además de que el usuario supervise en el mapa las salidas y llegadas de los operadores que llevan la mercancía a los destinatarios.
Inicialización de la vista
Al iniciar la vista se verifica la sesión del usuario. Si no hay sesión iniciada se redirige al login. Si hay sesión activa se hace una llamada al backend para obtener el listado de sucursales.
- Obtener sucursales
- URL
- /ultimamilla/api/Sucursales/GetListado
- URL
Al obtener el listado se muestran en varios select que permite hacer algunas acciones con ellos: enviar ruta a operadores, cronograma, enviar mensajes a operador, generar reporte, cancelar ruta, reemplazar paquete, cambiar ubicación parada, generar CFDI traslado, descargar xml traslado, eliminar parada, entre otros.
Acciones del usuario
Generar Rutas
Para poder enviar la ruta los operadores se debe seleccionar primero el botón Sucursales para seleccionar una sucursal y en seguida se realiza una llamada al backend para obtener las zonas:
-
Obtener zonas operativas
- URL:
- /api/ZonaOperativa/GetListadoBySucursal/{idSucursal}
Al seleccionar las zonas operativas necesarias se realiza una llamada al backend para ver si hay guías o recolecciones en las zonas seleccionadas, en el caso de que si se realizan llamadas a servicios de Google para enseguida mostrar las rutas.
- URL:
-
Obtener zonas operativas
- URL:
- /ultimamilla/api/ultima-milla/consultar-por-filtros/{fecha}/{idSucursal}
- URL:
-
Obtener latitud y longitud de la dirección
-
Obtener paradas
-
Obtener rutas
Enseguida se selecciona la fecha (lo que hace la misma búsqueda de las rutas de última milla, en caso que haya), y los paquetes para la guía o la recolección. Al seleccionar el Paquetes se vuelve hacer una llamada al backend para traer el listado y seleccionar los paquetes necesarios para el viaje.
-
Obtener paquetes por zonas
- URL:
- /ultimamilla/api/guias/consultar-pendientes-por-zonas
Después el usuario debe seleccionar la unidad para generar la ruta. Al seleccionar el botón para las unidades se realiza una llamada al backend para traer las unidades correspondientes.
- URL:
-
Obtener unidades
- URL:
- /ultimamilla/api/Unidades/GetListadoUltimaMilla
Para finalizar el usuario debe seleccionar el botón Generar Rutas y así hacer una última llamada al backend y guardar la información de las rutas.
- URL:
-
Agregar última milla
- URL:
- /ultimamilla/api/ultima-milla/agregar
- URL:
Si la operación es exitosa se recarga el formulario y se muestran las secciones de cronómetro, mensajes y resumen de paradas. Si surge algún error se muestra mensaje de error al usuario y se permanece en la pantalla.
Cronograma
Para abrir el cronograma el usuario debe seleccionar la pestaña Cronograma que se localiza en la parte inferior de la ventana, donde se va abrir una sección con la información del repartidor, unidad, tiempo, estatus de entrega y paradas. Además de mostrarle la información al usuario también está la opción de reasignar el operador, la cuenta entra cuando se hace clic en el icono reemplazar operador de las paradas y se elige el operador, enseguida se realiza una llamada al backend para re asignar el operador.
- Obtener listado de operadores
- URL:
- /ultimamilla/api/Operadores/consultar
- URL:
- Reasignar operador
- URL:
- /ultimamilla/api/ReasignarOperador/{idParadaFuenta}/{idOperador}
- URL:
Si la operación es exitosa se recarga el formulario. Si surge algún error se muestra mensaje de error al usuario y se permanece en la pantalla.
Enviar mensajes a operador
Para poder enviar mensaje al operador primero el usuario debe seleccionar el botón con icono de sobre y seleccionar a los repartidores, lo cual hace una llamada al backend para obtener los mensaje que anteriormente se hayan enviado.-
Mensajes por usuario y operador
- URL:
- /api/UltimaMilla/Chat/Operador/{idOperador}/{fecha}
Al cargar los mensajes (en el caso que haya), se despliega un cuadro y los mensajes, además de un campo para enviar mensajes nuevos. Al introducir el mensaje se hace llamada al backend para guardar el mensaje.
- URL:
-
Guardar chat última milla
- URL:
- /api/UltimaMilla/Chat
- Body:
- esOperador
- fechaHora
- idOperador
- idUsuario
- mensaje
- URL:
Si la operación es exitosa se recarga el formulario y se muestra el nuevo mensaje. Si surge algún error se muestra mensaje de error al usuario y se permanece en la pantalla.
Cancelar ruta
Dentro del resumen de paradas se debe presionar el icono de cancelar el cual primero envía un mensaje de advertencia y al continuar se realiza la llamada al backend para cancelar la ruta.
- Eliminar ruta
- URL:
- /api/UltimaMilla/EliminarRuta/{idParadaUltimaMilla}
- URL:
Si la operación es exitosa se recarga el formulario y en la sección de resumen de parada se puede observar la parada pero en estatus cancelada quitando las demás opciones disponibles. Si surge algún error se muestra mensaje de error al usuario y se permanece en la pantalla.
Reemplazar paquete
Dentro del resumen de paradas se debe seleccionar la ruta, desplegando más información y una sección de Acciones. Seleccionamos el botón de Reemplazar lo cual abre un recuadro y hace una llamada al backend para traer un listado de paquetes a embarcar.
-
Obtener listado de paquetes
- URL:
- /api/UltimaMilla/GetListadoPaquetes
Al seleccionar el paquete se manda a llamar el backend para reemplazar el paquete.
- URL:
-
Reemplazar parada
- URL:
- /api/UltimaMilla/RemplazarParada/{idParadaUltimaMilla}/{idPaqueteViejo}
- Body:
- esRecoleccion
- idNuevaGuia
- nuevoEsRecoleccion
- lat
- lng
- idEstatusGuia
- URL:
Si la operación es exitosa se recarga el formulario. Si surge algún error se muestra mensaje de error al usuario y se permanece en la pantalla.
Cambiar ubicación
Dentro del resumen de paradas se debe seleccionar la ruta, desplegando más información y una sección de Acciones. Seleccionamos el botón de cambiar ubicación lo cual abre un recuadro donde el usuario debe ingresar la ubicación manualmente o mediante el mapa que se muestra.
Al llenar la información se realiza una llamada en el backend para guardar la información.
- Actualizar coordenadas
- URL:
- /api/ultimaMilla/ActualizarCoordenadas/{idEmbarque}/{latitud}/{longitud}
- URL:
Si la operación es exitosa se recarga el formulario. Si surge algún error se muestra mensaje de error al usuario y se permanece en la pantalla.
Generar CFDI traslado
Dentro del resumen de paradas se debe seleccionar el embarque, desplegando más información y una sección de Acciones. Seleccionamos el botón de cambiar ubicación lo cual abre un mensaje de advertencia y se hace la llamada al backend para generar el reporte.
- Obtener el CFDI traslada
Si la operación es exitosa se recarga el formulario. Si surge algún error se muestra mensaje de error al usuario y se permanece en la pantalla.
Descargar XML Traslado
Dentro del resumen de paradas se debe seleccionar el embarque, desplegando más información y una sección de Acciones. Seleccionamos el botón Descargar XML Traslado e inmediatamente hacemos una llamada al backend para traer el xml.
- Obtener xml CFDI traslada
Si la operación es exitosa se descarga el xml automáticamente. Si surge algún error se muestra mensaje de error al usuario y se permanece en la pantalla.
Eliminar parada
Dentro del resumen de paradas se debe seleccionar el embarque, desplegando más información y una sección de Acciones. Seleccionamos el botón Eliminar y sale un mensaje de advertencia. Al continuar hace una llamada al backend para eliminar la parada.
- Eliminar parada
- URL:
- /api/UltimaMilla/EliminarParadaOperador
- URL:
Si la operación es exitosa se descarga el xml automáticamente. Si surge algún error se muestra mensaje de error al usuario y se permanece en la pantalla.
Parámetros Generales
Descripción general
Para acceder a Parámetros Generales se debe hacer clic el botón de Guías/Recolecciones, enseguida hacer clic en el menú lateral izquierdo en el módulo de Parámetros Generales. Esta vista se desarrolla iniciando con el archivo ParametrosConfiguracion.js.
En Parámetros de configuración se establece la mayoría de los parámetros que usa el sistema, además de la información del cliente del sistema.
Inicialización de la vista
Al iniciar se hacen unas llamadas al backend para obtener el listado de parámetros, los parámetros generales y los códigos postales.
- Obtener listado de parámetros
- URL:
- /ultimamilla/api/ParametrosConfiguracion/GetListado
- URL:
- Obtener parámetros generales consulta
- URL:
- ultimamilla/api/parametros-generales/consultar
- URL:
- Obtener códigos postales
- URL:
- /ultimamilla/api/codigos-postales/consultar-por-codigo-postal/{codigoPostal}
- URL:
Al obtener los parámetros generales, se muestran en la vista (en caso que no este un dato no se carga nada en los componentes donde muestra la información).
Acciones
Grabar
Para grabar los cambios de los Parámetros Generales se requieren los siguientes datos:
-
RFC: está definido por default
-
Registro Patronal: se introduce por el usuario.
-
Nombre Fiscal: se introduce por el usuario.
-
Nombre Comercial: se introduce por el usuario.
-
Régimen Fiscal: se introduce por el usuario.
-
Usuario: está definido por default
-
Contraseña: está definido por default
-
Api Key: está definido por default
-
Hacer timbrado de prueba:
-
Código Postal: se introduce por el usuario.
-
País: se carga automáticamente cuando el usuario introduce el código postal
-
Estado: se carga automáticamente cuando el usuario introduce el código postal
-
Municipio: se carga automáticamente cuando el usuario introduce el código postal
-
Colonia/Localidad: se elige por el usuario.
-
Teléfono:
-
Logo de la empresa: se sube la imagen por el usuario.
Una vez modificados o agregados los datos configurados, se hace clic en el botón Grabar para realizar una llamada del backend y guardar la información.
-
Modificar parámetros generales
- URL:
- /ultimamilla/api/parametros-generales/modificar
- Body:
- Todos los parámetros explicados anteriormente.
- URL:
Guías/Recolecciones
Descripción general
Esta vista se desarrolla inicialmente en el archivo GuiasMain.js. La guía sirve para la entrega o recolecta de diferentes paquetes. Para acceder a Guías/Recolecciones se debe hacer clic el botón de Guías/Recolecciones o si se está en otro módulo seleccionar el módulo de Guías.
Inicialización de la vista
Al iniciar la vista se verifica la sesión del usuario. Si no hay sesión iniciada se redirige al login. Si hay sesión activa se hace una llamada al backend para obtener el listado de guías entre otros para el filtro de búsqueda.
- Obtener listado de guias
- URL
- /ultimamilla/api/guias/consultar-por-filtros/{fechaInicial}/{fechaFinal}/{sucursal}/{estatus}/{folioGuia}/{idCliente}
- URL
- Obtener fecha final
- URL
- /ultimamilla/api/Utilerias/GetFechaFinal
- URL
- Obtener fecha inicio
- URL
- /ultimamilla/api/Utilerias/GetFechaInicio
- URL
Al obtener las respuestas se muestran en una tabla la cual permite hacer diferentes acciones dependiendo del estatus del Embarque, que serian los siguientes:
- La consulta puede realizarse sin importar el estatus.
- La modificación sólo ocurre cuando el estatus de la guía está en Pendiente.
- Generar Reporte, también siempre está disponible sin importar el estatus.
- Cancelar puede realizarse si el estatus está en Pendiente.
- Eliminar puede realizarse si el estatus está en Cancelado.
Acciones del usuario
Agregar
Para agregar se debe presionar la pestaña Agregar ubicada en la parte superior. Al entrar se cargan los listados de productos, sucursales, estatus guias y tipo de unidades, los cuales vienen de unas consultas del backend. Los servicios son los siguientes:
- Obtener listado de productos
- URL:
- /ultimamilla/api/productos/consultar
- URL:
- Obtener listado de sucursales
- URL:
- /ultimamilla/api/sucursales/consultar
- URL:
- Obtener listado de estatus guias
- URL:
- /ultimamilla/api/estatus/consultar-guia
- URL:
- Obtener listado embalajes
- URL:
- /ultimamilla/api/Embalajes/GetListado
- URL:
A continuación se explican los datos necesarios para crear una guía/recolección:
-
Sucursal: se elige por el usuario, viene de catálogo de sucursales.
-
Folio: el folio de guía se generará automáticamente al crear la guía , por lo que desde el frontend no se manda.
-
Fecha / Hora registro: se obtiene por código, es la fecha actual de creación.
-
Cliente: se elige por el usuario, viene de catálogo de clientes.
-
Guía o Recolección: se elige la opción por el usuario.
-
Paquetes: se eligen por el usuario, viene de catálogo de productos.
-
Complementos SAT: se eligen o importan por el usuario, los catálogos vienen de la base de datos.
-
Nombre Remitente:
-
Código Postal Remitente**:** se introduce por el usuario.
-
País Remitente: se carga automáticamente cuando el usuario introduce el código postal
-
Estado Remitente: se carga automáticamente cuando el usuario introduce el código postal
-
Municipio Remitente: se carga automáticamente cuando el usuario introduce el código postal
-
Colonia/Localidad Remitente**:** se elige por el usuario.
-
Zona Operativa Remitente: se carga automáticamente cuando el usuario introduce el código postal.
-
Calle Remitente: se introduce por el usuario.
-
Número Interior Remitente: se introduce por el usuario.
-
Número Exterior Remitente: se introduce por el usuario.
-
RFC Remitente: se introduce por el usuario.
-
Correo electrónico Remitente: se introduce por el usuario.
-
Teléfono Remitente: se introduce por el usuario.
-
Contacto Remitente: se introduce por el usuario.
-
Nombre Destinatario: se introduce por el usuario.
-
Código Postal Destinatario**:** se introduce por el usuario.
-
País Destinatario**:** se carga automáticamente cuando el usuario introduce el código postal
-
Estado Destinatario**:** se carga automáticamente cuando el usuario introduce el código postal
-
Municipio Destinatario**:** se carga automáticamente cuando el usuario introduce el código postal
-
Colonia/Localidad Destinatario**:** se elige por el usuario.
-
Zona Operativa Destinatario: se carga automáticamente cuando el usuario introduce el código postal.
-
Calle Destinatario: se introduce por el usuario.
-
Número Interior Destinatario: se introduce por el usuario.
-
Número Exterior Destinatario: se introduce por el usuario.
-
RFC Destinatario: se introduce por el usuario.
-
Correo electrónico Destinatario: se introduce por el usuario.
-
Teléfono Destinatario: se introduce por el usuario.
-
Contacto Destinatario: se introduce por el usuario.
En el caso se requiera cita se agregan los siguientes datos:
-
Cita Pendiente: se elige por el usuario si estará pendiente o no.
-
Fecha de la Cita: se elige por el usuario en caso no esté pendiente la cita.
-
Horma Mínima: se elige por el usuario en caso no esté pendiente la cita.
-
Hora Máxima: se elige por el usuario en caso no esté pendiente la cita.
Dentro de la pestaña de agregar hay una sección de Productos (después de la de información general), en la que podemos agregar productos mediante un botón.
Al presionar el botón Agregar Productos se abre una ventana donde se necesitan nuevos datos, pero esta vez del producto:
- Tipo de paquete: se elige por el usuario.
- Cantidad: se introduce por el usuario.
- Embalaje: se agrega automáticamente si el producto no es genérico, si lo es lo elige el usuario.
- Peso: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Largo: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Ancho: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Alto: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Descripción: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Observaciones: en caso de ser necesario se introduce por el usuario (no es obligatorio).
Al darle agregar en el botón inferior de la ventana, se agrega a una tabla donde se enlistan los productos a entregar.
Finalmente al darle Guardar en el botón de la parte inferior de la ventana se abre una ventana para elegir las coordenadas de la dirección del destinatario de la guía o recolección, para así hacer una llamada al backend para guardar la información.
- Agregar recolección
- URL:
- /ultimamilla/api/recolecciones/agregar
- Body:
- Todos los parámetros explicados anteriormente.
- URL:
- Agregar guia
- URL:
- /ultimamilla/api/guias/agregar
- Body:
- Todos los parámetros explicados anteriormente.
- URL:
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Modificar
Para modificar se debe presionar el icono similar a un lápiz ubicado en la columna Acciones de las guías/recolecciones que se requiera. Al entrar se cargan los listados de sucursales, listado de productos, la información de la guía o recolección, los códigos postales, los embalajes y estatus los cuales vienen de unas consultas del backend. Los servicios son los siguientes:
- Obtener guía o recolección
- URL:
- /ultimamilla/api/recolecciones/consultar/{idGuia}
- /ultimamilla/api/guias/consultar/{idRecoleccion}
- URL:
- Obtener listado de productos
- URL:
- /ultimamilla/api/productos/consultar
- URL:
- Obtener listado de sucursales
- URL:
- /ultimamilla/api/sucursales/consultar
- URL:
- Obtener listado de estatus guias
- URL:
- /ultimamilla/api/estatus/consultar-guia
- URL:
- Obtener listado embalajes
- URL:
- /ultimamilla/api/Embalajes/GetListado
- URL:
A continuación se explican los datos necesarios para modificar una guía/recolección:
-
Sucursal: se elige por el usuario, viene de catálogo de sucursales.
-
Folio: el folio de guía se generará automáticamente al crear la guía , por lo que desde el frontend no se manda.
-
Fecha / Hora registro: se obtiene por código, es la fecha actual de creación.
-
Cliente: se elige por el usuario, viene de catálogo de clientes.
-
Guía o Recolección: se elige la opción por el usuario.
-
Paquetes: se eligen por el usuario, viene de catálogo de productos.
-
Complementos SAT: se eligen o importan por el usuario, los catálogos vienen de la base de datos.
-
Nombre Remitente:
-
Código Postal Remitente**:** se introduce por el usuario.
-
País Remitente: se carga automáticamente cuando el usuario introduce el código postal
-
Estado Remitente: se carga automáticamente cuando el usuario introduce el código postal
-
Municipio Remitente: se carga automáticamente cuando el usuario introduce el código postal
-
Colonia/Localidad Remitente**:** se elige por el usuario.
-
Zona Operativa Remitente: se carga automáticamente cuando el usuario introduce el código postal.
-
Calle Remitente: se introduce por el usuario.
-
Número Interior Remitente: se introduce por el usuario.
-
Número Exterior Remitente: se introduce por el usuario.
-
RFC Remitente: se introduce por el usuario.
-
Correo electrónico Remitente: se introduce por el usuario.
-
Teléfono Remitente: se introduce por el usuario.
-
Contacto Remitente: se introduce por el usuario.
-
Nombre Destinatario: se introduce por el usuario.
-
Código Postal Destinatario**:** se introduce por el usuario.
-
País Destinatario**:** se carga automáticamente cuando el usuario introduce el código postal
-
Estado Destinatario**:** se carga automáticamente cuando el usuario introduce el código postal
-
Municipio Destinatario**:** se carga automáticamente cuando el usuario introduce el código postal
-
Colonia/Localidad Destinatario**:** se elige por el usuario.
-
Zona Operativa Destinatario: se carga automáticamente cuando el usuario introduce el código postal.
-
Calle Destinatario: se introduce por el usuario.
-
Número Interior Destinatario: se introduce por el usuario.
-
Número Exterior Destinatario: se introduce por el usuario.
-
RFC Destinatario: se introduce por el usuario.
-
Correo electrónico Destinatario: se introduce por el usuario.
-
Teléfono Destinatario: se introduce por el usuario.
-
Contacto Destinatario: se introduce por el usuario.
En el caso se requiera cita se agregan los siguientes datos:
-
Cita Pendiente: se elige por el usuario si estará pendiente o no.
-
Fecha de la Cita: se elige por el usuario en caso no esté pendiente la cita.
-
Horma Mínima: se elige por el usuario en caso no esté pendiente la cita.
-
Hora Máxima: se elige por el usuario en caso no esté pendiente la cita.
Dentro de la pestaña de agregar hay una sección de Productos (después de la de información general), en la que podemos agregar productos mediante un botón.
Al presionar el botón Agregar Productos se abre una ventana donde se necesitan nuevos datos, pero esta vez del producto:
- Tipo de paquete: se elige por el usuario.
- Cantidad: se introduce por el usuario.
- Embalaje: se agrega automáticamente si el producto no es genérico, si lo es lo elige el usuario.
- Peso: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Largo: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Ancho: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Alto: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Descripción: se agrega automáticamente si el producto no es genérico, si lo es lo introduce el usuario.
- Observaciones: en caso de ser necesario se introduce por el usuario (no es obligatorio).
Al darle agregar en el botón inferior de la ventana, se agrega a una tabla donde se enlistan los productos a entregar.
Finalmente al darle Guardar en el botón de la parte inferior de la ventana se abre una ventana para elegir las coordenadas de la dirección del destinatario de la guía o recolección, para así hacer una llamada al backend para guardar la información.
- Modificar recolección
- URL:
- /ultimamilla/api/recolecciones/modificar/{idGuia}
- Body:
- Todos los parámetros explicados anteriormente.
- URL:
- Modificar guia
- URL:
- /ultimamilla/api/guias/modificar/{idGuia}
- Body:
- Todos los parámetros explicados anteriormente.
- URL:
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Consultar
Para consultar se debe presionar el icono de ojo ubicado en la columna Acciones de las guías/recolecciones que se requiera. Al entrar se cargan los listados de sucursales, listado de productos, la información de la guía o recolección, los códigos postales, los embalajes y estatus los cuales vienen de unas consultas del backend. Los servicios son los siguientes:
- Obtener guía o recolección
- URL:
- /ultimamilla/api/recolecciones/consultar/{idGuia}
- /ultimamilla/api/guias/consultar/{idRecoleccion}
- URL:
- Obtener listado de productos
- URL:
- /ultimamilla/api/productos/consultar
- URL:
- Obtener listado de sucursales
- URL:
- /ultimamilla/api/sucursales/consultar
- URL:
- Obtener listado de estatus guias
- URL:
- /ultimamilla/api/estatus/consultar-guia
- URL:
- Obtener listado embalajes
- URL:
- /ultimamilla/api/Embalajes/GetListado
- URL:
- Obtener evidencias de guia
- URL:
- /api/UltimaMilla/Guia/GetImagenEvidencia/{idGuia}/{esRecoleccion}
- URL:
Estando todos los campos bloqueados ya que es consultar, solo puede ver la evidencia o regresar al listado de guías/recolecciones con el botón cancelar.
Cancelar
Para cancelar se debe presionar el icono circular ubicado en la columna Acciones de las guías/recolecciones que se requiera. (solo disponible cuando el embarque está en el estatus Pendiente). Al hacer clic se abre una ventana con el Folio de la guía/recolección y el motivo a cancelar. Al hacer clic en confirmar se hace una llamada al backend para guardar la información.
- Cancelar embarque
- URL:
- /ultimamilla/api/guias/Cancelar/{idGuia/idRecoleccion}
- Body:
- esRec
- motivoCancelacion
- usuarioCancelacion
- URL:
Si la operación es exitosa se redirige al usuario al listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.
Eliminar
Para eliminar se debe presionar el icono de Eliminar de la columna de Acciones del listado de guías/recolecciones. Al darle clic se muestra una ventana de advertencia para continuar y enseguida se manda a llamar el servicio de eliminación.
- Eliminar sello
- URL
- /ultimamilla/api/guias/eliminar/{idGuia/idRecoleccion}
- URL
Si la operación es exitosa se recarga el listado. Si surge algún error se muestra mensaje al usuario y se permanece en el formulario.