CREATE table estado_pago(
	id_estado_pago tinyint not null auto_increment,
	estado_pago varchar (20),
    UNIQUE KEY(estado_pago),
	primary key (id_estado_pago)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE pago_qr (
  nro_transaccion_qr bigint(20) NOT NULL AUTO_INCREMENT,
  nro_transaccion_teros varchar(30) NOT NULL,
  nro_transaccion_banco varchar(30) NOT NULL,
  cod_tit varchar(50) NOT NULL,
  nombre_cliente varchar(50) DEFAULT NULL,
  descripcion varchar(100) DEFAULT NULL,
  monto_total float NOT NULL,
  fecha datetime NOT NULL,
  id_estado_pago tinyint(4) NOT NULL,
  created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (nro_transaccion_qr),
  foreign key (id_estado_pago) references estado_pago (id_estado_pago)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

create table detalle_pago_qr(
    id_detalle_pago_qr int not null auto_increment,
    nro_transaccion_banco varchar(30) NOT NULL,
    descripcion varchar(200),
    origen_banco_id varchar(50),
    nombre_origen varchar(50),
    vale_referencia varchar(100),
    created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id_detalle_pago_qr)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


INSERT INTO `estado_pago` (`id_estado_pago`, `estado_pago`) VALUES (1, 'Pendiente');
INSERT INTO `estado_pago` (`id_estado_pago`, `estado_pago`) VALUES (2, 'Pagado');
INSERT INTO `estado_pago` (`id_estado_pago`, `estado_pago`) VALUES (3, 'Caducado');

INSERT INTO `encuesta` (`id_encuesta`, `nombre_encuesta`, `created_at`, `updated_at`) VALUES(2, 'Encuesta de satisfacción', '2021-07-20 19:55:39', '2021-07-20 19:55:39');

INSERT INTO pregunta (pregunta,id_tipo_pregunta,id_modelo,estado) VALUES ('¿Cuál fue su nivel de satisfacción con su experiencia de pago el día de hoy?',3,1,1);
INSERT INTO pregunta (pregunta,id_tipo_pregunta,id_modelo,estado) VALUES ('¿Qué tan fácil le resulto nuestro método de pago por QR? Siendo 0 muy difícil y 5 muy fácil',3,1,1);
INSERT INTO pregunta (pregunta,id_tipo_pregunta,id_modelo,estado) VALUES ('¿Podría darnos algún comentario o sugerencia respecto a su experiencia de pago?',4,1,1);

INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (25,'1',1);
INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (25,'2',2);
INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (25,'3',3);
INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (25,'4',4);
INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (25,'5',5);

INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (26,'1',1);
INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (26,'2',2);
INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (26,'3',3);
INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (26,'4',4);
INSERT INTO tipo_respuesta_pregunta (id_pregunta,respuesta,orden) VALUES (26,'5',5);

INSERT INTO encuesta_pregunta (id_encuesta,id_pregunta) VALUES (2,25);
INSERT INTO encuesta_pregunta (id_encuesta,id_pregunta) VALUES (2,26);
INSERT INTO encuesta_pregunta (id_encuesta,id_pregunta) VALUES (2,27);


CREATE TABLE departamento (
  id_departamento int(11) NOT NULL AUTO_INCREMENT,
  nombre_departamento varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  abrev_departamento varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  estado tinyint(4) DEFAULT '1',
  secuencia tinyint(4) DEFAULT '0',
  PRIMARY KEY (id_departamento)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(1, 'Santa Cruz', 'SC', 1, 1);
INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(2, 'Cochabamba', 'CB', 1, 2);
INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(3, 'La Paz', 'LP', 1, 3);
INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(4, 'Oruro', 'OR', 1, 4);
INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(5, 'Potosi', 'PT', 1, 5);
INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(6, 'Pando', 'PD', 1, 7);
INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(7, 'Chuquisaca', 'CH', 1, 8);
INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(8, 'Tarija', 'TJ', 1, 10);
INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(9, 'Beni', 'BE', 1, 6);
INSERT INTO departamento (id_departamento, nombre_departamento, abrev_departamento, estado, secuencia) VALUES(10, 'Pando', 'PD', 1, 9);


CREATE TABLE ciudad (
  id_ciudad int(11) NOT NULL AUTO_INCREMENT,
  nombre_ciudad varchar(50) NOT NULL,
  secuencia int(11) NOT NULL,
  id_departamento int(11) DEFAULT '1',
  PRIMARY KEY (id_ciudad),
  foreign key (id_departamento) references departamento(id_departamento)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4;

create table sucursal(
  id_sucursal int not null auto_increment,
  nombre_sucursal varchar(50) not null,
  capacidad_agendado int not null,
  id_ciudad tinyint not null,
  created_at datetime not null DEFAULT now(),
  updated_at datetime not null DEFAULT now(),
  primary key(id_sucursal),
  foreign key (id_ciudad) references ciudad(id_ciudad)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

create table agente (
    id_agente int not null auto_increment,
    nombre_agente varchar(50) not null,
    apellido_agente varchar (50) not null,
    estado tinyint not null,
    id_sucursal int not null,
    created_at datetime not null,
    updated_at datetime not null,
    primary key (id_agente),
    foreign key (id_sucursal) references sucursal(id_sucursal)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


create table servicio (
    id_servicio int not null,
    servicio varchar (100) not null,
    descripcion varchar (200),
    estado tinyint not null,
    created_at datetime not null,
    updated_at datetime not null,
    primary key (id_servicio)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

create table horario(
  id_horario int not null auto_increment,
  dia varchar (10) not null,
  hora time not null,
  formato_hora varchar (30) not null,
  orden_dia tinyint not null,
  created_at datetime not null DEFAULT now(),
  updated_at datetime not null DEFAULT now(),
  primary key(id_horario)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

create table horario_taller(
  id_horario int not null,
  id_taller tinyint not null,
  estado tinyint,
  created_at datetime not null,
  updated_at datetime not null,
  primary key (id_horario,id_taller),
  foreign key (id_horario) references horario(id_horario),
  foreign key (id_taller) references taller(id_taller)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


create table cita(
  id_cita int not null auto_increment,
  placa varchar(10) not null,
  id_servicio int not null,
  id_horario int not null,
  id_sucursal int not null,
  id_ciudad tinyint not null,
  estado tinyint,
  sincronizado tinyint,
  eliminado tinyint,
  reprogramado tinyint,
  created_at datetime not null,
  updated_at datetime not null,
  primary key(id_cita),
  foreign key (id_servicio) references servicio(id_servicio),
  foreign key (id_horario) references horario(id_horario),
  foreign key (id_sucursal) references sucursal(id_sucursal),
  foreign key (id_ciudad) references ciudad(id_ciudad)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


ALTER TABLE cita ADD confirmacion_cita TINYINT NULL;
ALTER TABLE cita CHANGE confirmacion_cita confirmacion_cita TINYINT NULL AFTER estado;
ALTER TABLE cita ADD confirmar_asistencia TINYINT NULL;
ALTER TABLE cita CHANGE confirmar_asistencia confirmar_asistencia TINYINT NULL AFTER confirmacion_cita;


ALTER TABLE cita ADD nro_transaccion VARCHAR(20) NULL;
ALTER TABLE cita CHANGE nro_transaccion nro_transaccion VARCHAR(20) NULL AFTER nro_preorden;

ALTER TABLE cita CHANGE anulado eliminado tinyint(4) NULL;

/*----------Importe alteración para permitir agendar citas */
ALTER TABLE cita ADD unique key (placa, id_horario, id_sucursal, fecha_cita,  eliminado, created_at);


INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(115, 'Lunes', '13:00:00', 'PM', 1, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');
INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(116, 'Lunes', '15:00:00', 'PM', 1, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');
INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(117, 'Martes', '13:00:00', 'PM', 2, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');
INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(118, 'Martes', '15:00:00', 'PM', 2, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');
INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(119, 'Miercoles', '13:00:00', 'PM', 3, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');
INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(120, 'Miercoles', '15:00:00', 'PM', 3, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');
INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(121, 'Jueves', '13:00:00', 'PM', 4, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');
INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(122, 'Jueves', '15:00:00', 'PM', 4, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');
INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(123, 'Viernes', '13:00:00', 'PM', 5, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');
INSERT INTO horario (id_horario, dia, hora, formato_hora, orden_dia, created_at, updated_at) VALUES(124, 'Viernes', '15:00:00', 'PM', 5, '2022-01-07 03:20:22.0', '2022-01-07 03:20:22.0');

INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (3,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (11,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (22,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (30,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (41,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (49,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (60,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (68,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (79,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (87,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (115,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (116,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (117,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (118,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (119,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (120,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (121,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (122,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (123,14,1);
INSERT INTO horario_sucursal (id_horario,id_sucursal,estado) VALUES (124,14,1);

INSERT INTO agente (id_agente, nombre_agente, apellido_agente, estado, id_sucursal, created_at, updated_at) VALUES(22, 'Agente Movil 1', 'Santa Cruz', 1, 14, '2022-04-12 07:38:34.0', '2022-04-12 07:38:34.0');
INSERT INTO agente (id_agente, nombre_agente, apellido_agente, estado, id_sucursal, created_at, updated_at) VALUES(23, 'Agente Movil 2', 'Santa Cruz', 1, 14, '2022-04-12 07:38:34.0', '2022-04-12 07:38:34.0');

--Desactivar agenetes para citas de plataforma

UPDATE `agente` SET `estado` = '1' WHERE `agente`.`id_agente` = 1;
UPDATE `agente` SET `estado` = '1' WHERE `agente`.`id_agente` = 2;
UPDATE `agente` SET `estado` = '1' WHERE `agente`.`id_agente` = 3;
UPDATE `agente` SET `estado` = '1' WHERE `agente`.`id_agente` = 4;
UPDATE `agente` SET `estado` = '1' WHERE `agente`.`id_agente` = 6;
UPDATE `agente` SET `estado` = '1' WHERE `agente`.`id_agente` = 7;
UPDATE `agente` SET `estado` = '1' WHERE `agente`.`id_agente` = 8;
UPDATE `agente` SET `estado` = '1' WHERE `agente`.`id_agente` = 19;
UPDATE `agente` SET `estado` = '1' WHERE `agente`.`id_agente` = 22;

CREATE TABLE `notificacion` (
  `id_notificacion` int(11) NOT NULL AUTO_INCREMENT,
  `titulo` varchar(50) NOT NULL,
  `contenido` varchar(500) DEFAULT NULL,
  `accion` varchar(200) DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id_notificacion`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;


CREATE TABLE `detalle_notificacion` (
  `id_detalle_notificacion` bigint(20) NOT NULL AUTO_INCREMENT,
  `id_multidifusion` varchar(50) NOT NULL,
  `id_notificacion` int(11) NOT NULL,
  `id_usuario` bigint(20) NOT NULL,
  `token_destino` varchar(180) NOT NULL,
  `estado` varchar(10) DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id_detalle_notificacion`),
  KEY `id_notificacion` (`id_notificacion`),
  KEY `id_usuario` (`id_usuario`),
  CONSTRAINT `detalle_notificacion_ibfk_1` FOREIGN KEY (`id_notificacion`) REFERENCES `notificacion` (`id_notificacion`),
  CONSTRAINT `detalle_notificacion_ibfk_2` FOREIGN KEY (`id_usuario`) REFERENCES `adm_usuario` (`id_usuario`)
) ENGINE=InnoDB AUTO_INCREMENT=158 DEFAULT CHARSET=utf8mb4;
