-- --------------------------------------------------------
-- Versión del servidor:         8.0.30 - MySQL Community Server - GPL
-- SO del servidor:              Win64
-- HeidiSQL Versión:             12.10.0.7000
-- --------------------------------------------------------



-- Volcando estructura de base de datos para db_relojito
CREATE DATABASE IF NOT EXISTS `db_relojito` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `db_relojito`;

-- Volcando estructura para tabla db_relojito.configuracion
CREATE TABLE IF NOT EXISTS `configuracion` (
  `id` int NOT NULL AUTO_INCREMENT,
  `nombre` text NOT NULL,
  `tipo` varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla db_relojito.configuracion: ~2 rows (aproximadamente)
INSERT INTO `configuracion` (`id`, `nombre`, `tipo`) VALUES
	(1, 'Okay, here\'s how you can autoplay (muted) and loop a YouTube video in your Vue.js application', 'T'),
	(2, 'PzJPnW1M-0w', 'V');

-- Volcando estructura para tabla db_relojito.db_modulos
CREATE TABLE IF NOT EXISTS `db_modulos` (
  `id_modulo` int NOT NULL AUTO_INCREMENT,
  `codigo` varchar(50) DEFAULT NULL,
  `nombre` varchar(50) DEFAULT NULL,
  `estado` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id_modulo`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla db_relojito.db_modulos: ~6 rows (aproximadamente)
INSERT INTO `db_modulos` (`id_modulo`, `codigo`, `nombre`, `estado`) VALUES
	(1, '1', 'RECEPCIÓN', 'A'),
	(2, '2', 'LEGALIZACIONES 1', 'A'),
	(3, '3', 'LEGALIZACIONES 2', 'A'),
	(4, '4', 'REVISIÓN', 'A'),
	(5, '5', 'REVISIÓN 2', 'A'),
	(13, '6', 'MODULO LEGAL', 'A');

-- Volcando estructura para tabla db_relojito.db_servicios
CREATE TABLE IF NOT EXISTS `db_servicios` (
  `id` int NOT NULL AUTO_INCREMENT,
  `nombre_servicio` varchar(50) DEFAULT NULL,
  `color` varchar(50) DEFAULT NULL,
  `icono` varchar(50) DEFAULT NULL,
  `inicial_servicio` varchar(50) DEFAULT NULL,
  `estado` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla db_relojito.db_servicios: ~4 rows (aproximadamente)
INSERT INTO `db_servicios` (`id`, `nombre_servicio`, `color`, `icono`, `inicial_servicio`, `estado`) VALUES
	(1, 'TRÁMITES SENCILLOS', '#df2a2a', 'ni ni-folder-17', 'S', 'A'),
	(2, 'TRÁMITES COMPLEJOS', '#fdd663', 'ni ni-folder-17', 'C', 'A'),
	(3, 'TESTIMONIOS Y PARTES NOTARIALES', '#fdd663', 'ni ni-folder-17', 'T', 'A'),
	(4, 'FIRMA PROGRAMADA', '#fdd663', 'ni ni-folder-17', 'F', 'A');

-- Volcando estructura para tabla db_relojito.db_turnos
CREATE TABLE IF NOT EXISTS `db_turnos` (
  `id` int NOT NULL AUTO_INCREMENT,
  `tipo_tramite_inicial` varchar(50) DEFAULT NULL,
  `tipo_tramite` varchar(50) DEFAULT NULL,
  `subtramite` varchar(50) DEFAULT NULL,
  `estado_turno` varchar(50) DEFAULT NULL,
  `llamado_turno` int DEFAULT NULL,
  `turno` varchar(50) DEFAULT NULL,
  `modulo` varchar(50) DEFAULT NULL,
  `documento` varchar(50) DEFAULT NULL,
  `usuario_atendio` varchar(50) DEFAULT NULL,
  `tiempo_ingreso` datetime DEFAULT NULL,
  `tiempo_atender` datetime DEFAULT NULL,
  `tiempo_salida` datetime DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla db_relojito.db_turnos: ~42 rows (aproximadamente)
INSERT INTO `db_turnos` (`id`, `tipo_tramite_inicial`, `tipo_tramite`, `subtramite`, `estado_turno`, `llamado_turno`, `turno`, `modulo`, `documento`, `usuario_atendio`, `tiempo_ingreso`, `tiempo_atender`, `tiempo_salida`) VALUES
	(1, '2', '2', '4', 'T', 2, 'D001', '5', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-05-29 11:47:15', '2025-05-29 11:59:58', '2025-05-29 13:16:24'),
	(2, '2', '2', '3', 'T', 2, 'D002', '5', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-04-29 11:47:17', '2025-04-29 13:11:15', '2025-05-29 13:27:17'),
	(3, '2', '2', '3', 'T', 2, 'D003', '5', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-04-29 11:47:19', '2025-04-29 13:11:34', NULL),
	(4, '1', '1', '', 'T', 2, 'T001', '1', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-06-11 11:49:08', '2025-06-11 16:27:33', '2025-06-11 16:42:45'),
	(5, '1', '1', '', 'T', 2, 'T002', '1', 'ANDRES AGUILAR', 'yordis.escorcia', '2025-06-11 11:49:11', '2025-06-11 16:27:14', '2025-06-11 16:27:29'),
	(6, '2', '2', '4', 'T', 2, 'D004', '5', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-05-29 13:13:06', '2025-05-29 13:13:12', NULL),
	(7, '2', '2', '3', 'T', 2, 'D005', '5', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-05-29 13:26:47', '2025-05-29 13:27:03', NULL),
	(8, '1', '1', '1', 'T', 2, 'T003', '3', 'angie cabarcas solano', 'angie', '2025-05-29 14:08:46', '2025-05-29 15:58:00', '2025-05-29 15:58:10'),
	(9, '1', '1', '1', 'T', 2, 'T004', '3', 'AAAAAAAAAA AAAAAAAAA', 'yordis.escorcia', '2025-05-29 15:00:13', '2025-05-29 16:57:37', '2025-05-29 16:58:15'),
	(10, '2', '2', '4', 'A', 0, 'D006', NULL, 'YOR', NULL, '2025-05-29 15:34:06', NULL, NULL),
	(11, '1', '1', '2', 'T', 2, 'T001', '2', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-05-30 09:45:45', '2025-05-30 09:46:17', '2025-05-30 09:50:36'),
	(12, '2', '2', NULL, 'S', 2, 'D001', '4', 'ANDRES AGUILAR', 'yordis.escorcia', '2025-05-30 09:45:52', '2025-05-30 11:18:16', NULL),
	(13, '1', '1', '1', 'T', 2, 'T002', '2', 'ANGIE CABARCAS', 'yordis.escorcia', '2025-05-30 09:45:59', '2025-05-30 11:02:20', '2025-05-30 11:09:34'),
	(14, '2', '2', NULL, 'S', 2, 'D002', '4', 'PAOLA SOLANO', 'yordis.escorcia', '2025-05-30 09:46:09', '2025-05-30 11:38:32', NULL),
	(15, '2', '2', NULL, 'A', 0, 'D003', NULL, 'ANDRES AGUILAR', NULL, '2025-05-30 11:37:56', NULL, NULL),
	(16, '2', '2', NULL, 'A', 0, 'D004', NULL, 'YORDIS ESCORCIA', NULL, '2025-05-30 15:43:29', NULL, NULL),
	(17, '1', '1', '1', 'T', 2, 'T003', '4', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-05-30 15:43:33', '2025-05-30 15:45:23', '2025-05-30 15:48:18'),
	(18, '9', '9', NULL, 'A', 0, 'N001', NULL, 'YORDIS ESCORCIA', NULL, '2025-05-30 15:43:36', NULL, NULL),
	(19, '9', '9', NULL, 'A', 0, 'N002', NULL, 'YORDIS ESCORCIA', NULL, '2025-05-30 15:50:41', NULL, NULL),
	(20, '1', '1', NULL, 'N', 2, 'T004', '4', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-05-30 15:50:50', '2025-05-30 15:51:00', '2025-05-30 16:12:36'),
	(21, '1', '1', NULL, 'N', 2, 'T005', '4', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-05-30 15:52:24', '2025-05-30 15:52:30', '2025-05-30 16:13:30'),
	(22, '1', '1', '13', 'T', 2, 'S001', '3', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-06-01 12:07:37', '2025-06-01 12:08:20', '2025-06-01 12:08:54'),
	(23, '2', '2', '29', 'T', 2, 'C001', '7', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-06-01 12:07:50', '2025-06-01 12:09:43', '2025-06-01 12:10:03'),
	(24, '2', '2', NULL, 'N', 2, 'C002', '7', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-06-01 12:13:29', '2025-06-01 12:13:35', '2025-06-01 12:13:40'),
	(25, '1', '1', '12', 'T', 2, 'S002', '2', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-06-01 16:53:40', '2025-06-01 16:54:02', '2025-06-01 17:05:17'),
	(26, '1', '1', '', 'T', 2, 'S003', '3', 'ANDRES PARRA', 'yordis.escorcia', '2025-06-01 16:53:46', '2025-06-01 20:33:22', '2025-06-01 20:51:38'),
	(27, '1', '1', NULL, 'A', 0, 'S004', NULL, 'MAURO', NULL, '2025-06-01 16:53:52', NULL, NULL),
	(28, '1', '1', NULL, 'A', 0, 'S001', NULL, 'YORDIS ESCORCIA', NULL, '2025-06-02 16:00:34', NULL, NULL),
	(29, '1', '1', NULL, 'A', 0, 'S002', NULL, 'YORDIS ESCORCIA', NULL, '2025-06-02 16:01:49', NULL, NULL),
	(30, '1', '1', NULL, 'S', 2, 'S001', '1', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-06-03 09:07:46', '2025-06-03 09:07:59', NULL),
	(31, '1', '1', NULL, 'A', 0, 'S002', NULL, 'YORDIS ESCORCIA', NULL, '2025-06-03 09:20:26', NULL, NULL),
	(32, '2', '2', NULL, 'A', 0, 'C001', NULL, 'YORDIS ESCORCIA', NULL, '2025-06-03 09:20:29', NULL, NULL),
	(33, '4', '4', '', 'T', 2, 'F001', '13', 'YORDIS ESCORCIA', 'yordis.escorcia', '2025-06-06 07:06:30', '2025-06-06 07:27:45', '2025-06-06 07:27:57'),
	(34, '4', '4', NULL, 'A', 0, 'F002', NULL, 'ANDRES AGUILAR', NULL, '2025-06-06 07:06:41', NULL, NULL),
	(35, '1', '1', NULL, 'A', 0, 'S001', NULL, 'YORDIS ESCORCIA', NULL, '2025-06-06 07:48:06', NULL, NULL),
	(36, '1', '1', NULL, 'A', 0, 'S002', NULL, 'ANDRES AGUILAR', NULL, '2025-06-06 07:50:10', NULL, NULL),
	(40, '4', '4', NULL, 'A', 0, 'F001', NULL, 'ANDRES AGUILAR', NULL, '2025-06-11 16:36:32', NULL, NULL),
	(41, '4', '4', NULL, 'A', 0, 'F002', NULL, 'YORDIS ESCORCIA', NULL, '2025-06-11 16:51:35', NULL, NULL),
	(42, '2', '2', NULL, 'S', 2, 'C001', '2', 'ANGIE CABARCAS', 'yordis.escorcia', '2025-06-12 16:51:48', '2025-06-12 16:36:15', NULL),
	(43, '2', '2', '', 'T', 2, 'C002', '1', 'ANDRES AGUILAR', 'yordis.escorcia', '2025-06-12 16:53:28', '2025-06-12 13:21:37', '2025-06-12 13:21:48'),
	(44, '1', '1', NULL, 'A', 0, 'S003', NULL, 'ANDRES AGUILAR', NULL, '2025-06-12 16:53:36', NULL, NULL),
	(45, '1', '1', NULL, 'S', 2, 'S004', '1', 'ANDRES AGUILAR', 'andres.escorcia', '2025-06-12 16:34:12', '2025-06-12 16:34:46', NULL);

-- Volcando estructura para tabla db_relojito.sub_servicios
CREATE TABLE IF NOT EXISTS `sub_servicios` (
  `id` int NOT NULL AUTO_INCREMENT,
  `id_servicio` int DEFAULT NULL,
  `nombre_sub` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
  `estado` varchar(5) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla db_relojito.sub_servicios: ~60 rows (aproximadamente)
INSERT INTO `sub_servicios` (`id`, `id_servicio`, `nombre_sub`, `estado`) VALUES
	(11, 1, 'CERTIFICACIÓN DE FOTOCOPIAS', 'A'),
	(12, 1, 'CERTIFICACIÓN DE FIRMAS', 'A'),
	(13, 1, 'AUTORIZACIÓN DE VIAJE DE MENOR AL INTERIOR DEL PAÍS', 'A'),
	(14, 1, 'AUTORIZACIÓN DE VIAJE DE MENOR AL EXTERIOR DEL PAÍS', 'A'),
	(15, 1, 'PODER FUERA DE REGISTRO', 'A'),
	(16, 1, 'CONSTATACIÓN DOMICILIARIA', 'A'),
	(17, 1, 'CONSTATACIÓN DE SUPERVIVENCIA', 'A'),
	(18, 1, 'CERTIFICACIÓN DE ENTREGA DE CARTAS NOTARIALES', 'A'),
	(19, 1, 'CERTIFICACIÓN DE APERTURA Y CIERRE DE LIBROS Y HOJAS SUELTAS', 'A'),
	(20, 1, 'EXPEDICIÓN DE COPIAS CERTIFICADAS DE ACTAS', 'A'),
	(21, 2, 'ADJUDICACIONES', 'A'),
	(22, 2, 'ADOPCIÓN DE PERSONAS CAPACES', 'A'),
	(23, 2, 'ANTICIPO DE LEGÍTIMA', 'A'),
	(24, 2, 'ANTICRESIS', 'A'),
	(25, 2, 'ARRENDAMIENTO POR ESCRITURA PÚBLICA', 'A'),
	(26, 2, 'AUMENTO DE CAPITAL POR CAPITALIZACIÓN DE UTILIDADES, ETC', 'A'),
	(27, 2, 'AUMENTO DE CAPITAL SAC, SRL, EIRL', 'A'),
	(28, 2, 'COMPRA – VENTA DE BIEN INMUEBLE', 'A'),
	(29, 2, 'COMPRA-VENTA JUDICIAL', 'A'),
	(30, 2, 'CONSTITUCIÓN DE ASOCIACIÓN', 'A'),
	(31, 2, 'CONSTITUCIÓN DE E.I.R.L.', 'A'),
	(32, 2, 'CONSTITUCIÓN DE GARANTÍA MOBILIARIA', 'A'),
	(33, 2, 'CONSTITUCIÓN DE HIPOTECA', 'A'),
	(34, 2, 'CONSTITUCIÓN DE PATRIMONIO FAMILIAR', 'A'),
	(35, 2, 'CONSTITUCIÓN DE SOCIEDADES Y EMPRESA INDIVIDUAL VÍA SID', 'A'),
	(36, 2, 'CONSTITUCIÓN SOCIEDADES MÉTODO TRADICIONAL', 'A'),
	(37, 2, 'CONTRATOS PREPARATORIOS Y ARRAS SOBRE PREDIOS', 'A'),
	(38, 2, 'CONVOCATORIA JUNTA OBLIGATORIA ANUAL Y JUNTA GENERAL DE ACCIONISTAS', 'A'),
	(39, 2, 'DACIÓN EN PAGO, RECONOCIMIENTO DE DEUDA', 'A'),
	(40, 2, 'DESALOJO NOTARIAL', 'A'),
	(41, 2, 'DESIGNACIÓN DE APOYOS Y SALVAGUARDIAS', 'A'),
	(42, 2, 'DISOLUCIÓN Y LIQUIDACIÓN DE SOCIEDADES Y EIRL', 'A'),
	(43, 2, 'DIVISIÓN Y PARTICIÓN', 'A'),
	(44, 2, 'DONACIÓN DE BIEN INMUEBLE', 'A'),
	(45, 2, 'INMOVILIZACIÓN DE PARTIDA REGISTRAL DE PREDIOS', 'A'),
	(46, 2, 'INVENTARIO DE BIENES', 'A'),
	(47, 2, 'LEASING', 'A'),
	(48, 2, 'LEVANTAMIENTO DE HIPOTECA', 'A'),
	(49, 2, 'MATRIMONIO', 'A'),
	(50, 2, 'MODIFICACIÓN PARCIAL O TOTAL DE ESTATUTO', 'A'),
	(51, 2, 'PERMUTA', 'A'),
	(52, 2, 'PRESCRIPCIÓN ADQUISITIVA INMUEBLES', 'A'),
	(53, 2, 'PRESCRIPCIÓN ADQUISITIVA VEHÍCULOS', 'A'),
	(54, 2, 'RECONOCIMIENTO DE CONCEBIDO', 'A'),
	(55, 2, 'RECONOCIMIENTO DE UNIÓN DE HECHO', 'A'),
	(56, 2, 'RECTIFICACIÓN DE ÁREAS', 'A'),
	(57, 2, 'RECTIFICACIÓN DE PARTIDA', 'A'),
	(58, 2, 'REVOCACIÓN, MODIFICACIÓN, SUSTITUCIÓN Y_O DELEGACIÓN DE PODER', 'A'),
	(59, 2, 'SEPARACIÓN CONVENCIONAL Y DIVORCIO ULTERIOR', 'A'),
	(60, 2, 'SEPARACIÓN DE PATRIMONIOS', 'A'),
	(61, 2, 'SUCESIÓN INTESTADA', 'A'),
	(62, 2, 'SUSTITUCIÓN DE RÉGIMEN PATRIMONIAL', 'A'),
	(63, 2, 'TESTAMENTO POR ESCRITURA PÚBLICA', 'A'),
	(64, 2, 'TRANSFERENCIA DE ACCIONES A TÍTULO ONEOROSO O GRATUITO', 'A'),
	(65, 2, 'TRANSFERENCIA DE PARTICIPACIONES A TÍTULO ONEROSO O GRATUITO', 'A'),
	(66, 2, 'TRANSFERENCIA DE TITULARIDAD DE EIRL A TÍTULO ONEROSO O GRATUITO', 'A'),
	(67, 2, 'TRANSFERENCIA VEHICULAR', 'A'),
	(68, 2, 'TRANSFORMACIÓN DE EIRL A SOCIEDAD', 'A'),
	(69, 2, 'TRANSFORMACIÓN DE EIRL, SAC, SRL A CUALQUIER FORMA SOCIETARIA, NO LUCRATIVA O EIRL', 'A'),
	(70, 2, 'TRANSFERENCIA DE POSESIÓN DE PREDIOS URBANOS O RÚSTICOS', 'A');

-- Volcando estructura para tabla db_relojito.usuarios
CREATE TABLE IF NOT EXISTS `usuarios` (
  `id_admin` int NOT NULL AUTO_INCREMENT,
  `usuario` varchar(50) DEFAULT NULL,
  `password` varchar(200) DEFAULT NULL,
  `cedula` int DEFAULT NULL,
  `nombres` varchar(100) DEFAULT NULL,
  `apellidos` varchar(100) DEFAULT NULL,
  `estado` varchar(60) DEFAULT 'Activo',
  `nivel` int DEFAULT NULL,
  `modulo_utilizar` varchar(50) DEFAULT NULL,
  `servicio_utilizar` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id_admin`) USING BTREE,
  UNIQUE KEY `usuario` (`usuario`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla db_relojito.usuarios: 14 rows
INSERT INTO `usuarios` (`id_admin`, `usuario`, `password`, `cedula`, `nombres`, `apellidos`, `estado`, `nivel`, `modulo_utilizar`, `servicio_utilizar`) VALUES
	(1, 'andres', 'andres', 712345, 'Andres Reales', 'Escorcia', 'A', 1, '1', '1'),
	(4, 'yordis.escorcia', '$2y$12$5keXTBZQhRWC9RddHhs/IOTeVGaqFbXD6zKCmsYxi3ODDUCZulh9W', 123456789, 'Yordis Escorcia', 'vasquez', 'A', 1, '2', '2'),
	(5, 'andres.escorcia', '$2y$12$5keXTBZQhRWC9RddHhs/IOTeVGaqFbXD6zKCmsYxi3ODDUCZulh9W', 12345, 'Andres Escorcia', 'escorcia', 'A', 1, '1', '1'),
	(6, 'carlos.perez', '$2a$12$17JkiiFa9asxGn4dbGNA0ejDmXigwRRyVBNnvqkijd.MZ0raQv/7y', 2365454, 'Carlos Perez', NULL, 'A', 1, '1', '2'),
	(7, 'pablo.ariza', '$2a$12$y1eMvQrnw9RfhmwPRXDWY.vnZI.s6dJl/io1ECqIYtT138RkX6fIe', 2365454, 'Pablo Ariza', NULL, 'A', 1, '1', '1'),
	(9, 'asd', '$2a$12$wpXyb0g.8LnpL5D9Q4.Rg.58DjrkUYlg160idxQU0CUl7PG43/D5y', 0, 'asdasd', NULL, 'A', 0, '1', '2'),
	(10, 'sssssssssssss', '$2a$12$XY7TJxj/KLVRV5xUallbE.8SRZ3pwiQ2GYSSiJUoGL4rh8bvu.0ty', 0, 'sssssssss', NULL, 'A', 0, '1', '1'),
	(11, 'pedrosqui', '$2a$12$SSm0FhMFgG2KVq8rMymkouUBiJro.NFrlaud7Mft986Ql9KRV4HWC', 123123123, 'pedro pablo', NULL, 'A', 1, '1', '2'),
	(12, 'pedrosqui1', '$2a$12$aRq9DenOjMqNK0jemb3U8OD5MztyIyOgLXaP01CBAqdIgIUkwlaNC', 0, 'pedrosqui', NULL, 'A', 0, '1', '1'),
	(16, '235235', '$2a$12$oZ5UHtM3y.DR6r04i.qBDe5bfr6kQuhK62nOUNU3TYaeuk0NEBf4a', 235423532, 'rafita', 'cassiani', 'A', 1, '9', '2'),
	(17, '124124', '$2a$12$qVEGvor1MRaf4tRKTyXHU.1zkWCvMnGvTxQEvm70/QDDEKqXMtR9W', 124124124, '124124', '124124', 'I', 1, '2', '1'),
	(18, 'carlos.arrieta', '$2a$12$C5vVusoDK5WXZPwv0fAm9uPegzh1lrs3bi/d/6CTSLCDWqiBnFREW', 3232, 'CARLOS', 'ARRIETA', 'A', 1, '6', '2'),
	(19, 'sdfdsfsdf', '$2y$12$5aiDLTULsRxhY/N2RpMauu2TxjrsIUrmd2SocoQwR9L.j53C5j1gu', 2323, 'SDFSDF', 'SDFSDF', 'Activo', 1, '8', '1'),
	(20, 'angie', '$2y$12$JS1/FTsCB7XKJ8Y0UuA/Z.20eekCE6Ow/ducOxd2ViIVOo/9/lciC', 654987, 'ANGIE', 'CABARCAS', 'Activo', 2, '3', '1');

-- Volcando estructura para tabla db_relojito.usuarios_token
CREATE TABLE IF NOT EXISTS `usuarios_token` (
  `token_id` int NOT NULL AUTO_INCREMENT,
  `usuario_id` varchar(45) DEFAULT NULL,
  `Token` varchar(300) DEFAULT NULL,
  `estado` varchar(45) DEFAULT NULL,
  `fecha` datetime DEFAULT NULL,
  PRIMARY KEY (`token_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla db_relojito.usuarios_token: ~79 rows (aproximadamente)
INSERT INTO `usuarios_token` (`token_id`, `usuario_id`, `Token`, `estado`, `fecha`) VALUES
	(1, 'yordis.escorcia', '44a742c7a724b43446a8-fe1bc8dcbe1d511b442c-8a85dab59288e0836707-2004d7f3acfbc7dd8b50', 'I', '2023-07-25 09:18:23'),
	(2, 'yordis.escorcia', 'e9aab872f28e43d1c9f5-583b3fdd7d15efed2bbf-564783a99649b2af7624-16b9ffb661fedab6b269', 'I', '2023-07-25 09:56:26'),
	(3, 'yordis.escorcia', '13a232efa1a699de1ac5-2bc827f0b209a6b9505e-57c5104268db3e5dc43c-671127933a6f39570e04', 'I', '2023-07-25 09:57:12'),
	(4, 'yordis.escorcia', '66570623ce2dbd14a598-63162ec936ab951c3635-7aacc1f971c8de931276-2efecba8f0f6568303fa', 'I', '2023-07-25 09:58:13'),
	(5, 'yordis.escorcia', 'ff1be4bde00af5a50ca7-b135eb5fb94997786cfd-24d17ec700c2686fee92-702de2cd4b25035280d7', 'I', '2023-07-25 09:58:29'),
	(6, 'yordis.escorcia', 'ddd99091647484db9b8d-61295130ed74fc7ac31f-80d6e138d374b350c77b-63bc11d79deab8e096a9', 'I', '2023-07-25 11:04:24'),
	(7, 'yordis.escorcia', 'a7032e846505532cbc16-8b1849b68680286d6710-a267d0bb1cc9cfc84250-b9715cfd96a82cd30c72', 'I', '2023-07-25 12:04:29'),
	(8, 'yordis.escorcia', 'f9317bc481b45217850d-5154fe0584f6aa7be8a3-6b03a9f6c4b2c935a9cd-2dac6e25b9eb617428b7', 'I', '2023-07-25 13:04:37'),
	(9, 'yordis.escorcia', 'b6cc547c5894f1910f3a-7a027954ed02a4d106a3-a1f8af2ec82dbd62db49-da08c4eefc41caddd220', 'I', '2023-07-25 13:32:46'),
	(10, 'yordis.escorcia', 'a5c8da4373c35dfd186a-880d4cb9f8800777fe03-9b1b25f8374948bed46a-77c7662212bb02a4b9b1', 'I', '2023-07-25 14:35:35'),
	(11, 'yordis.escorcia', '88fd314ce151c9e90902-6d7dce5c56498e1613c7-f974d02cd328d14bb31b-bb28508103e4b1644ece', 'I', '2023-07-25 15:23:29'),
	(12, 'yordis.escorcia', 'a78cbfcfd7b6c995bc68-bf38219702f10cc15af8-e79428bde43d1a0dc1b4-e67fa1a69e8bb55da3ba', 'I', '2023-07-25 16:35:32'),
	(13, 'yordis.escorcia', '6785ee237ade341a33f6-c04210cd3a0c5c447397-c6607ed33c8195b17f8b-4e79536c615ce057c4dc', 'I', '2023-07-27 07:12:00'),
	(14, 'yordis.escorcia', '9613658aa7245c30a21c-ef2886e47b8e4f89916d-983d217ee754b8f4cc28-493bc34a6cc592f56c08', 'I', '2023-07-27 08:17:49'),
	(15, 'yordis.escorcia', 'f95b7337bc00812c7168-e3d1c3ca84237d901fbb-650ef5717d2cb25acf8e-77a71acdc2cfe4f56280', 'I', '2023-07-27 09:20:49'),
	(16, 'andres.escorcia', '19687264a5da4840a4fc-72d186f8cd73772fcdc9-95561c0a5b34aaf372c5-864cadf7d3ce55abcea4', 'I', '2023-07-27 09:25:03'),
	(17, 'yordis.escorcia', '0fe701edfdc47dc9f516-016262e36632f10b3d7f-e16f8ffb845d6dcc85be-2179c387b313dfc68dec', 'I', '2023-07-27 09:35:51'),
	(18, 'andres.escorcia', '8a9db35a2bf32e857af9-df6b82918aca952df4ba-e7fd7346a77cb82be4f4-7a75a69827552100b907', 'I', '2023-07-27 09:42:59'),
	(19, 'andres.escorcia', 'a60f3272848413049dde-a96ddd82c08aab8b2d88-3bb493b58a8dbb500087-31fada081f266153bcf3', 'I', '2023-07-27 09:45:24'),
	(20, 'yordis.escorcia', 'e5a9fa7a2d4cdafbe2df-9e48da00c55c963a8003-6a10bb7921c0529b30de-7d2e35b7a2d7823b8c2d', 'I', '2023-07-27 12:02:00'),
	(21, 'yordis.escorcia', '0d44b09b93d19f88dd8b-ca58fdadf19041839fa4-55697f971fbda93deeba-857ed0808326df65df6e', 'I', '2023-07-27 13:17:47'),
	(22, 'yordis.escorcia', '9f8886629481b67bb658-551cc55c1246b421d7b9-44fb066f4bf60afa1fb2-50b9dcec1a6c3cc2be64', 'I', '2023-07-27 15:57:25'),
	(23, 'yordis.escorcia', '3d60143036faeb4c3493-593ad48764b5aaa777fa-4d13560b0c150830580e-bac164de16b508ed4ccf', 'I', '2023-07-28 07:43:05'),
	(24, 'yordis.escorcia', '5766f7a9d6204008773f-8f738822142f5777e36b-e28fe714961d5f7c84be-79f577ce4ed1be5e02f0', 'I', '2023-07-28 10:37:31'),
	(25, 'yordis.escorcia', 'b975eae135898006af36-2937e1abb5d411a872f0-e501c3c8667f91565c88-7bab6da301a4974b05ff', 'I', '2023-07-28 11:11:50'),
	(26, 'andres.escorcia', 'd7e017844ceac361f6c5-64f82d907128f05a76be-1ce67aa8f4abd89445b5-49be4bcbd70c007cd814', 'I', '2023-07-28 11:13:55'),
	(27, 'yordis.escorcia', '88763ab9e7639480c2a2-3837e129cb7e54a2531b-f3554f5cf16461b1b85d-e50ec80f9664ca67674a', 'I', '2023-07-28 11:15:12'),
	(28, 'yordis.escorcia', 'a5d1fe4c0e77dfe7311f-0825dc759bbb5675dd38-e34c912b18bcc9df0b63-3197f624674cfbb5044a', 'I', '2023-08-03 15:17:29'),
	(29, 'yordis.escorcia', '14829e0d06fdf9ed51d0-b2b599e482e5609ae7a8-9f5af33cd919c782d9af-f5034a002d4aa3225187', 'I', '2023-08-03 16:48:03'),
	(30, 'yordis.escorcia', '2d23605c2304a6f5cb74-5cfe71881f4a72e56905-5902e4e5dbd73fd8355c-bf0f72eac14bc72213f1', 'I', '2023-08-04 07:14:10'),
	(31, 'yordis.escorcia', '69df355ac370263f5ed8-d6e43e73db18dee8e6e9-372c425128467baee545-eba95bff8683ab3ad2fd', 'I', '2023-08-04 07:38:52'),
	(32, 'yordis.escorcia', '4f58a099a72e662dfa67-1f0eb5ea7a91b57ce219-9c5e0b3c992e5cace0a3-4bcb419e8fdb596dcd6f', 'I', '2023-08-04 08:38:57'),
	(33, 'yordis.escorcia', 'bf672cf276c4cf688910-3ddc5d42d1d2ba1e1e91-af2757389ba421ec0bbf-64415810b81aa812161d', 'I', '2023-08-04 10:44:15'),
	(34, 'yordis.escorcia', '493ec277f0da176bf755-e2422b9d2e5115fa578d-d44d99f79f6d9a2d6071-043318ac839c16642b33', 'I', '2023-12-07 09:33:12'),
	(35, 'yordis.escorcia', 'aaaaaaaaaaaaaaaa', 'I', '2025-02-07 14:16:59'),
	(36, 'yordis.escorcia', 'ca5ed6d15609c9739601-5d2f258b8fb212411fc3-6c20101a5512a2814b59-075afce11e9589a53b83', 'I', '2025-02-07 14:23:58'),
	(37, 'yordis.escorcia', '9914792c81229d0d52e2-770d462b7898ba61c877-44934e416ccfaac93e1a-363af826c90c97a176e0', 'I', '2025-02-07 14:24:12'),
	(38, 'yordis.escorcia', '4e1f88529f00a84cae4a-871e2dd993e9ddf1ea34-a3970e961dfecbc4ef75-241f9de40ff95aaa5c77', 'I', '2025-02-07 15:47:14'),
	(39, 'asdasd', 'sdad', 'A', '2025-05-28 20:20:41'),
	(40, 'yordis.escorcia', 'ff22fba75c61794fed22e1df9645230fe02a5274f104c4d4cec32f98774f16d855645d1360cc5d61', 'I', '2025-05-28 20:32:45'),
	(41, 'yordis.escorcia', 'a91032a369d6d951610eeac472f0842092118b5835379804c2df1722335968140a6b3c07c8d2b38a', 'I', '2025-05-29 07:10:52'),
	(42, 'yordis.escorcia', 'a292ae3164b4d2778864e069fe1076711fa2bca4e643437ae33ca4bbd39e2a620609d9e9a7d9f6f3', 'I', '2025-05-29 09:28:53'),
	(43, 'yordis.escorcia', 'c4cf04dec8dfad3d9ae141e338ff9b14d09a5aae712391655f43aa0f7ea6739b13e1f86cb715613b', 'I', '2025-05-29 10:14:44'),
	(44, 'yordis.escorcia', 'd4e606b6b60573d191513d7a232f22a0c62377c8c4d29ac051412ae779d02e42839e137610f39f67', 'I', '2025-05-29 10:51:30'),
	(45, 'yordis.escorcia', '141bb26a331cf7dbf5e7f2370e173121572bbafda1cc797095c1a7628e47c31b127f6028b3557102', 'I', '2025-05-29 11:02:53'),
	(46, 'yordis.escorcia', '42cb4131500dca0f4743a28e737535f54d06f612e6efa3b3dbf1d6ec8d9ccb50aa9959c57b346168', 'I', '2025-05-29 11:59:51'),
	(47, 'yordis.escorcia', 'd2ba62588799c0e4dbf1127163dc0b6cb62d9fb25308b27508740597987b231b20d24cf5b0a497a9', 'I', '2025-05-29 15:56:26'),
	(48, 'angie', '6735d4ad361cb17ac97216efa254d317df0bb8e99c527f5382fafdf7ec562d5ef0df06c179505125', 'A', '2025-05-29 15:57:46'),
	(49, 'yordis.escorcia', 'aa7a5ca4126397e4b8c896e4fee2c1f01631735c3a300827980445bc20d0e569a35e6056bb3c1b06', 'I', '2025-05-29 15:58:53'),
	(50, 'yordis.escorcia', '1eb8d9e6d092dcb2c0f3eabc93286d97acff1958c344711d32a5c4b7db74ceb4aeef174c7699772d', 'I', '2025-05-30 07:36:21'),
	(51, 'yordis.escorcia', '6b07bef4019fabf630296ceda7e85387b9c1191c758634830c00192a56a99955b1ec948de325ff36', 'I', '2025-05-30 11:09:47'),
	(52, 'yordis.escorcia', '05674fc6eafa9a7723aa4db8b97e72807679ce4ff42d45e26a9ee860a9423a844a49782b276e7a96', 'I', '2025-05-30 14:55:36'),
	(53, 'yordis.escorcia', '19622b3b40cb2175d99bc0e7b130f7238dce2aa847ad9b619f441bef27015725b8feca091621b0e7', 'I', '2025-05-30 15:30:02'),
	(54, 'yordis.escorcia', '9480a1669fc4db523d0d575257a3cb2fcbf3c08ec6373fa7c5fcdd89d09b502650cf59d576109296', 'I', '2025-05-30 15:52:42'),
	(55, 'yordis.escorcia', '2db9bdec7bbeeaf4558161e8c0137089a868a6d8997766149b577e40929b8ef66b955c50ebbb1e68', 'I', '2025-05-30 15:53:41'),
	(56, 'yordis.escorcia', '71f0ec8227c001af1d9dbafc62e18a10cd36888821eb76bd077a15ad53aed8f45aeb59bfa44081b4', 'I', '2025-06-01 11:18:00'),
	(57, 'yordis.escorcia', 'cf30a66a6d95fe67a6767106df8a1a73b99d805c6c651182dcc982c528283dcc7f3bca8e572708d2', 'I', '2025-06-01 12:09:32'),
	(58, 'yordis.escorcia', '2bd1928822815f178eda2e047085d7017aed4d136d09aaeb5a0b85953a56162fbf0aa68172e2344b', 'I', '2025-06-01 16:53:06'),
	(59, 'yordis.escorcia', 'ee774ab0b2f4f273339ee8ff1900d85be4750b93169cd899951963e6b606c8cbb8eabc811f193ad2', 'I', '2025-06-01 20:24:10'),
	(60, 'yordis.escorcia', 'd6101a1335a1ce5505ad1f84f1dd48351e777437c9ff6101e7ebbc81d7e76f1dcbadbfa8e0cf51b6', 'I', '2025-06-02 13:24:32'),
	(61, 'yordis.escorcia', '8ae1e505b3dcf04c151a3a7f785e19b511b907539c962c489c5b1b539802ecf12c566d069d109841', 'I', '2025-06-02 14:01:27'),
	(62, 'yordis.escorcia', '02f99c3c54e739034b5da4a8ee2fbf0c55ac4a55f3db20aa951bdb388d457f32839d23de14065a82', 'I', '2025-06-02 15:56:14'),
	(63, 'yordis.escorcia', 'b3003fbe6188e8788a17dbec23344474ab068b0984fbf2e40528b6e321206c250b30de56847c0640', 'I', '2025-06-03 09:07:54'),
	(64, 'yordis.escorcia', '4c352e35c2669c7951e303c3ae0ef7506ec9f0e8941cc7ca07f2ce349c1a9cc8dbdf92876c3f478d', 'I', '2025-06-03 10:14:15'),
	(65, 'yordis.escorcia', '932b40616ab05f98c071332f89e465cc506d8ec7219fe2de86b93628c5ed309298fba7395f165ec9', 'I', '2025-06-05 16:12:06'),
	(66, 'yordis.escorcia', 'c749f9a162def978996d62d574962012dc8dd4c58c3f9a3e7d0205dea3bb12b68ba3cf21075340da', 'I', '2025-06-05 16:12:11'),
	(67, 'yordis.escorcia', '135bba1788474b30c29527be0d042466a5bbb9f35ecf86869fb882270e9a3d4ada4ad0a3c413c53f', 'I', '2025-06-05 16:27:38'),
	(68, 'yordis.escorcia', '1bd6133864ce06d6b6a3c8f7e1a16934f0ab8d8cb9cbf8f3b6ee9bf9918f8345fab5d66e5b669e4a', 'I', '2025-06-06 07:04:58'),
	(69, 'yordis.escorcia', '47902c0670b320cd71a6b8d570fb802132727e55ef39ac75191b49f115866f2abf24983829f79e43', 'I', '2025-06-06 07:06:03'),
	(70, 'yordis.escorcia', '3f2613a76a0a8546e0cb6279b22af6d5b8c321100137a1e609cb9774fa0d56a75627870fd68953aa', 'I', '2025-06-06 07:26:43'),
	(71, 'yordis.escorcia', 'a182576c383b28847ddd2720e4e09f2d4511121cf70ba4d63b290b860397c7f86c339c023aec4d63', 'I', '2025-06-06 07:46:55'),
	(72, 'yordis.escorcia', '470a75f234402bdd8cfae253121c661fadd35657bfd8df8b6a3688250ea639ab9e084264ea9f7703', 'I', '2025-06-06 07:47:49'),
	(73, 'yordis.escorcia', 'ddb24653472395a74028643773c68d56da01df90790ff56d3992b4cf77e1853b85014d9ba94c50b4', 'I', '2025-06-06 07:49:45'),
	(74, 'yordis.escorcia', '36d9550a18b849dc9edf1439a0229cb02d469a4f5990192ae32307600cc07e425ef710615e3e1413', 'I', '2025-06-11 15:48:50'),
	(75, 'andres.escorcia', '4064f4f8e997380b094151697f81ec02472895476a6f197d4fe9c1875b6084ce9c135d20c775cda6', 'I', '2025-06-11 16:34:07'),
	(76, 'yordis.escorcia', '3bf25d2623212649a17b5233b612c350e5892ead84b128b856e8046712c82ea7b37d763b758ef751', 'I', '2025-06-12 13:20:10'),
	(77, 'yordis.escorcia', 'afd87f3afbadf0da09bc2a3bb3a69475cc1477602748be0d465ff436230edee78d80af9eef3c98e4', 'I', '2025-06-12 13:21:07'),
	(78, 'andres.escorcia', 'd1db0a57542ea404ac42660b7633194dde3e87844470566b545b2549366242313614df7caa820c25', 'A', '2025-06-12 16:33:58'),
	(79, 'yordis.escorcia', '256925cecc25ae16d3743f51e78005a70bbd3d7aef02eb524944e2cf6178190b845431c33afcd94c', 'A', '2025-06-12 16:35:55');

-- Volcando estructura para procedimiento db_relojito.actualizar_clave
DELIMITER //
CREATE PROCEDURE `actualizar_clave`(
	IN `v_usuario` VARCHAR(50),
	IN `v_password` VARCHAR(250)
)
BEGIN
DECLARE existe_usuario INT;
DECLARE salida JSON;
SET existe_usuario = (SELECT COUNT(*) FROM usuarios WHERE usuario = v_usuario);
IF existe_usuario  = 1 THEN
-- ---------------------------------------------------------------------------------------
UPDATE  usuarios SET password = v_password WHERE usuario = v_usuario;
				SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Clave Actualizado Correctamente'
        );
-- -----------------------------------------------------------------------------------------
ELSE
			SET salida = JSON_OBJECT(
            'codigo', '1',
            'mensaje', 'No se logro actualizar la clave'
        );
END IF;
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.actualizar_estado
DELIMITER //
CREATE PROCEDURE `actualizar_estado`(
	IN `v_usuario` VARCHAR(50),
	IN `v_estado` VARCHAR(50)
)
BEGIN
DECLARE existe_usuario INT;
DECLARE salida JSON;
SET existe_usuario = (SELECT COUNT(*) FROM usuarios WHERE usuario = v_usuario);
IF existe_usuario  = 1 THEN
-- ---------------------------------------------------------------------------------------
UPDATE  usuarios SET estado = v_estado WHERE usuario = v_usuario;
			SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Estado Cambiado Correctamente'
        );
-- -----------------------------------------------------------------------------------------
ELSE
				SET salida = JSON_OBJECT(
            'codigo', '1',
            'mensaje', 'No se logro cambiar el estado'
        );
END IF;
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.actualizar_estado_servicios_all
DELIMITER //
CREATE PROCEDURE `actualizar_estado_servicios_all`(
	IN `v_id_tipo` VARCHAR(50),
	IN `v_tipo` VARCHAR(50),
	IN `v_estado` VARCHAR(50)
)
BEGIN
DECLARE salida JSON;
-- ---------------------------------------------------------------------------------------
IF v_tipo  = 'S' THEN
UPDATE  db_servicios SET estado = v_estado WHERE id = v_id_tipo;
			SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Estado Cambiado Correctamente'
        );
END IF;
-- -----------------------------------------------------------------------------------------
-- ---------------------------------------------------------------------------------------
IF v_tipo  = 'M' THEN
UPDATE  db_modulos SET estado = v_estado WHERE id_modulo = v_id_tipo;
			SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Estado Cambiado Correctamente'
        );
END IF;
-- -----------------------------------------------------------------------------------------
-- -----------------------------------------------------------------------------------------
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.actualizar_mensajevideo
DELIMITER //
CREATE PROCEDURE `actualizar_mensajevideo`(
	IN `v_tipo` VARCHAR(50),
	IN `v_nombre` VARCHAR(100)
)
BEGIN
DECLARE salida JSON;

-- ---------------------------------------------------------------------------------------
if v_tipo = 'V' then 
UPDATE configuracion c SET c.nombre = v_nombre WHERE c.tipo='V';
				SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Se actualizo el video Correctamente'
        );
END IF;
if v_tipo = 'T' then 
UPDATE configuracion c SET c.nombre = v_nombre WHERE c.tipo='T';
				SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Se actualizo el video Correctamente'
        );
END IF;

		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.actualizar_modulo
DELIMITER //
CREATE PROCEDURE `actualizar_modulo`(
	IN `v_idmodulo` VARCHAR(50),
	IN `v_nombremodulo` VARCHAR(50)
)
BEGIN
DECLARE existe_servicio INT;
DECLARE salida JSON;
SET existe_servicio = (SELECT count(*) FROM db_modulos ut WHERE ut.id_modulo = v_idmodulo AND ut.estado ='A');
IF existe_servicio  > 0 THEN
-- ---------------------------------------------------------------------------------------
UPDATE db_modulos m SET m.nombre = UPPER(v_nombremodulo) WHERE m.id_modulo=v_idmodulo AND m.estado='A';
			SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'modulo Insertado Correctamente'
        );
-- -----------------------------------------------------------------------------------------
ELSE
			SET salida = JSON_OBJECT(
            'codigo', '1',
            'mensaje', 'No se logro Actualizar el Modulo'
        );
END IF;
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.actualizar_servicio
DELIMITER //
CREATE PROCEDURE `actualizar_servicio`(
	IN `v_idservicio` VARCHAR(50),
	IN `v_nombreservicio` VARCHAR(50),
	IN `v_color` VARCHAR(50),
	IN `v_icono` VARCHAR(50)
)
BEGIN
DECLARE existe_servicio INT;
DECLARE salida JSON;
SET existe_servicio = (SELECT count(*) FROM db_servicios s WHERE s.id=v_idservicio AND s.estado ='A');
IF existe_servicio  > 0 THEN
-- ---------------------------------------------------------------------------------------
UPDATE db_servicios s SET s.nombre_servicio = UPPER(v_nombreservicio), s.color=v_color, s.icono=v_icono WHERE s.id=v_idservicio AND s.estado='A';
			SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Servicio Actualizado Correctamente'
        );
-- -----------------------------------------------------------------------------------------
ELSE
			SET salida = JSON_OBJECT(
            'codigo', '1',
            'mensaje', 'No se logro Actualizar el servicio'
        );
END IF;
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.actualizar_usuario
DELIMITER //
CREATE PROCEDURE `actualizar_usuario`(
	IN `v_usuario` VARCHAR(50),
	IN `v_cedula` VARCHAR(50),
	IN `v_nombres` VARCHAR(50),
	IN `v_apellidos` VARCHAR(50),
	IN `v_nivel` VARCHAR(50),
	IN `v_modulo_utilizar` VARCHAR(50),
	IN `v_servicio_utilizar` VARCHAR(50)
)
BEGIN
DECLARE existe_usuario INT;
DECLARE salida JSON;
SET existe_usuario = (SELECT COUNT(*) FROM usuarios WHERE usuario = v_usuario);
IF existe_usuario  = 1 THEN
-- ---------------------------------------------------------------------------------------
UPDATE  usuarios  
SET cedula = v_cedula,nombres = v_nombres,apellidos = v_apellidos,
nivel = v_nivel,modulo_utilizar = v_modulo_utilizar, servicio_utilizar = v_servicio_utilizar
WHERE usuario = v_usuario;
			SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Usuario Actualizado Correctamente'
        );
-- -----------------------------------------------------------------------------------------
ELSE
				SET salida = JSON_OBJECT(
            'codigo', '1',
            'mensaje', 'No se Logro actualizar el usuario'
        );
END IF;
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.buscar_usuario
DELIMITER //
CREATE PROCEDURE `buscar_usuario`(
	IN `v_usuario` VARCHAR(50)
)
BEGIN
SELECT u.usuario,u.cedula,u.nombres,u.apellidos,u.nivel,u.modulo_utilizar,u.estado,u.servicio_utilizar
FROM usuarios u
WHERE (u.usuario LIKE CONCAT('%',v_usuario,'%') or
		u.cedula LIKE CONCAT('%',v_usuario,'%') or
		u.nombres LIKE CONCAT('%',v_usuario,'%'));
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.datos_usuario
DELIMITER //
CREATE PROCEDURE `datos_usuario`(
	IN `v_usuario` VARCHAR(50)
)
BEGIN
SELECT u.usuario,u.cedula,u.nombres,u.apellidos,u.departamento,d.nombre_departamento,
m.nombre_municipio,u.municipio,se.nombre_servicio,u.servicio_utilizar,
mo.nombre,u.modulo_utilizar,s.nombre_sede,u.sede_usuario,u.servicio_2,u.cantidad_llamar_servicio1,u.cantidad_llamar_servicio2,si.nombre_servicio AS nombre_servicio2
FROM usuarios u
INNER JOIN departamentos d ON u.departamento=d.id_departamento
INNER JOIN municipios m ON u.municipio=m.id_municipio
INNER JOIN db_sedes s ON u.sede_usuario=s.id_sede
INNER JOIN db_servicios se ON u.servicio_utilizar=se.id
INNER JOIN db_servicios si ON u.servicio_2=si.id
INNER JOIN db_modulos mo ON u.modulo_utilizar=mo.codigo
WHERE u.usuario=v_usuario;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.descargar_datos_turnos
DELIMITER //
CREATE PROCEDURE `descargar_datos_turnos`(
	IN `v_fecha_inicial` VARCHAR(50),
	IN `v_fecha_final` VARCHAR(50)
)
BEGIN

SELECT s.nombre_servicio,t.estado_turno,t.turno,m.nombre AS modulo,upper(t.documento) AS cliente,t.usuario_atendio,t.tiempo_ingreso,t.tiempo_atender,t.tiempo_salida,
TIMEDIFF(t.tiempo_salida,t.tiempo_ingreso) AS diferenciahora
FROM db_turnos t
INNER JOIN db_servicios s ON t.tipo_tramite=s.id
-- INNER JOIN sub_servicios su ON t.subtramite=su.id
INNER JOIN db_modulos m ON t.modulo=m.id_modulo
where DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') BETWEEN v_fecha_inicial AND v_fecha_final;

END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.finalizar_turno_pantalla
DELIMITER //
CREATE PROCEDURE `finalizar_turno_pantalla`(
	IN `v_id_turno` VARCHAR(50)
)
BEGIN
DECLARE codigo JSON;
UPDATE  db_turnos  
SET llamado_turno = 2
WHERE id = v_id_turno;

SET codigo = JSON_OBJECT(
            'estado', '0',
            'mensaje', 'Llamado Finalizado'
        );
        
SELECT codigo;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.generar_turno
DELIMITER //
CREATE PROCEDURE `generar_turno`(
	IN `v_tipo_tramite` VARCHAR(50),
	IN `v_inicial_tipo_tramite` VARCHAR(50),
	IN `v_nombrecliente` VARCHAR(50)
)
BEGIN
DECLARE existe_turno VARCHAR(5);
DECLARE sumaruno VARCHAR(5);
DECLARE	vi_turno VARCHAR(5);
DECLARE	vi_agregarceros_turno VARCHAR(5);
SET existe_turno = (SELECT RIGHT(t.turno,3) as turno FROM db_turnos t
   WHERE t.tipo_tramite_inicial=v_tipo_tramite
	AND  DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') = CURDATE()
   ORDER BY t.turno DESC LIMIT 1);
IF existe_turno  <> 0 THEN
-- ---------------------------------------------------------------------------------------
SET sumaruno = existe_turno + 1;
-- -----------------------------------------------------------------------------------------
ELSE
 SET sumaruno = 1;
END IF;
SET vi_agregarceros_turno = LPAD(sumaruno, 3, '0');
SET vi_turno = CONCAT(v_inicial_tipo_tramite,'',vi_agregarceros_turno);
INSERT INTO db_turnos (tipo_tramite_inicial,tipo_tramite,estado_turno,llamado_turno,turno,documento,tiempo_ingreso) VALUES (v_tipo_tramite,v_tipo_tramite,'A',0,vi_turno,v_nombrecliente,NOW());
SELECT vi_turno;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.generar_turno_auto
DELIMITER //
CREATE PROCEDURE `generar_turno_auto`(
	IN `v_tipo_tramite` VARCHAR(50),
	IN `v_inicial_tipo_tramite` VARCHAR(50),
	IN `v_nombrecliente` VARCHAR(50)
)
BEGIN
DECLARE existe_turno VARCHAR(5);
DECLARE sumaruno VARCHAR(5);
DECLARE	vi_turno VARCHAR(5);
DECLARE	vi_agregarceros_turno VARCHAR(5);
DECLARE codigo JSON;
SET existe_turno = (SELECT RIGHT(t.turno,3) as turno FROM db_turnos t
   WHERE t.tipo_tramite_inicial=v_tipo_tramite
	AND  DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') = CURDATE()
   ORDER BY t.turno DESC LIMIT 1);
IF existe_turno  <> 0 THEN
-- ---------------------------------------------------------------------------------------
SET sumaruno = existe_turno + 1;
-- -----------------------------------------------------------------------------------------
ELSE
 SET sumaruno = 1;
END IF;
SET vi_agregarceros_turno = LPAD(sumaruno, 3, '0');
SET vi_turno = CONCAT(v_inicial_tipo_tramite,'',vi_agregarceros_turno);
INSERT INTO db_turnos (tipo_tramite_inicial,tipo_tramite,estado_turno,llamado_turno,turno,documento,tiempo_ingreso) VALUES (v_tipo_tramite,v_tipo_tramite,'A',0,vi_turno,upper(v_nombrecliente),NOW());
SET codigo = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Llamado Finalizado',
            'turno',vi_turno
        );
SELECT codigo;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.insertartokenlogin
DELIMITER //
CREATE PROCEDURE `insertartokenlogin`(
	IN `v_token` VARCHAR(300),
	IN `v_usuario` VARCHAR(50)
)
BEGIN
DECLARE existe_token INT;
DECLARE id INT;
SET existe_token = (SELECT count(*) FROM usuarios_token ut WHERE ut.usuario_id = v_usuario AND ut.estado ='A');
IF existe_token  = 0 THEN
-- ---------------------------------------------------------------------------------------
			INSERT INTO usuarios_token (usuario_id,token,estado,fecha) 
			VALUES (v_usuario,v_token,'A',NOW());
			SET id = 0;
-- -----------------------------------------------------------------------------------------
ELSE
UPDATE usuarios_token u SET u.estado = 'I' WHERE u.usuario_id = v_usuario AND u.estado = 'A';
INSERT INTO usuarios_token (usuario_id,token,estado,fecha) 
			VALUES (v_usuario,v_token,'A',NOW());
			SET id = 0;
END IF;
		SELECT id;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.insertar_modulo
DELIMITER //
CREATE PROCEDURE `insertar_modulo`(
	IN `v_nombre` VARCHAR(50),
	IN `v_codigo` VARCHAR(50)
)
BEGIN
DECLARE existe_servicio INT;
DECLARE salida JSON;
SET existe_servicio = (SELECT count(*) FROM db_modulos ut WHERE ut.codigo = v_codigo AND ut.estado ='A');
IF existe_servicio  = 0 THEN
-- ---------------------------------------------------------------------------------------
			INSERT INTO db_modulos (codigo,nombre,estado) 
			VALUES (v_codigo,UPPER(v_nombre),'A');
			SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'modulo Insertado Correctamente'
        );
-- -----------------------------------------------------------------------------------------
ELSE
			SET salida = JSON_OBJECT(
            'codigo', '1',
            'mensaje', 'No se logro Insertar el Modulo'
        );
END IF;
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.insertar_servicio
DELIMITER //
CREATE PROCEDURE `insertar_servicio`(
	IN `v_nombre` VARCHAR(50),
	IN `v_color` VARCHAR(50),
	IN `v_icono` VARCHAR(50),
	IN `v_inicial` VARCHAR(50)
)
BEGIN
DECLARE existe_servicio INT;
DECLARE salida JSON;
SET existe_servicio = (SELECT count(*) FROM db_servicios ut WHERE ut.nombre_servicio = v_nombre AND ut.estado ='A');
IF existe_servicio  = 0 THEN
-- ---------------------------------------------------------------------------------------
			INSERT INTO db_servicios (nombre_servicio,color,icono,inicial_servicio,estado) 
			VALUES (UPPER(v_nombre),LOWER(v_color),LOWER(v_icono),UPPER(v_inicial),'A');
				SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Servicio Insertado Correctamente'
        );
-- ---------
-- -----------------------------------------------------------------------------------------
ELSE
				SET salida = JSON_OBJECT(
            'codigo', '1',
            'mensaje', 'No se logro insertar el servicio'
        );
-- ---------
END IF;
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.insertar_sub_servicio
DELIMITER //
CREATE PROCEDURE `insertar_sub_servicio`(
	IN `v_idservicio` VARCHAR(50),
	IN `v_nombre_subservicio` VARCHAR(100)
)
BEGIN
DECLARE existe_servicio INT;
DECLARE salida JSON;
SET existe_servicio = (SELECT COUNT(*) FROM sub_servicios ut WHERE ut.nombre_sub = v_nombre_subservicio);
IF existe_servicio  = 0 THEN
-- ---------------------------------------------------------------------------------------
			INSERT INTO sub_servicios (id_servicio,nombre_sub,estado) 
			VALUES (v_idservicio,UPPER(v_nombre_subservicio),'A');
				SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Sub Servicio Insertado Correctamente'
        );
-- ---------
-- -----------------------------------------------------------------------------------------
ELSE
				SET salida = JSON_OBJECT(
            'codigo', '1',
            'mensaje', 'No se logro insertar el subservicio'
        );
-- ---------
END IF;
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.insertar_usuario
DELIMITER //
CREATE PROCEDURE `insertar_usuario`(
	IN `v_usuario` VARCHAR(50),
	IN `v_password` VARCHAR(250),
	IN `v_cedula` VARCHAR(50),
	IN `v_nombres` VARCHAR(50),
	IN `v_apellidos` VARCHAR(50),
	IN `v_nivel` VARCHAR(50),
	IN `v_modulo_utilizar` VARCHAR(50),
	IN `v_servicio_utilizar` VARCHAR(50)
)
BEGIN
DECLARE existe_usuario INT;
DECLARE salida JSON;
SET existe_usuario = (SELECT COUNT(*) FROM usuarios WHERE usuario = v_usuario);
IF existe_usuario  = 0 THEN
-- ---------------------------------------------------------------------------------------
INSERT INTO usuarios (usuario,password,cedula,nombres,apellidos,nivel,modulo_utilizar,servicio_utilizar) 
			VALUES (LOWER(v_usuario),v_password,v_cedula,UPPER(v_nombres),UPPER(v_apellidos),v_nivel,v_modulo_utilizar,v_servicio_utilizar);
				SET salida = JSON_OBJECT(
            'codigo', '0',
            'mensaje', 'Usuario Ingresado Correctamente'
        );
-- -----------------------------------------------------------------------------------------
ELSE
				SET salida = JSON_OBJECT(
            'codigo', '1',
            'mensaje', 'No se Logro insertar el usuario'
        );
END IF;
		SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.llamardenuevoturnotv
DELIMITER //
CREATE PROCEDURE `llamardenuevoturnotv`(
	IN `v_id_turno` VARCHAR(50)
)
BEGIN
DECLARE codigo JSON;
UPDATE  db_turnos  
SET llamado_turno = 1
WHERE id = v_id_turno;

SET codigo = JSON_OBJECT(
            'estado', '0',
            'mensaje', 'Se realiza llamado Nuevamente'
        );
        
SELECT codigo;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.llamar_turno
DELIMITER //
CREATE PROCEDURE `llamar_turno`(
	IN `v_tramite` VARCHAR(50),
	IN `v_moduloatender` VARCHAR(50),
	IN `v_usuario` VARCHAR(50),
	IN `v_accion` VARCHAR(50),
	IN `v_subservicioenviar` VARCHAR(50)
)
BEGIN
DECLARE vi_numerodeturno VARCHAR(5);
DECLARE vi_idturno INT;
DECLARE codigo INT;
DECLARE estado_llamado INT;
DECLARE sihayturno INT;
-- A activo
-- S siga
-- T terminado

IF v_accion='I' THEN
-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SET estado_llamado = (SELECT COUNT(*)
FROM db_turnos d
WHERE d.tipo_tramite = v_tramite  AND d.estado_turno = 'S' AND d.usuario_atendio=v_usuario and DATE_FORMAT(d.tiempo_ingreso, '%Y-%m-%d') = CURDATE() ORDER BY d.tiempo_ingreso ASC LIMIT 1);

IF	estado_llamado = 0 THEN
-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SET sihayturno = (SELECT COUNT(*)
FROM db_turnos d
WHERE d.tipo_tramite = v_tramite AND d.estado_turno = 'A' and DATE_FORMAT(d.tiempo_ingreso, '%Y-%m-%d') = CURDATE() ORDER BY d.tiempo_ingreso ASC);
-- =============================================================================================1
IF	sihayturno > 0 THEN
SELECT t.turno,t.id INTO vi_numerodeturno,vi_idturno
FROM db_turnos t
WHERE t.tipo_tramite = v_tramite AND t.estado_turno = 'A' and DATE_FORMAT(tiempo_ingreso, '%Y-%m-%d') = CURDATE() ORDER BY tiempo_ingreso ASC LIMIT 1;

UPDATE  db_turnos  
SET estado_turno = 'S',llamado_turno = 1, usuario_atendio = v_usuario, modulo = v_moduloatender, tiempo_atender = NOW() 
WHERE turno = vi_numerodeturno AND id=vi_idturno  and DATE_FORMAT(tiempo_ingreso, '%Y-%m-%d') = CURDATE();

SET codigo = 0;
SELECT t.id,t.turno,t.estado_turno,t.tiempo_ingreso,t.tiempo_atender,t.documento,codigo
FROM db_turnos t
WHERE t.tipo_tramite = v_tramite AND t.estado_turno = 'S' AND t.usuario_atendio=v_usuario AND id=vi_idturno and DATE_FORMAT(tiempo_ingreso, '%Y-%m-%d') = CURDATE() ORDER BY tiempo_ingreso ASC LIMIT 1;
-- =============================================================================================1
END IF;
IF sihayturno = 0 THEN
SET codigo = 2;
SELECT codigo;
END IF;
-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
END IF;
-- ======================================FIN ESTADO DE LLAMADO=======================================================1
IF	estado_llamado > 0 THEN
SET codigo = 0;
SELECT t.id,t.turno,t.estado_turno,t.tiempo_ingreso,t.tiempo_atender,t.documento,codigo
FROM db_turnos t
WHERE t.tipo_tramite = v_tramite AND t.estado_turno = 'S' AND t.usuario_atendio=v_usuario and DATE_FORMAT(tiempo_ingreso, '%Y-%m-%d') = CURDATE() ORDER BY tiempo_ingreso ASC LIMIT 1;
END IF;
-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
END IF;
IF v_accion='F' THEN
-- =========================================================================================1
SELECT t.turno,t.id INTO vi_numerodeturno,vi_idturno
FROM db_turnos t INNER JOIN db_servicios s ON t.tipo_tramite=s.id 
WHERE t.tipo_tramite = v_tramite  AND t.estado_turno = 'S' AND usuario_atendio = v_usuario AND  modulo = v_moduloatender
AND DATE_FORMAT(tiempo_ingreso, '%Y-%m-%d') = CURDATE()  LIMIT 1;

UPDATE  db_turnos  
SET estado_turno = 'T', llamado_turno = 2, tiempo_salida = NOW(), subtramite = v_subservicioenviar
WHERE turno = vi_numerodeturno and DATE_FORMAT(tiempo_ingreso, '%Y-%m-%d') = CURDATE() AND id=vi_idturno AND usuario_atendio = v_usuario AND  modulo = v_moduloatender;
-- =========================================================================================1
SET codigo = 1;
SELECT codigo;
END IF;

END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.llamar_turno_pantalla
DELIMITER //
CREATE PROCEDURE `llamar_turno_pantalla`()
BEGIN
SELECT t.turno,t.modulo,CASE WHEN t.estado_turno='A' THEN 'Espere'
	      					      WHEN t.estado_turno='S' THEN 'Siga'
	      					      WHEN t.estado_turno='T' THEN 'Atendido'
										ELSE 'Vacio' END AS estadoturno,t.llamado_turno,
										LOWER(t.documento) AS clienteminusculas,
										UPPER(t.documento) AS clientemayusculas,
										m.nombre AS nombremodulo
FROM db_turnos t 
INNER JOIN  db_modulos m ON t.modulo=m.id_modulo
WHERE  t.estado_turno='S' AND DATE_FORMAT(t.tiempo_atender, '%Y-%m-%d') = CURDATE() AND t.llamado_turno='1'  LIMIT 1;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.llamar_turno_prioridad
DELIMITER //
CREATE PROCEDURE `llamar_turno_prioridad`(
	IN `v_tramite` VARCHAR(50),
	IN `v_usuario` VARCHAR(50),
	IN `v_moduloatender` VARCHAR(50),
	IN `v_accion_id_turno` VARCHAR(50)
)
BEGIN
DECLARE codigo INT;
UPDATE  db_turnos  
SET estado_turno = 'S', llamado_turno = 1 ,usuario_atendio = v_usuario, modulo = v_moduloatender, tiempo_atender = NOW() 
WHERE id = v_accion_id_turno AND DATE_FORMAT(tiempo_ingreso, '%Y-%m-%d') = CURDATE();

SET codigo = 0;
SELECT t.id,t.turno,t.estado_turno,t.tiempo_ingreso,t.tiempo_atender,t.documento,codigo
FROM db_turnos t
WHERE t.tipo_tramite = v_tramite AND t.estado_turno = 'S' AND t.usuario_atendio=v_usuario AND id=v_accion_id_turno and DATE_FORMAT(tiempo_ingreso, '%Y-%m-%d') = CURDATE() ORDER BY tiempo_ingreso ASC LIMIT 1;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.loginacceso
DELIMITER //
CREATE PROCEDURE `loginacceso`(
	IN `v_usuario` VARCHAR(50),
	IN `v_servicio` VARCHAR(50),
	IN `v_modulo` VARCHAR(50)
)
BEGIN
DECLARE datosusuario JSON;
DECLARE salida JSON;

UPDATE  usuarios u SET u.servicio_utilizar = v_servicio, u.modulo_utilizar= v_modulo where u.usuario = v_usuario;

SELECT CONCAT('[',GROUP_CONCAT(JSON_OBJECT('nombreservicio',s.nombre_servicio,'usuario',u.usuario,'password',u.password,'cedula',u.cedula,'nombres',u.nombres,'apellidos',u.apellidos,'modulo_utilizar',u.modulo_utilizar,'nivel',u.nivel,'servicio',u.servicio_utilizar)),']')
INTO datosusuario
FROM usuarios u
INNER JOIN db_modulos mo ON u.modulo_utilizar=mo.id_modulo
INNER JOIN db_servicios s ON u.servicio_utilizar=s.id
WHERE u.usuario=v_usuario;
SET salida = JSON_OBJECT(
            'CODIGO', '0',
            'DATOS', datosusuario
        );

SELECT salida;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.nocepresento_cliente
DELIMITER //
CREATE PROCEDURE `nocepresento_cliente`(
	IN `v_id_turno` VARCHAR(50)
)
BEGIN
DECLARE codigo JSON;
UPDATE  db_turnos t  
SET t.llamado_turno = 2, t.estado_turno = 'N',t.tiempo_salida = NOW() 
WHERE t.id = v_id_turno;

SET codigo = JSON_OBJECT(
            'estado', '0',
            'mensaje', 'Se realiza cerro turno'
        );
        
SELECT codigo;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.validar_token
DELIMITER //
CREATE PROCEDURE `validar_token`(
	IN `v_token` VARCHAR(300),
	IN `v_usuario` VARCHAR(50)
)
BEGIN
DECLARE existe_token INT;
DECLARE codigo INT;
SET existe_token = (SELECT count(*) FROM usuarios_token ut WHERE ut.usuario_id = v_usuario AND ut.token = v_token AND ut.estado ='A');
IF existe_token  = 0 THEN
-- ---------------------------------------------------------------------------------------
SET codigo = 500;
-- -----------------------------------------------------------------------------------------
ELSE

			SET codigo = 200;
END IF;
		SELECT codigo;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_configuracion
DELIMITER //
CREATE PROCEDURE `ver_configuracion`()
BEGIN
SELECT * FROM configuracion c;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_conteo_total
DELIMITER //
CREATE PROCEDURE `ver_conteo_total`()
BEGIN
SELECT COUNT(*) AS total1, 
SUM(t.estado_turno='N')  AS total,
SUM(t.estado_turno='A')  AS en_sala,
SUM(t.estado_turno='S')  AS en_modulo,
SUM(t.estado_turno='T') AS finalizado
FROM db_turnos t 
WHERE DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d')  = CURDATE();
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_detalle_turnos
DELIMITER //
CREATE PROCEDURE `ver_detalle_turnos`(
	IN `v_servicio` VARCHAR(50)
)
BEGIN
SELECT t.id, s.nombre_servicio,CASE WHEN t.estado_turno='A' THEN 'Activo'
	      					      WHEN t.estado_turno='T' THEN 'Finalizado'
										ELSE 'En_Modulo' END AS estadoturno,
t.turno, t.documento AS cliente, 
t.tiempo_ingreso,t.tiempo_salida 
FROM db_turnos t
INNER JOIN db_servicios s ON t.tipo_tramite=s.id
WHERE t.estado_turno ='A' and t.tipo_tramite = v_servicio AND  DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') = CURDATE() ORDER BY t.tiempo_ingreso asc;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_graficos
DELIMITER //
CREATE PROCEDURE `ver_graficos`(
	IN `v_accion` VARCHAR(50),
	IN `v_fecha_inicial` VARCHAR(50),
	IN `v_fecha_final` VARCHAR(50),
	IN `v_departamento` VARCHAR(50),
	IN `v_municipio` VARCHAR(50)
)
BEGIN
IF v_accion  = 'D' THEN
SELECT d.nombre_departamento,m.nombre_municipio, COUNT(*) AS total_turnos,
		 SUM(t.estado_turno='A')  AS En_Sala,
		 SUM(t.estado_turno='S')  AS En_Modulo,
		 SUM(t.estado_turno='T')  AS Atendido
FROM db_turnos t
INNER JOIN departamentos d ON t.turno_departamento=d.id_departamento
INNER JOIN municipios m ON t.turno_municipio=m.id_municipio
WHERE DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') BETWEEN v_fecha_inicial AND v_fecha_final
GROUP BY t.turno_municipio;
END IF;
IF v_accion  = 'M' THEN
SELECT d.nombre_departamento,m.nombre_municipio,s.nombre_sede, COUNT(*) AS total_turnos,
		 SUM(t.estado_turno='A')  AS En_Sala,
		 SUM(t.estado_turno='S')  AS En_Modulo,
		 SUM(t.estado_turno='T')  AS Atendido
FROM db_turnos t
INNER JOIN departamentos d ON t.turno_departamento=d.id_departamento
INNER JOIN municipios m ON t.turno_municipio=m.id_municipio
INNER JOIN db_sedes s ON t.turno_sede=s.id_sede
WHERE DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') BETWEEN v_fecha_inicial AND v_fecha_final AND  t.turno_departamento = v_departamento and t.turno_municipio=v_municipio
GROUP BY t.turno_sede;
END IF;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_modulos
DELIMITER //
CREATE PROCEDURE `ver_modulos`()
BEGIN
SELECT m.id_modulo,m.id_modulo AS codigo,m.nombre,m.estado FROM db_modulos m;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_reporte_servicio
DELIMITER //
CREATE PROCEDURE `ver_reporte_servicio`(
	IN `v_fechainicio` VARCHAR(50),
	IN `v_fechafin` VARCHAR(50),
	IN `v_accion` VARCHAR(50)
)
BEGIN

IF v_accion = 'S' THEN
SELECT se.nombre_servicio, COUNT(t.turno) AS cantidad
FROM db_turnos t
INNER JOIN db_servicios se ON t.tipo_tramite=se.id
WHERE  DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') between v_fechainicio and v_fechafin
GROUP BY t.tipo_tramite;
END IF;
IF v_accion = 'A' THEN
SELECT 
    YEAR(t.tiempo_ingreso) AS anio,
    CASE
    WHEN MONTH(t.tiempo_ingreso) = 1 THEN 'Enero'
    WHEN MONTH(t.tiempo_ingreso) = 2 THEN 'Febrero'
    WHEN MONTH(t.tiempo_ingreso) = 3 THEN 'Marzo'
    WHEN MONTH(t.tiempo_ingreso) = 4 THEN 'Abril'
    WHEN MONTH(t.tiempo_ingreso) = 5 THEN 'Mayo'
    WHEN MONTH(t.tiempo_ingreso) = 6 THEN 'Junio'
    WHEN MONTH(t.tiempo_ingreso) = 7 THEN 'Julio'
    WHEN MONTH(t.tiempo_ingreso) = 8 THEN 'Agosto'
    WHEN MONTH(t.tiempo_ingreso) = 9 THEN 'Septiembre'
    WHEN MONTH(t.tiempo_ingreso) = 10 THEN 'Octubre'
    WHEN MONTH(t.tiempo_ingreso) = 11 THEN 'Noviembre'
    WHEN MONTH(t.tiempo_ingreso) = 12 THEN 'Diciembre'
    END AS mes,count(t.turno) AS cantidad
    FROM db_turnos t
   WHERE  DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') between v_fechainicio and v_fechafin
    GROUP BY anio,mes;
END IF;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_servicios
DELIMITER //
CREATE PROCEDURE `ver_servicios`()
BEGIN
-- SELECT s.id,s.nombre_servicio,s.color,s.icono,s.inicial_servicio,s.estado
-- FROM db_servicios s;
SELECT
    s.id,
    s.nombre_servicio,
    s.color,
    s.icono,
    s.inicial_servicio,
    s.estado,
    (
        SELECT
            JSON_ARRAYAGG(
                JSON_OBJECT(
                    'id', su.id,
                    'nombre_sub', su.nombre_sub,
                    'estado', su.estado
                )
            )
        FROM sub_servicios su
        WHERE su.id_servicio = s.id
    ) AS subservicios
FROM
    db_servicios s;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_servicios_sub
DELIMITER //
CREATE PROCEDURE `ver_servicios_sub`()
BEGIN
SELECT s.nombre_servicio, su.id,su.nombre_sub,su.estado
FROM sub_servicios  su
INNER JOIN db_servicios s ON su.id_servicio=s.id;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_servicios_todos
DELIMITER //
CREATE PROCEDURE `ver_servicios_todos`()
BEGIN
SELECT s.id,s.nombre_servicio,s.color,s.icono,s.inicial_servicio,s.estado
FROM db_servicios s;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_si_registraron_turno
DELIMITER //
CREATE PROCEDURE `ver_si_registraron_turno`(
	IN `v_idservicio` VARCHAR(50)
)
BEGIN
SELECT COUNT(*) as cantidad FROM db_turnos t WHERE t.tipo_tramite=v_idservicio AND DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d')  = CURDATE();
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_sub_servicios
DELIMITER //
CREATE PROCEDURE `ver_sub_servicios`(
	IN `v_idservicio` VARCHAR(50)
)
BEGIN
SELECT s.id,s.nombre_sub FROM sub_servicios s WHERE s.id_servicio = v_idservicio;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_total_turnos
DELIMITER //
CREATE PROCEDURE `ver_total_turnos`()
BEGIN
SELECT  COUNT(*) AS TURNOS, 
                    SUM(t.estado_turno='A')  AS ACTIVOS,
                    SUM(t.estado_turno='S')  AS ATENDIENDO,
                    SUM(t.estado_turno='T')  AS FINALIZADO
                    FROM db_turnos t WHERE  DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') = CURDATE();
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_turnos_pantalla
DELIMITER //
CREATE PROCEDURE `ver_turnos_pantalla`()
BEGIN
SELECT  t.id,t.llamado_turno,t.turno,t.modulo,CASE WHEN t.estado_turno='S' THEN 'Siga'
	      					      WHEN t.estado_turno='T' THEN 'Atendido'
										ELSE 'Vacio' END AS estadoturno,
										t.documento AS cliente,
										UPPER(t.documento) AS clientemayusculas,
										m.nombre AS nombremodulo
FROM db_turnos t
INNER JOIN  db_modulos m ON t.modulo=m.id_modulo
WHERE t.estado_turno IN ('S','T') and DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') = CURDATE() ORDER BY t.tiempo_atender desc  LIMIT 6;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_turnos_pantalla_atender
DELIMITER //
CREATE PROCEDURE `ver_turnos_pantalla_atender`()
BEGIN
SELECT  t.id,t.llamado_turno,t.turno,t.modulo,CASE WHEN t.estado_turno='A' THEN 'Espere'
	      					      WHEN t.estado_turno='S' THEN 'Siga'
	      					      WHEN t.estado_turno='T' THEN 'Atendido'
										ELSE 'Vacio' END AS estadoturno,
										t.documento AS cliente,
										UPPER(t.documento) AS clientemayusculas,
										s.nombre_servicio
FROM db_turnos t
INNER JOIN db_servicios s ON t.tipo_tramite=s.id
WHERE t.estado_turno ='A' and DATE_FORMAT(t.tiempo_ingreso, '%Y-%m-%d') = CURDATE() ORDER BY t.tiempo_ingreso asc  LIMIT 6;
END//
DELIMITER ;

-- Volcando estructura para procedimiento db_relojito.ver_usuarios
DELIMITER //
CREATE PROCEDURE `ver_usuarios`()
BEGIN
SELECT u.cedula,u.usuario FROM usuarios u WHERE u.estado='A';
END//
DELIMITER ;

