-- Table structure for table `compras_administrativos_detalle`
--

CREATE TABLE `compras_administrativos_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compras_administrativos_id` int(11) NOT NULL,
  `remisiones_id` int(11) DEFAULT NULL,
  `remisiones_permisionarios_id` int(11) DEFAULT NULL,
  `remisiones_permisionarios_anticipos_detalle_id` int(11) DEFAULT NULL,
  `remisiones_permisionarios_combustibles_detalle_perm_id` int(11) DEFAULT NULL,
  `remisiones_conceptos_cobro_gastos_id` int(11) DEFAULT NULL,
  `remisiones_permisionarios_conceptos_cobro_gastos_id` int(11) DEFAULT NULL,
  `remisiones_combustibles_detalle_id` int(11) DEFAULT NULL,
  `remisiones_permisionarios_combustibles_detalle_id` int(11) DEFAULT NULL,
  `ordenes_mantenimientos_id` int(11) DEFAULT NULL,
  `servicios_id` int(11) DEFAULT NULL,
  `descripcion` varchar(100) DEFAULT NULL,
  `almacenes_id` int(11) DEFAULT NULL,
  `productos_id` int(11) DEFAULT NULL,
  `cantidad` decimal(11,2) DEFAULT NULL,
  `precio_unitario` decimal(11,2) DEFAULT NULL,
  `descuento` decimal(11,2) DEFAULT NULL,
  `conceptos_cobro_egresos_id` int(11) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  `importe` decimal(11,2) NOT NULL,
  `descripcion_folio` varchar(250) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `servicios_id` (`servicios_id`),
  KEY `compras_administrativos_id` (`compras_administrativos_id`),
  KEY `remisiones_id` (`remisiones_id`),
  KEY `remisiones_permisionarios_id` (`remisiones_permisionarios_id`),
  KEY `remisiones_conceptos_cobro_gastos_id` (`remisiones_conceptos_cobro_gastos_id`),
  KEY `remisiones_permisionarios_conceptos_cobro_gastos_id` (`remisiones_permisionarios_conceptos_cobro_gastos_id`),
  KEY `remisiones_combustibles_detalle_id` (`remisiones_combustibles_detalle_id`),
  KEY `remisiones_permisionarios_combustibles_detalle_id` (`remisiones_permisionarios_combustibles_detalle_id`),
  KEY `productos_id` (`productos_id`),
  KEY `ordenes_mantenimientos_id` (`ordenes_mantenimientos_id`),
  KEY `almacenes_id` (`almacenes_id`),
  KEY `remisiones_permisionarios_combustible_detalle_perm_id` (`remisiones_permisionarios_combustibles_detalle_perm_id`),
  KEY `remisiones_permisionarios_anticipos_detalle_id` (`remisiones_permisionarios_anticipos_detalle_id`) USING BTREE,
  KEY `conceptos_cobro_egresos_id` (`conceptos_cobro_egresos_id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_1` FOREIGN KEY (`compras_administrativos_id`) REFERENCES `compras_administrativos` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_10` FOREIGN KEY (`servicios_id`) REFERENCES `servicios` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_11` FOREIGN KEY (`almacenes_id`) REFERENCES `almacenes` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_12` FOREIGN KEY (`productos_id`) REFERENCES `productos` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_13` FOREIGN KEY (`conceptos_cobro_egresos_id`) REFERENCES `conceptos_cobro_egresos` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_2` FOREIGN KEY (`remisiones_id`) REFERENCES `remisiones` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_3` FOREIGN KEY (`remisiones_permisionarios_id`) REFERENCES `remisiones_permisionarios` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_4` FOREIGN KEY (`remisiones_permisionarios_anticipos_detalle_id`) REFERENCES `remisiones_permisionarios_anticipos_detalle` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_5` FOREIGN KEY (`remisiones_permisionarios_combustibles_detalle_perm_id`) REFERENCES `remisiones_permisionarios_combustibles_detalle` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_6` FOREIGN KEY (`remisiones_conceptos_cobro_gastos_id`) REFERENCES `remisiones_conceptos_cobro_gastos` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_7` FOREIGN KEY (`remisiones_combustibles_detalle_id`) REFERENCES `remisiones_combustibles_detalle` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_8` FOREIGN KEY (`remisiones_permisionarios_combustibles_detalle_id`) REFERENCES `remisiones_permisionarios_combustibles_detalle` (`id`),
  CONSTRAINT `compras_administrativos_detalle_ibfk_9` FOREIGN KEY (`ordenes_mantenimientos_id`) REFERENCES `ordenes_mantenimientos` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_administrativos_detalle`
--


--
-- Table structure for table `compras_combustibles`
--

CREATE TABLE `compras_combustibles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compra_combustible` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT NULL,
  `moneda` varchar(20) NOT NULL,
  `tipo_cambio` decimal(11,2) NOT NULL,
  `estatus` varchar(20) NOT NULL,
  `compras_tipo_id` int(11) NOT NULL,
  `pagos_combustibles_id` int(11) DEFAULT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `gasolineras_id` int(11) NOT NULL,
  `proveedores_factura` varchar(20) DEFAULT NULL,
  `saldo` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  `porc_iva` int(11) DEFAULT NULL,
  `porc_retencion` int(11) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `compras_tipo_id` (`compras_tipo_id`),
  KEY `pagos_combustibles_id` (`pagos_combustibles_id`),
  KEY `gasolineras_id` (`gasolineras_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  CONSTRAINT `compras_combustibles_ibfk_1` FOREIGN KEY (`compras_tipo_id`) REFERENCES `compras_tipo` (`id`),
  CONSTRAINT `compras_combustibles_ibfk_2` FOREIGN KEY (`pagos_combustibles_id`) REFERENCES `pagos_combustibles` (`id`),
  CONSTRAINT `compras_combustibles_ibfk_3` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `compras_combustibles_ibfk_4` FOREIGN KEY (`gasolineras_id`) REFERENCES `gasolineras` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_combustibles`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_combustibles_before_insert` BEFORE INSERT ON `compras_combustibles`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT nextval('compras') INTO vFolio;
      
      SELECT getserie('compras') INTO vSerie;

      SET NEW.compra_combustible = CONCAT(vSerie,vFolio);

      SET NEW.fecha_hora = SYSDATE();

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_combustibles_before_update` BEFORE UPDATE ON `compras_combustibles`
 FOR EACH ROW BEGIN

	DECLARE dias INT(11);

	IF (NEW.estatus LIKE 'Comprada' AND OLD.estatus <> 'Comprada') THEN 
    	SET NEW.saldo = NEW.total; 
        SELECT COALESCE(s.dias_credito,0) FROM gasolineras s WHERE s.id=NEW.gasolineras_id INTO dias;
		SET NEW.fecha_vencimiento = DATE_ADD(CURDATE(), INTERVAL dias DAY);
    END IF;

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_combustibles_after_update` AFTER UPDATE ON `compras_combustibles`
 FOR EACH ROW BEGIN 

	IF (NEW.estatus LIKE 'Comprada') THEN 
    	UPDATE combustibles l INNER JOIN compras_combustibles_detalle d ON 
        l.id = d.combustibles_id SET l.compras_combustibles_id = NEW.id, 
               l.pagos_combustibles_id = NEW.pagos_combustibles_id 
  		WHERE d.compras_combustibles_id = NEW.id; 
    END IF; 
    
END */;;
DELIMITER ;

--
-- Table structure for table `compras_combustibles_detalle`
--

CREATE TABLE `compras_combustibles_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compras_combustibles_id` int(11) NOT NULL,
  `combustibles_id` int(11) NOT NULL,
  `litros` decimal(11,2) NOT NULL,
  `importe` decimal(11,2) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `combustibles_id` (`combustibles_id`),
  KEY `compras_combustibles_id` (`compras_combustibles_id`),
  CONSTRAINT `compras_combustibles_detalle_ibfk_1` FOREIGN KEY (`compras_combustibles_id`) REFERENCES `compras_combustibles` (`id`),
  CONSTRAINT `compras_combustibles_detalle_ibfk_2` FOREIGN KEY (`combustibles_id`) REFERENCES `combustibles` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_combustibles_detalle`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_combustibles_detalle_after_insert` AFTER INSERT ON `compras_combustibles_detalle`
 FOR EACH ROW BEGIN UPDATE combustibles SET combustibles.compras_combustibles_id=NEW.compras_combustibles_id WHERE combustibles.id=NEW.combustibles_id; END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_combustibles_detalle_after_delete` AFTER DELETE ON `compras_combustibles_detalle`
 FOR EACH ROW BEGIN UPDATE combustibles SET combustibles.compras_combustibles_id=NULL WHERE combustibles.id=OLD.combustibles_id; END */;;
DELIMITER ;

--
-- Table structure for table `compras_detalle`
--

CREATE TABLE `compras_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compras_id` int(11) NOT NULL,
  `productos_id` int(11) NOT NULL,
  `cantidad` decimal(11,2) NOT NULL,
  `precio_unitario` decimal(11,2) NOT NULL,
  `cantidad_descuento` decimal(11,2) DEFAULT '0.00',
  `importe` decimal(11,2) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `productos_id` (`productos_id`),
  KEY `compras_id` (`compras_id`),
  CONSTRAINT `compras_detalle_ibfk_1` FOREIGN KEY (`compras_id`) REFERENCES `compras` (`id`),
  CONSTRAINT `compras_detalle_ibfk_2` FOREIGN KEY (`productos_id`) REFERENCES `productos` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_detalle`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_detalle_before_insert` BEFORE INSERT ON `compras_detalle`
 FOR EACH ROW SET 
NEW.importe=(NEW.cantidad * NEW.precio_unitario) - COALESCE(NEW.cantidad_descuento,0) */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_detalle_before_update` BEFORE UPDATE ON `compras_detalle`
 FOR EACH ROW SET 
NEW.importe=(NEW.cantidad * NEW.precio_unitario) - COALESCE(NEW.cantidad_descuento,0) */;;
DELIMITER ;

--
-- Table structure for table `compras_maniobras_extras_permisionarios`
--

CREATE TABLE `compras_maniobras_extras_permisionarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compra_maniobra_extra_permisionario` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT NULL,
  `moneda` varchar(20) NOT NULL,
  `tipo_cambio` decimal(11,2) NOT NULL,
  `estatus` varchar(20) NOT NULL,
  `compras_tipo_id` int(11) NOT NULL,
  `pagos_maniobras_extras_permisionarios_id` int(11) DEFAULT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `permisionarios_id` int(11) NOT NULL,
  `proveedores_factura` varchar(20) DEFAULT NULL,
  `porc_iva` int(11) DEFAULT NULL,
  `porc_retencion` int(11) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL COMMENT 'Total Factura',
  `saldo` decimal(11,2) DEFAULT NULL COMMENT 'Total a Pagar',
  PRIMARY KEY (`id`),
  KEY `compras_tipo_id` (`compras_tipo_id`),
  KEY `pagos_maniobras_extras_permisionarios_id` (`pagos_maniobras_extras_permisionarios_id`),
  KEY `permisionarios_id` (`permisionarios_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  CONSTRAINT `compras_maniobras_extras_permisionarios_ibfk_1` FOREIGN KEY (`compras_tipo_id`) REFERENCES `compras_tipo` (`id`),
  CONSTRAINT `compras_maniobras_extras_permisionarios_ibfk_2` FOREIGN KEY (`pagos_maniobras_extras_permisionarios_id`) REFERENCES `pagos_maniobras_extras_permisionarios` (`id`),
  CONSTRAINT `compras_maniobras_extras_permisionarios_ibfk_3` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `compras_maniobras_extras_permisionarios_ibfk_4` FOREIGN KEY (`permisionarios_id`) REFERENCES `permisionarios` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_maniobras_extras_permisionarios`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_maniobras_extras_permisionarios_before_insert` BEFORE INSERT ON `compras_maniobras_extras_permisionarios`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT nextval('compras') INTO vFolio;
      
      SELECT getserie('compras') INTO vSerie;

      SET NEW.compra_maniobra_extra_permisionario = CONCAT(vSerie,vFolio);

      SET NEW.fecha_hora = SYSDATE();

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_maniobras_extras_permisionarios_after_update` AFTER UPDATE ON `compras_maniobras_extras_permisionarios`
 FOR EACH ROW BEGIN 

	IF (NEW.estatus LIKE 'Comprada') THEN 
    	UPDATE maniobras_extras_permisionarios l INNER JOIN 

compras_maniobras_extras_permisionarios_detalle d ON 
        l.id = d.maniobras_extras_permisionarios_id SET 

l.compras_maniobras_extras_permisionarios_id = NEW.id, 
               l.pagos_maniobras_extras_permisionarios_id = 

NEW.pagos_maniobras_extras_permisionarios_id,
	       l.estatus = 'Pagada' 
  		WHERE d.compras_maniobras_extras_permisionarios_id = NEW.id; 
    END IF; 
    
END */;;
DELIMITER ;

--
-- Table structure for table `compras_maniobras_extras_permisionarios_detalle`
--

CREATE TABLE `compras_maniobras_extras_permisionarios_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compras_maniobras_extras_permisionarios_id` int(11) NOT NULL,
  `maniobras_extras_permisionarios_id` int(11) NOT NULL,
  `descripcion` varchar(100) NOT NULL,
  `importe` decimal(11,2) NOT NULL,
  `importe_anticipos` decimal(11,2) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `maniobras_extras_permisionarios_id` (`maniobras_extras_permisionarios_id`),
  KEY `compras_maniobras_extras_permisionarios_id` (`compras_maniobras_extras_permisionarios_id`),
  CONSTRAINT `compras_maniobras_extras_permisionarios_detalle_ibfk_1` FOREIGN KEY (`compras_maniobras_extras_permisionarios_id`) REFERENCES `compras_maniobras_extras_permisionarios` (`id`),
  CONSTRAINT `compras_maniobras_extras_permisionarios_detalle_ibfk_2` FOREIGN KEY (`maniobras_extras_permisionarios_id`) REFERENCES `maniobras_extras_permisionarios` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_maniobras_extras_permisionarios_detalle`
--


--
-- Table structure for table `compras_operadores`
--

CREATE TABLE `compras_operadores` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compra_operador` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT NULL,
  `moneda` varchar(20) NOT NULL,
  `tipo_cambio` decimal(11,2) NOT NULL,
  `estatus` varchar(20) NOT NULL,
  `compras_tipo_id` int(11) NOT NULL,
  `pagos_operadores_id` int(11) DEFAULT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `fecha_inicio` date NOT NULL,
  `fecha_fin` date NOT NULL,
  `operadores_id` int(11) NOT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  `porc_iva` int(11) DEFAULT NULL,
  `porc_retencion` int(11) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `saldo` decimal(11,2) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `compras_tipo_id` (`compras_tipo_id`),
  KEY `pagos_operadores_id` (`pagos_operadores_id`),
  KEY `operadores_id` (`operadores_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  CONSTRAINT `compras_operadores_ibfk_1` FOREIGN KEY (`compras_tipo_id`) REFERENCES `compras_tipo` (`id`),
  CONSTRAINT `compras_operadores_ibfk_2` FOREIGN KEY (`pagos_operadores_id`) REFERENCES `pagos_operadores` (`id`),
  CONSTRAINT `compras_operadores_ibfk_3` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `compras_operadores_ibfk_4` FOREIGN KEY (`operadores_id`) REFERENCES `operadores` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_operadores`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_operadores_before_insert` BEFORE INSERT ON `compras_operadores`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT nextval('compras') INTO vFolio;
      
      SELECT getserie('compras') INTO vSerie;

      SET NEW.compra_operador = CONCAT(vSerie,vFolio);

      SET NEW.fecha_hora = SYSDATE();

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_operadores_after_update` AFTER UPDATE ON `compras_operadores`
 FOR EACH ROW BEGIN 

	IF (NEW.estatus LIKE 'Comprada') THEN 
    	UPDATE liquidaciones l INNER JOIN compras_operadores_detalle d ON 
        l.id = d.liquidaciones_id SET l.compras_operadores_id = NEW.id, 
               l.pagos_operadores_id = NEW.pagos_operadores_id,
	       l.estatus = 'Pagada' 
  		WHERE d.compras_operadores_id = NEW.id; 
    END IF; 
    
END */;;
DELIMITER ;

--
-- Table structure for table `compras_operadores_detalle`
--

CREATE TABLE `compras_operadores_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compras_operadores_id` int(11) NOT NULL,
  `liquidaciones_id` int(11) NOT NULL,
  `descripcion` varchar(100) NOT NULL,
  `importe` decimal(11,2) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `liquidaciones_id` (`liquidaciones_id`),
  KEY `compras_operadores_id` (`compras_operadores_id`),
  CONSTRAINT `compras_operadores_detalle_ibfk_1` FOREIGN KEY (`compras_operadores_id`) REFERENCES `compras_operadores` (`id`),
  CONSTRAINT `compras_operadores_detalle_ibfk_2` FOREIGN KEY (`liquidaciones_id`) REFERENCES `liquidaciones` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_operadores_detalle`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_operadores_detalle_after_insert` AFTER INSERT ON `compras_operadores_detalle`
 FOR EACH ROW BEGIN UPDATE liquidaciones SET liquidaciones.compras_operadores_id = NEW.compras_operadores_id WHERE liquidaciones.id=NEW.liquidaciones_id; END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_operadores_detalle_after_delete` AFTER DELETE ON `compras_operadores_detalle`
 FOR EACH ROW BEGIN UPDATE liquidaciones SET liquidaciones.compras_operadores_id=NULL WHERE liquidaciones.id=OLD.liquidaciones_id; END */;;
DELIMITER ;

--
-- Table structure for table `compras_ordenes_mantenimientos`
--

CREATE TABLE `compras_ordenes_mantenimientos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compra_orden_mantenimiento` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT NULL,
  `moneda` varchar(20) NOT NULL,
  `tipo_cambio` decimal(11,2) NOT NULL,
  `estatus` varchar(20) NOT NULL,
  `compras_tipo_id` int(11) NOT NULL,
  `pagos_ordenes_mantenimientos_id` int(11) DEFAULT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `proveedores_id` int(11) NOT NULL,
  `proveedores_factura` varchar(20) DEFAULT NULL,
  `saldo` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  `porc_iva` int(11) DEFAULT NULL,
  `porc_retencion` int(11) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `compras_tipo_id` (`compras_tipo_id`),
  KEY `pagos_ordenes_mantenimientos_id` (`pagos_ordenes_mantenimientos_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  KEY `proveedores_id` (`proveedores_id`) USING BTREE,
  CONSTRAINT `compras_ordenes_mantenimientos_ibfk_1` FOREIGN KEY (`compras_tipo_id`) REFERENCES `compras_tipo` (`id`),
  CONSTRAINT `compras_ordenes_mantenimientos_ibfk_2` FOREIGN KEY (`pagos_ordenes_mantenimientos_id`) REFERENCES `pagos_ordenes_mantenimientos` (`id`),
  CONSTRAINT `compras_ordenes_mantenimientos_ibfk_3` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `compras_ordenes_mantenimientos_ibfk_4` FOREIGN KEY (`proveedores_id`) REFERENCES `proveedores` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_ordenes_mantenimientos`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_ordenes_mantenimientos_before_insert` BEFORE INSERT ON `compras_ordenes_mantenimientos`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT nextval('compras') INTO vFolio;
      
      SELECT getserie('compras') INTO vSerie;

      SET NEW.compra_orden_mantenimiento = CONCAT(vSerie,vFolio);

      SET NEW.fecha_hora = SYSDATE();

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_ordenes_mantenimientos_before_update` BEFORE UPDATE ON `compras_ordenes_mantenimientos`
 FOR EACH ROW BEGIN

	DECLARE dias INT(11);

	IF (NEW.estatus LIKE 'Comprada' AND OLD.estatus <> 'Comprada') THEN 
    	SET NEW.saldo = NEW.total; 
        SELECT COALESCE(s.dias_credito,0) FROM proveedores s WHERE s.id=NEW.proveedores_id INTO dias;
		SET NEW.fecha_vencimiento = DATE_ADD(CURDATE(), INTERVAL dias DAY);
    END IF;
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_ordenes_mantenimientos_after_update` AFTER UPDATE ON `compras_ordenes_mantenimientos`
 FOR EACH ROW BEGIN 

	IF (NEW.estatus LIKE 'Comprada') THEN 
    	UPDATE ordenes_mantenimientos l INNER JOIN 

compras_ordenes_mantenimientos_detalle d ON 
        l.id = d.ordenes_mantenimientos_id SET l.compras_ordenes_mantenimientos_id = 

NEW.id, 
               l.pagos_ordenes_mantenimientos_id = NEW.pagos_ordenes_mantenimientos_id,
	       l.total = d.importe 
  		WHERE d.compras_ordenes_mantenimientos_id = NEW.id; 
    END IF; 
    
END */;;
DELIMITER ;

--
-- Table structure for table `compras_ordenes_mantenimientos_detalle`
--

CREATE TABLE `compras_ordenes_mantenimientos_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compras_ordenes_mantenimientos_id` int(11) NOT NULL,
  `ordenes_mantenimientos_id` int(11) NOT NULL,
  `descripcion` varchar(100) NOT NULL,
  `importe` decimal(11,2) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `ordenes_mantenimientos_id` (`ordenes_mantenimientos_id`),
  KEY `compras_ordenes_mantenimientos_id` (`compras_ordenes_mantenimientos_id`),
  CONSTRAINT `compras_ordenes_mantenimientos_detalle_ibfk_1` FOREIGN KEY (`compras_ordenes_mantenimientos_id`) REFERENCES `compras_ordenes_mantenimientos` (`id`),
  CONSTRAINT `compras_ordenes_mantenimientos_detalle_ibfk_2` FOREIGN KEY (`ordenes_mantenimientos_id`) REFERENCES `ordenes_mantenimientos` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_ordenes_mantenimientos_detalle`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_ordenes_mantenimiendos_detalle_after_insert` AFTER INSERT ON `compras_ordenes_mantenimientos_detalle`
 FOR EACH ROW BEGIN UPDATE ordenes_mantenimientos SET ordenes_mantenimientos.compras_ordenes_mantenimientos_id=NEW.compras_ordenes_mantenimientos_id WHERE ordenes_mantenimientos.id=NEW.ordenes_mantenimientos_id; END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_ordenes_mantenimientos_detalle_after_delete` AFTER DELETE ON `compras_ordenes_mantenimientos_detalle`
 FOR EACH ROW BEGIN UPDATE ordenes_mantenimientos SET ordenes_mantenimientos.compras_ordenes_mantenimientos_id=NULL WHERE ordenes_mantenimientos.id=OLD.ordenes_mantenimientos_id; END */;;
DELIMITER ;

--
-- Table structure for table `compras_permisionarios`
--

CREATE TABLE `compras_permisionarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compra_permisionario` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT NULL,
  `moneda` varchar(20) NOT NULL,
  `tipo_cambio` decimal(11,2) NOT NULL,
  `estatus` varchar(20) NOT NULL,
  `compras_tipo_id` int(11) NOT NULL,
  `pagos_permisionarios_id` int(11) DEFAULT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `permisionarios_id` int(11) NOT NULL,
  `proveedores_factura` varchar(20) DEFAULT NULL,
  `porc_iva` int(11) DEFAULT NULL,
  `porc_retencion` int(11) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `saldo` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `compras_tipo_id` (`compras_tipo_id`),
  KEY `pagos_permisionarios_id` (`pagos_permisionarios_id`),
  KEY `permisionarios_id` (`permisionarios_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  CONSTRAINT `compras_permisionarios_ibfk_1` FOREIGN KEY (`compras_tipo_id`) REFERENCES `compras_tipo` (`id`),
  CONSTRAINT `compras_permisionarios_ibfk_2` FOREIGN KEY (`pagos_permisionarios_id`) REFERENCES `pagos_permisionarios` (`id`),
  CONSTRAINT `compras_permisionarios_ibfk_3` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `compras_permisionarios_ibfk_4` FOREIGN KEY (`permisionarios_id`) REFERENCES `permisionarios` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_permisionarios`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_permisionarios_before_insert` BEFORE INSERT ON `compras_permisionarios`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT nextval('compras') INTO vFolio;
      
      SELECT getserie('compras') INTO vSerie;

      SET NEW.compra_permisionario = CONCAT(vSerie,vFolio);

      SET NEW.fecha_hora = SYSDATE();

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_permisionarios_before_update` BEFORE UPDATE ON `compras_permisionarios`
 FOR EACH ROW BEGIN

	DECLARE dias INT(11);
    
    IF (NEW.estatus = 'Comprada' AND OLD.estatus <> 'Comprada') THEN
    	SELECT COALESCE(s.dias_credito,0) FROM permisionarios s WHERE s.id=NEW.permisionarios_id INTO dias;
		SET NEW.fecha_vencimiento = DATE_ADD(CURDATE(), INTERVAL dias DAY);
    
    END IF;

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_permisionarios_after_update` AFTER UPDATE ON `compras_permisionarios`
 FOR EACH ROW BEGIN 

	IF (NEW.estatus LIKE 'Comprada') THEN 
    	UPDATE liquidaciones_permisionarios l INNER JOIN compras_permisionarios_detalle d ON 
        l.id = d.liquidaciones_permisionarios_id SET l.compras_permisionarios_id = NEW.id, 
               l.pagos_permisionarios_id = NEW.pagos_permisionarios_id,
	       l.estatus = 'Pagada' 
  		WHERE d.compras_permisionarios_id = NEW.id; 
    END IF; 
    
END */;;
DELIMITER ;

--
-- Table structure for table `compras_permisionarios_detalle`
--

CREATE TABLE `compras_permisionarios_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compras_permisionarios_id` int(11) NOT NULL,
  `liquidaciones_permisionarios_id` int(11) NOT NULL,
  `descripcion` varchar(100) NOT NULL,
  `importe` decimal(11,2) NOT NULL,
  `importe_anticipos` decimal(11,2) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `liquidaciones_permisionarios_id` (`liquidaciones_permisionarios_id`),
  KEY `compras_permisionarios_id` (`compras_permisionarios_id`),
  CONSTRAINT `compras_permisionarios_detalle_ibfk_1` FOREIGN KEY (`compras_permisionarios_id`) REFERENCES `compras_permisionarios` (`id`),
  CONSTRAINT `compras_permisionarios_detalle_ibfk_2` FOREIGN KEY (`liquidaciones_permisionarios_id`) REFERENCES `liquidaciones_permisionarios` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_permisionarios_detalle`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_permisionarios_detalle_after_insert` AFTER INSERT ON `compras_permisionarios_detalle`
 FOR EACH ROW BEGIN UPDATE liquidaciones_permisionarios SET liquidaciones_permisionarios.compras_permisionarios_id=NEW.compras_permisionarios_id WHERE liquidaciones_permisionarios.id=NEW.liquidaciones_permisionarios_id; END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_permisionarios_detalle_after_delete` AFTER DELETE ON `compras_permisionarios_detalle`
 FOR EACH ROW BEGIN UPDATE liquidaciones_permisionarios SET liquidaciones_permisionarios.compras_permisionarios_id=NULL WHERE liquidaciones_permisionarios.id=OLD.liquidaciones_permisionarios_id; END */;;
DELIMITER ;

--
-- Table structure for table `compras_tipo`
--

CREATE TABLE `compras_tipo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tipo` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `compras_tipo`
--


--
-- Table structure for table `compras_viajes`
--

CREATE TABLE `compras_viajes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `compra_viaje` varchar(20) DEFAULT NULL COMMENT 'Unidades Reportadas',
  `permisionarios_id` int(11) NOT NULL,
  `fecha_hora` timestamp NULL DEFAULT NULL,
  `rutas_id` int(11) NOT NULL,
  `unidades_clase` varchar(30) NOT NULL,
  `costo_compra` decimal(11,2) NOT NULL,
  `comision_comprador` decimal(11,2) DEFAULT NULL,
  `estatus` varchar(20) NOT NULL,
  `user_id` int(11) DEFAULT NULL,
  `liquidaciones_permisionarios_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `permisionarios_id` (`permisionarios_id`),
  KEY `rutas_id` (`rutas_id`),
  KEY `user_id` (`user_id`),
  KEY `liquidaciones_permisionarios_id` (`liquidaciones_permisionarios_id`),
  CONSTRAINT `compras_viajes_ibfk_1` FOREIGN KEY (`permisionarios_id`) REFERENCES `permisionarios` (`id`),
  CONSTRAINT `compras_viajes_ibfk_2` FOREIGN KEY (`rutas_id`) REFERENCES `rutas` (`id`),
  CONSTRAINT `compras_viajes_ibfk_3` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),
  CONSTRAINT `compras_viajes_ibfk_4` FOREIGN KEY (`liquidaciones_permisionarios_id`) REFERENCES `liquidaciones_permisionarios` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `compras_viajes`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `compras_viajes_before_insert` BEFORE INSERT ON `compras_viajes`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT nextval('compras_viajes') INTO vFolio;

      SELECT getserie('compras_viajes') INTO vSerie;

      SET NEW.compra_viaje = CONCAT(vSerie, vFolio);

      SET NEW.fecha_hora = SYSDATE();

END */;;
DELIMITER ;

--
-- Table structure for table `conceptos`
--

CREATE TABLE `conceptos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `concepto` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `servicio` (`concepto`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `conceptos`
--


--
-- Table structure for table `conceptos_cobro`
--

CREATE TABLE `conceptos_cobro` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `concepto_cobro` varchar(100) DEFAULT NULL,
  `clave_prodserv_id` int(11) NOT NULL,
  `clave_unidad_id` int(11) NOT NULL,
  `porc_iva` int(11) NOT NULL,
  `porc_retencion` decimal(11,2) NOT NULL,
  `grupo` varchar(30) NOT NULL,
  `cuenta_contable` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `clave_prodserv_id` (`clave_prodserv_id`),
  KEY `clave_unidad_id` (`clave_unidad_id`),
  CONSTRAINT `conceptos_cobro_ibfk_1` FOREIGN KEY (`clave_prodserv_id`) REFERENCES `clave_prodserv` (`id`),
  CONSTRAINT `conceptos_cobro_ibfk_2` FOREIGN KEY (`clave_unidad_id`) REFERENCES `clave_unidad` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `conceptos_cobro`
--

INSERT INTO `conceptos_cobro` VALUES (1,'Flete Full',6,3,16,4.00,'Flete','4105-100-001'),(2,'Recoleccion',1,1,16,4.00,'Recoleccion',''),(3,'Reparto',1,1,16,4.00,'Reparto',''),(4,'Cruces',1,1,16,0.00,'Cruces',''),(5,'Seguros',6,1,16,0.00,'Seguro',''),(6,'Autopistas',1,1,16,0.00,'Autopistas',''),(7,'Demoras',1,1,16,0.00,'Demoras',''),(8,'Maniobra',1,1,16,0.00,'Maniobras',''),(9,'Flete Sencillo',1,1,16,4.00,'Flete',''),(10,'Estadias',2,1,16,0.00,'Otros',''),(20,'Seguros de carga',6,1,16,0.00,'Seguro',''),(21,'Fletes sin impuestos',13,1,0,0.00,'Flete',''),(22,'Fletes sin retencion',16,15,16,0.00,'Flete',''),(23,'Venta de Camion',16,1,16,0.00,'Otros',''),(24,'ESTADIAS',17,1,16,0.00,'Demoras','');

--
-- Table structure for table `conceptos_cobro_activos`
--

CREATE TABLE `conceptos_cobro_activos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `concepto_cobro_activo` varchar(100) DEFAULT NULL,
  `clave_prodserv_id` int(11) NOT NULL,
  `clave_unidad_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `clave_prodserv_id` (`clave_prodserv_id`),
  KEY `clave_unidad_id` (`clave_unidad_id`),
  CONSTRAINT `conceptos_cobro_activos_ibfk_1` FOREIGN KEY (`clave_prodserv_id`) REFERENCES `clave_prodserv` (`id`),
  CONSTRAINT `conceptos_cobro_activos_ibfk_2` FOREIGN KEY (`clave_unidad_id`) REFERENCES `clave_unidad` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `conceptos_cobro_activos`
--


--
-- Table structure for table `conceptos_cobro_egresos`
--

CREATE TABLE `conceptos_cobro_egresos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `concepto_cobro_egreso` varchar(100) DEFAULT NULL,
  `porc_iva` int(11) NOT NULL,
  `porc_iva_retenido` decimal(11,4) DEFAULT '0.0000',
  `porc_retencion` int(11) NOT NULL,
  `porc_retencion_isr` decimal(11,4) DEFAULT '0.0000' COMMENT 'Porc Retencion ISR',
  `grupo` varchar(30) NOT NULL,
  `cuenta_contable` varchar(20) DEFAULT NULL,
  `producto_codigo_interno` varchar(20) DEFAULT NULL,
  `productos_familias_id` int(11) DEFAULT NULL,
  `existencia_producto` decimal(11,2) DEFAULT NULL,
  `costo` decimal(11,2) DEFAULT '0.00',
  `minimo` decimal(11,2) DEFAULT NULL,
  `maximo` decimal(11,2) DEFAULT NULL,
  `almacenes_id` int(11) DEFAULT NULL,
  `ubicacion` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `productos_familias_id` (`productos_familias_id`),
  KEY `almacenes_id` (`almacenes_id`),
  CONSTRAINT `conceptos_cobro_egresos_ibfk_1` FOREIGN KEY (`productos_familias_id`) REFERENCES `productos_familias` (`id`),
  CONSTRAINT `conceptos_cobro_egresos_ibfk_2` FOREIGN KEY (`almacenes_id`) REFERENCES `almacenes` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=207 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `conceptos_cobro_egresos`
--

INSERT INTO `conceptos_cobro_egresos` VALUES (2,'Pago Operador',16,0.0000,0,0.0000,'Operativos','',NULL,NULL,0.00,0.00,NULL,NULL,NULL,NULL),(3,'Diesel Autoconsumo',16,0.0000,0,0.0000,'ComAutoConsumo','','001ATC',NULL,0.00,20.00,0.00,0.00,3,''),(4,'Urea Autoconsumo',16,0.0000,0,0.0000,'ComAutoConsumo\n','','002ATC',NULL,0.00,0.00,NULL,NULL,3,''),(5,'Diesel',16,0.0000,0,0.0000,'Combustibles','','',NULL,0.00,0.00,NULL,NULL,NULL,''),(6,'Flete Sencillo',16,0.0000,4,0.0000,'Flete','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(7,'Burreo',16,0.0000,0,0.0000,'Maniobras','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(9,'Cruce Fronterizo',16,0.0000,0,0.0000,'Cruces','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(10,'Autopistas',16,0.0000,0,0.0000,'Autopistas','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(33,'PAGO GPS',0,0.0000,0,0.0000,'Administrativos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(34,'PAGO SEGURO',0,0.0000,0,0.0000,'Administrativos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(35,'PAGO RENTA PATIO',16,0.0000,0,0.0000,'Administrativos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(36,'PAGO RENTA OFICINA',0,0.0000,0,0.0000,'Administrativos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(37,'Garra',16,0.0000,0,0.0000,'Maniobras','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(38,'Otros',0,0.0000,0,0.0000,'Otros','','',NULL,NULL,0.00,NULL,NULL,NULL,''),(196,'Viaticos',0,0.0000,0,0.0000,'Viaticos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(197,'Federales',0,0.0000,0,0.0000,'Viaticos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(198,'Maniobra',0,0.0000,0,0.0000,'Maniobras','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(199,'Pase',0,0.0000,0,0.0000,'Casetas Electronicas','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(200,'Descuento por vidrio estrellado',0,0.0000,0,0.0000,'Viaticos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(201,'rayon',0,0.0000,0,0.0000,'Viaticos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(202,'REPARACION GENERAL',16,0.0000,4,0.0000,'Mantenimientos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(203,'REPARACION GENERAL',16,0.0000,4,0.0000,'Mantenimientos','','',NULL,NULL,NULL,NULL,NULL,NULL,''),(204,'BUJIAS',16,0.0000,4,0.0000,'Refacciones','','1',1,26.00,25.00,NULL,NULL,4,''),(205,'Filtro de aire ',16,0.0000,0,0.0000,'Refacciones','','123',1,12.00,350.00,1.00,10.00,4,''),(206,'Filtro de aire ',16,0.0000,0,0.0000,'Refacciones Externas','','',NULL,NULL,NULL,NULL,NULL,NULL,'');
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `conceptos_cobro_egresos_before_insert` BEFORE INSERT ON `conceptos_cobro_egresos`
 FOR EACH ROW BEGIN
	IF NEW.porc_iva_retenido IS NULL OR NEW.porc_iva_retenido = "" THEN
    	SET NEW.porc_iva_retenido = 0.00;
    END IF;
    IF NEW.porc_retencion_isr IS NULL OR NEW.porc_retencion_isr = "" THEN
    	SET NEW.porc_retencion_isr = 0.00;
    END IF;
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `conceptos_cobro_egresos_after_update` AFTER UPDATE ON `conceptos_cobro_egresos`
 FOR EACH ROW UPDATE proveedores_convenios_conceptos SET grupo=NEW.grupo WHERE conceptos_cobro_egresos_id=NEW.id */;;
DELIMITER ;

--
-- Table structure for table `conceptos_cobro_liquidaciones`
--

CREATE TABLE `conceptos_cobro_liquidaciones` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `concepto_cobro_liquidacion` varchar(100) DEFAULT NULL,
  `porc_iva` int(11) NOT NULL,
  `porc_retencion` int(11) NOT NULL,
  `grupo` varchar(30) NOT NULL,
  `cuenta_contable` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `conceptos_cobro_liquidaciones`
--

INSERT INTO `conceptos_cobro_liquidaciones` VALUES (1,'Casetas en Efectivo',0,0,'Gastos en Carretera',''),(2,'Combustible en Carretera',0,0,'Combustibles',''),(3,'Cruce',0,0,'Gastos en Carretera',''),(4,'Maniobra',0,0,'Gastos en Carretera',''),(5,'Burreo',0,0,'Gastos en Carretera',''),(6,'Comidas',0,0,'Gastos en Carretera',''),(7,'Taxi',0,0,'Gastos en Carretera',''),(8,'Hotel',0,0,'Gastos en Carretera',''),(9,'Federal',0,0,'Gastos en Carretera',''),(10,'Guia',0,0,'Gastos en Carretera',''),(11,'Talacha',0,0,'Gastos en Carretera',''),(12,'Oxxo',16,0,'Gastos en Carretera',''),(13,'Otros',0,0,'Gastos en Carretera',NULL),(36,'MACHETERO',0,0,'Gastos en Carretera','');

--
-- Table structure for table `conceptos_comprobacion`
--

CREATE TABLE `conceptos_comprobacion` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `concepto_comprobacion` varchar(100) DEFAULT NULL,
  `grupo` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `conceptos_comprobacion`
--


--
-- Table structure for table `config`
--

CREATE TABLE `config` (
  `llave` varchar(100) NOT NULL,
  `valor` varchar(100) NOT NULL,
  UNIQUE KEY `llave` (`llave`),
  KEY `llave_2` (`llave`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `config`
--

INSERT INTO `config` VALUES ('secuencia_abonos','seq_abonos'),('secuencia_anticipos_permisionarios','seq_anticipos_permisionarios'),('secuencia_combustibles','seq_combustibles'),('secuencia_compras','seq_compras'),('secuencia_compras_viajes','seq_compras_viajes'),('secuencia_egresos','seq_egresos'),('secuencia_facturas','seq_facturas'),('secuencia_guias','seq_guias'),('secuencia_liquidaciones','seq_liquidaciones'),('secuencia_liquidaciones_permisionarios','seq_liquidaciones_permisionarios'),('secuencia_maniobras_extras_permisionarios','seq_maniobras_extras_permisionarios'),('secuencia_notas_credito','seq_notas_credito'),('secuencia_ordenes_mantenimientos','seq_ordenes_mantenimientos'),('secuencia_pagos_proveedores','seq_pagos_proveedores'),('secuencia_planeaciones_mantenimientos','seq_planeaciones_mantenimientos'),('secuencia_prestamos_operadores','seq_prestamos_operadores'),('secuencia_remisiones','seq_remisiones'),('secuencia_remisiones_permisionarios','seq_remisiones_permisionarios'),('secuencia_solicitudes_servicio','seq_solicitudes_servicio'),('secuencia_vales_entradas','seq_vales_entrada'),('secuencia_vales_salidas','seq_vales_salida'),('secuencia_ventas_viajes','seq_ventas_viajes'),('secuencia_viajes_informes','seq_viajes_informes'),('secuencia_viajes_repartos','seq_viajes_repartos'),('serie_abonos','ABE'),('serie_abonos_activos','ABA'),('serie_abonos_guias','ABG'),('serie_abonos_guias_nf','AGN'),('serie_abonos_nf','ABN'),('serie_anticipos_permisionarios','APL'),('serie_bancos_devolucion','DB'),('serie_bancos_transferencia','TB'),('serie_bonos','BO'),('serie_cajas_chicas','CC'),('serie_cajas_chicas_comprobacion','CCC'),('serie_cajas_chicas_reembolso','CCR'),('serie_combustibles','VC'),('serie_combustibles_paqueteria','VCP'),('serie_combustibles_permisionarios','VCL'),('serie_combustibles_reparto','VCR'),('serie_combustibles_unidades_utilitarias','VCU'),('serie_compras','EC'),('serie_compras_administrativos','CA'),('serie_compras_combustibles','CTC'),('serie_compras_combustibles_paqueteria','CPC'),('serie_compras_combustibles_reparto','CRC'),('serie_compras_maniobras_cruces_permisionarios','CLC'),('serie_compras_maniobras_extras_permisionarios','CLM'),('serie_compras_operadores','CTO'),('serie_compras_operadores_paqueteria','CPO'),('serie_compras_permisionarios','CLP'),('serie_compras_refacciones','CR'),('serie_compras_repartidores_paqueteria','CPR'),('serie_compras_viajes','UR'),('serie_cotizaciones','COT'),('serie_egresos','EO'),('serie_egresos_paqueteria','EOP'),('serie_egresos_reparto','ER'),('serie_facturas','FAE'),('serie_facturasnf','NF'),('serie_facturas_activos','FA'),('serie_facturas_guias','FAG'),('serie_facturas_guias_nf','NFG'),('serie_guias','GUI'),('serie_liquidaciones','LQ'),('serie_liquidaciones_foraneas','LF'),('serie_liquidaciones_locales','LL'),('serie_liquidaciones_permisionarios','LQP'),('serie_maniobras_cruces_permisionarios','MCL'),('serie_maniobras_extras','ME'),('serie_maniobras_extras_permisionarios','MEL'),('serie_notas_credito','NCE'),('serie_notas_credito_guias','NEG'),('serie_ordenes_mantenimientos','OM'),('serie_pagos','PP'),('serie_pagos_administrativos','PA'),('serie_pagos_combustibles','PTC'),('serie_pagos_combustibles_paqueteria','PPC'),('serie_pagos_combustibles_reparto','PRC'),('serie_pagos_maniobras_cruces_permisionarios','PLC'),('serie_pagos_maniobras_extras_permisionarios','PLM'),('serie_pagos_operadores','PTO'),('serie_pagos_operadores_paqueteria','PPO'),('serie_pagos_permisionarios','PLP'),('serie_pagos_proveedores','PP'),('serie_pagos_refacciones','PR'),('serie_pagos_repartidores_paqueteria','PPR'),('serie_planeaciones_mantenimientos','PM'),('serie_prestamos_operadores','PO'),('serie_provision_pagos','PPC'),('serie_remisiones','CP'),('serie_remisiones_gastos','RG'),('serie_remisiones_permisionarios','CPL'),('serie_remisiones_permisionarios_gastos','RPG'),('serie_solicitudes_servicio','SS'),('serie_vales_entradas','VE'),('serie_vales_salidas','VS'),('serie_ventas_viajes','SU'),('serie_viajes_informes','VI'),('serie_viajes_repartos','VR');

--
-- Table structure for table `costo_combustibles`
--

CREATE TABLE `costo_combustibles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fecha` date NOT NULL,
  `precio_magna` decimal(11,2) NOT NULL,
  `precio_premium` decimal(11,2) NOT NULL,
  `precio_diesel` decimal(11,2) NOT NULL,
  `precio_gas` decimal(11,2) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `costo_combustibles`
--


--
-- Table structure for table `cotizaciones`
--

CREATE TABLE `cotizaciones` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cotizacion` varchar(20) DEFAULT NULL,
  `guias_id` int(11) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT NULL,
  `moneda` varchar(20) CHARACTER SET utf8 NOT NULL,
  `tipo_cambio` decimal(11,2) NOT NULL,
  `zonas_paqueteria_id` int(11) NOT NULL,
  `bodega_origen_id` int(11) NOT NULL,
  `bodega_destino_id` int(11) NOT NULL,
  `estatus` varchar(20) NOT NULL,
  `clientes_id` int(11) NOT NULL,
  `tipo_flete` varchar(20) NOT NULL,
  `se_recogera` varchar(30) DEFAULT NULL,
  `se_entregara` varchar(100) DEFAULT NULL,
  `poliza_seguro` varchar(30) DEFAULT NULL,
  `flete` decimal(11,2) DEFAULT NULL,
  `porc_iva` int(11) DEFAULT NULL,
  `valor_declarado` decimal(11,2) DEFAULT NULL,
  `recoleccion` decimal(11,2) DEFAULT NULL,
  `porc_retencion` int(11) DEFAULT NULL,
  `reparto` decimal(11,2) DEFAULT NULL,
  `total_peso` decimal(11,2) DEFAULT NULL,
  `seguro` decimal(11,2) DEFAULT NULL,
  `total_mt3` decimal(11,2) DEFAULT NULL,
  `campo_1` decimal(11,2) DEFAULT NULL COMMENT 'Autopistas',
  `subtotal` decimal(11,2) DEFAULT NULL,
  `campo_2` decimal(11,2) DEFAULT NULL COMMENT 'Demoras',
  `iva` decimal(11,2) DEFAULT NULL,
  `campo_3` decimal(11,2) DEFAULT NULL COMMENT 'Maniobras',
  `retencion` decimal(11,2) DEFAULT NULL,
  `otros` float DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  `serie` varchar(5) DEFAULT NULL,
  `folio` int(11) DEFAULT NULL,
  `usuarios_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `clientes_id` (`clientes_id`),
  KEY `zonas_paqueteria_id` (`zonas_paqueteria_id`),
  KEY `bodega_destino_id` (`bodega_destino_id`) USING BTREE,
  KEY `bodega_origen_id` (`bodega_origen_id`),
  KEY `usuarios_id` (`usuarios_id`),
  KEY `fecha_hora` (`fecha_hora`),
  KEY `estatus` (`estatus`),
  KEY `moneda` (`moneda`),
  KEY `cotizacion` (`cotizacion`) USING BTREE,
  KEY `guias_id` (`guias_id`),
  CONSTRAINT `cotizaciones_ibfk_1` FOREIGN KEY (`guias_id`) REFERENCES `guias` (`id`),
  CONSTRAINT `cotizaciones_ibfk_2` FOREIGN KEY (`zonas_paqueteria_id`) REFERENCES `zonas_paqueteria` (`id`),
  CONSTRAINT `cotizaciones_ibfk_3` FOREIGN KEY (`bodega_origen_id`) REFERENCES `bodegas` (`id`),
  CONSTRAINT `cotizaciones_ibfk_4` FOREIGN KEY (`bodega_destino_id`) REFERENCES `bodegas` (`id`),
  CONSTRAINT `cotizaciones_ibfk_5` FOREIGN KEY (`clientes_id`) REFERENCES `clientes` (`id`),
  CONSTRAINT `cotizaciones_ibfk_6` FOREIGN KEY (`usuarios_id`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `cotizaciones`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `cotizaciones_before_insert` BEFORE INSERT ON `cotizaciones`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT nextval('cotizaciones') INTO vFolio;

      SELECT getserie('cotizaciones') INTO vSerie;

      SET NEW.cotizacion=CONCAT(vSerie, vFolio);

      SET NEW.fecha_hora = SYSDATE();

	  SET NEW.serie=vSerie;
      SET NEW.folio=vFolio;
END */;;
DELIMITER ;

--
-- Table structure for table `cotizaciones_conceptos_cobro`
--

CREATE TABLE `cotizaciones_conceptos_cobro` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cotizaciones_rem_id` int(11) NOT NULL,
  `cantidad_concepto` decimal(11,2) NOT NULL,
  `conceptos_cobro_id` int(11) NOT NULL,
  `descripcion` varchar(200) DEFAULT NULL,
  `valor_unitario` decimal(11,2) NOT NULL,
  `porc_iva` int(11) DEFAULT NULL,
  `porc_retencion` int(11) DEFAULT NULL,
  `importe` decimal(11,2) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `remisiones_id` (`cotizaciones_rem_id`),
  KEY `conceptos_cobro_id` (`conceptos_cobro_id`) USING BTREE,
  CONSTRAINT `cotizaciones_conceptos_cobro_ibfk_1` FOREIGN KEY (`cotizaciones_rem_id`) REFERENCES `cotizaciones_rem` (`id`),
  CONSTRAINT `cotizaciones_conceptos_cobro_ibfk_2` FOREIGN KEY (`conceptos_cobro_id`) REFERENCES `conceptos_cobro` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `cotizaciones_conceptos_cobro`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `cotizacionesconceptoscobro_after_update` AFTER UPDATE ON `cotizaciones_conceptos_cobro`
 FOR EACH ROW BEGIN

   UPDATE cotizaciones_rem as b set b.subtotal=(select sum(a.subtotal) from cotizaciones_conceptos_cobro as a where a.cotizaciones_rem_id=NEW.cotizaciones_rem_id),b.iva=(select sum(a.iva) from cotizaciones_conceptos_cobro as a where a.cotizaciones_rem_id=NEW.cotizaciones_rem_id),b.retencion=(select sum(a.retencion) from cotizaciones_conceptos_cobro as a where a.cotizaciones_rem_id=NEW.cotizaciones_rem_id),b.total=(select sum(a.total) from cotizaciones_conceptos_cobro as a where a.cotizaciones_rem_id=NEW.cotizaciones_rem_id) where b.id=NEW.cotizaciones_rem_id;

END */;;
DELIMITER ;

--
-- Table structure for table `cotizaciones_detalle`
--

CREATE TABLE `cotizaciones_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cotizaciones_id` int(11) NOT NULL,
  `cantidad` decimal(11,2) DEFAULT NULL,
  `embalaje` varchar(50) DEFAULT NULL,
  `descripcion` varchar(100) DEFAULT NULL,
  `peso` decimal(11,2) DEFAULT NULL,
  `base` decimal(11,2) DEFAULT NULL,
  `altura` decimal(11,2) DEFAULT NULL,
  `profundidad` decimal(11,2) DEFAULT NULL,
  `mt3` decimal(11,2) DEFAULT NULL,
  `precio_flete` decimal(11,2) DEFAULT NULL,
  `precio_recoleccion` decimal(11,2) DEFAULT NULL,
  `precio_reparto` decimal(11,2) DEFAULT NULL,
  `precio_mt3` decimal(11,2) DEFAULT NULL,
  `precio_unitario` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `cotizaciones_id` (`cotizaciones_id`) USING BTREE,
  CONSTRAINT `cotizaciones_detalle_ibfk_1` FOREIGN KEY (`cotizaciones_id`) REFERENCES `cotizaciones` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `cotizaciones_detalle`
--


--
-- Table structure for table `cotizaciones_rem`
--

CREATE TABLE `cotizaciones_rem` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cotizacion` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `clase` varchar(30) NOT NULL,
  `remisiones_id` int(11) DEFAULT NULL,
  `remisiones_permisionarios_id` int(11) DEFAULT NULL,
  `sucursales_id` int(11) NOT NULL,
  `estatus` varchar(50) DEFAULT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `clientes_id` int(11) NOT NULL,
  `rutas_id` int(11) NOT NULL,
  `remitente_id` int(11) DEFAULT NULL,
  `remitente_razon_social` varchar(200) DEFAULT NULL COMMENT 'Remitente',
  `remitente_rfc` varchar(20) DEFAULT NULL COMMENT 'RFC',
  `remitente_domicilio` varchar(200) DEFAULT NULL COMMENT 'Domicilio',
  `remitente_ciudad` varchar(50) DEFAULT NULL COMMENT 'Ciudad',
  `remitente_estados_id` int(11) DEFAULT NULL COMMENT 'Estado',
  `remitente_telefono` varchar(20) DEFAULT NULL COMMENT 'Telefono',
  `remitente_recogera` varchar(100) DEFAULT NULL COMMENT 'Recogera',
  `remitente_fecha_carga` datetime DEFAULT NULL COMMENT 'Fecha Carga',
  `destinatario_id` int(11) DEFAULT NULL,
  `destinatario_razon_social` varchar(200) DEFAULT NULL COMMENT 'Destinatario',
  `destinatario_rfc` varchar(20) DEFAULT NULL COMMENT 'RFC',
  `destinatario_domicilio` varchar(200) DEFAULT NULL COMMENT 'Domicilio',
  `destinatario_ciudad` varchar(50) DEFAULT NULL COMMENT 'Ciudad',
  `destinatario_estados_id` int(11) DEFAULT NULL COMMENT 'Estado',
  `destinatario_telefono` varchar(20) DEFAULT NULL COMMENT 'Telefono',
  `destinatario_recogera` varchar(100) DEFAULT NULL COMMENT 'Recogera',
  `destinatario_fecha_entrega` datetime DEFAULT NULL COMMENT 'Fecha Entrega',
  `remitente_municipios_id` int(11) DEFAULT NULL,
  `destinatario_municipios_id` int(11) DEFAULT NULL,
  `clientes_ejecutivos_id` int(11) DEFAULT NULL,
  `comentarios` varchar(250) DEFAULT NULL,
  `user_id` int(11) DEFAULT NULL,
  `moneda` varchar(30) NOT NULL,
  `viaje` varchar(10) NOT NULL,
  `subtotal` decimal(11,2) DEFAULT '0.00',
  `iva` decimal(11,2) DEFAULT '0.00',
  `retencion` decimal(11,2) DEFAULT '0.00',
  `total` decimal(11,2) DEFAULT '0.00',
  `tipo_cambio` decimal(11,2) DEFAULT '1.00',
  `total_pesos` decimal(11,2) DEFAULT '0.00',
  `total_egreso_pesos` decimal(11,2) DEFAULT '0.00',
  `subtotal_pesos` decimal(11,2) DEFAULT '0.00',
  `subtotal_egreso_pesos` decimal(11,2) DEFAULT '0.00',
  `profit` decimal(11,2) DEFAULT '0.00',
  PRIMARY KEY (`id`),
  KEY `clientes_id` (`clientes_id`),
  KEY `user_id` (`user_id`),
  KEY `remitente_id` (`remitente_id`),
  KEY `destinatario_id` (`destinatario_id`),
  KEY `remitente_estados_id` (`remitente_estados_id`),
  KEY `destinatario_estados_id` (`destinatario_estados_id`),
  KEY `remisiones_id` (`remisiones_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  KEY `clientes_ejecutivos_id` (`clientes_ejecutivos_id`),
  KEY `rutas_id` (`rutas_id`),
  KEY `remisiones_permisionarios_id` (`remisiones_permisionarios_id`),
  KEY `sucursales_id` (`sucursales_id`),
  CONSTRAINT `cotizaciones_rem_ibfk_1` FOREIGN KEY (`remisiones_id`) REFERENCES `remisiones` (`id`),
  CONSTRAINT `cotizaciones_rem_ibfk_10` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),
  CONSTRAINT `cotizaciones_rem_ibfk_2` FOREIGN KEY (`remisiones_permisionarios_id`) REFERENCES `remisiones_permisionarios` (`id`),
  CONSTRAINT `cotizaciones_rem_ibfk_3` FOREIGN KEY (`sucursales_id`) REFERENCES `sucursales` (`id`),
  CONSTRAINT `cotizaciones_rem_ibfk_4` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `cotizaciones_rem_ibfk_5` FOREIGN KEY (`clientes_id`) REFERENCES `clientes` (`id`),
  CONSTRAINT `cotizaciones_rem_ibfk_6` FOREIGN KEY (`rutas_id`) REFERENCES `rutas` (`id`),
  CONSTRAINT `cotizaciones_rem_ibfk_7` FOREIGN KEY (`remitente_id`) REFERENCES `direcciones` (`id`),
  CONSTRAINT `cotizaciones_rem_ibfk_8` FOREIGN KEY (`destinatario_id`) REFERENCES `direcciones` (`id`),
  CONSTRAINT `cotizaciones_rem_ibfk_9` FOREIGN KEY (`clientes_ejecutivos_id`) REFERENCES `clientes_ejecutivos` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `cotizaciones_rem`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `cotizacionesrem_before_insert` BEFORE INSERT ON `cotizaciones_rem`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT gf_solicitudes_servicio(NEW.sucursales_id) INTO vFolio;

      SELECT gs_solicitudes_servicio(NEW.sucursales_id) INTO vSerie;

      SET NEW.cotizacion = CONCAT(vSerie, vFolio);

      SET NEW.fecha_hora = SYSDATE();
      
      IF NEW.tipo_cambio is null OR NEW.tipo_cambio=0 OR NEW.moneda='Pesos' THEN
    	SET NEW.tipo_cambio=1;
      END IF;

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `cotizacionesrem_after_insert` AFTER INSERT ON `cotizaciones_rem`
 FOR EACH ROW BEGIN

   DECLARE done INT DEFAULT 0;
   DECLARE conceptocobro INT(11);
   DECLARE conimporte DECIMAL(11,2);
   DECLARE piva INT(11);
   DECLARE pretencion INT(11);
   
   DECLARE conceptoscobro CURSOR FOR 
      select ccobro.conceptos_cobro_id,ccobro.importe,cobro.porc_iva,cobro.porc_retencion from clientes_convenios_conceptos as ccobro LEFT JOIN conceptos_cobro as cobro on cobro.id=ccobro.conceptos_cobro_id where ccobro.clientes_id=NEW.clientes_id and ccobro.rutas_id=NEW.rutas_id and ccobro.clase_unidades=NEW.clase and ccobro.viaje=NEW.viaje and ccobro.moneda=NEW.moneda;     
    
   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
   
   OPEN conceptoscobro; 
   loop_recorre: LOOP   
       FETCH conceptoscobro INTO conceptocobro,conimporte,piva,pretencion;
   		IF done=1 THEN 
   			LEAVE loop_recorre;
   		END IF;
       
       insert into cotizaciones_conceptos_cobro(cotizaciones_rem_id,cantidad_concepto,conceptos_cobro_id,valor_unitario,porc_iva,porc_retencion,importe,subtotal,iva,retencion,total) values (NEW.id,1,conceptocobro,conimporte,piva,pretencion,conimporte,conimporte,conimporte*(piva/100),conimporte*(pretencion/100),conimporte+(conimporte*(piva/100))-(conimporte*(pretencion/100)));       
   END LOOP;
   
   CLOSE conceptoscobro;

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `cotizacionesrem_before_update` BEFORE UPDATE ON `cotizaciones_rem`
 FOR EACH ROW BEGIN

	DECLARE numdetalle INT DEFAULT 0;
	DECLARE submoneda VARCHAR(30);
    DECLARE subproveedor INT(11);
    DECLARE subrutas INT(11);
    DECLARE subclase VARCHAR(30);
    DECLARE subviaje VARCHAR(10);
    DECLARE done INT DEFAULT 0;
    DECLARE conceptocobro INT(11);
    DECLARE conimporte DECIMAL(11,2);
    DECLARE piva INT(11);
    DECLARE pretencion INT(11);
    DECLARE conceptoscobro CURSOR FOR select ccobro.conceptos_cobro_egresos_id,ccobro.importe,cobro.porc_iva,cobro.porc_retencion from proveedores_convenios_conceptos as ccobro LEFT JOIN conceptos_cobro_egresos as cobro on cobro.id=ccobro.conceptos_cobro_egresos_id where ccobro.proveedores_id=subproveedor and ccobro.rutas_id=subrutas and ccobro.clase_unidades=subclase and ccobro.viaje=subviaje and ccobro.moneda=submoneda;
   	DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

	SET NEW.subtotal=(select sum(a.subtotal) from cotizaciones_conceptos_cobro as a where a.cotizaciones_rem_id=NEW.id);

	SET NEW.iva=(select sum(a.iva) from cotizaciones_conceptos_cobro as a where a.cotizaciones_rem_id=NEW.id);

	SET NEW.retencion=(select sum(a.retencion) from cotizaciones_conceptos_cobro as a where a.cotizaciones_rem_id=NEW.id);
    
    SET NEW.total=(select sum(a.total) from cotizaciones_conceptos_cobro as a where a.cotizaciones_rem_id=NEW.id);
    
    IF NEW.tipo_cambio is null OR NEW.tipo_cambio=0 OR NEW.moneda='Pesos' THEN
    	SET NEW.tipo_cambio=1;
    END IF;
    
    SET NEW.total_pesos=NEW.total*NEW.tipo_cambio;
    SET NEW.subtotal_pesos=NEW.subtotal*NEW.tipo_cambio;
    
   
    
    select count(a.id) into numdetalle from cotizaciones_rem_detalle as a where a.cotizaciones_rem_id=NEW.id and a.conceptos_cobro_egresos_id is null;

	IF numdetalle=1 THEN
    	select a.moneda,a.proveedores_id,a.rutas_id,a.clase,a.viaje into submoneda,subproveedor,subrutas,subclase,subviaje from cotizaciones_rem_detalle as a where a.cotizaciones_rem_id=NEW.id LIMIT 1;
        
        OPEN conceptoscobro; 
   loop_recorre: LOOP   
       FETCH conceptoscobro INTO conceptocobro,conimporte,piva,pretencion;
   		IF done=1 THEN 
   			LEAVE loop_recorre;
   		END IF;
       
       insert into cotizaciones_rem_detalle(cotizaciones_rem_id,moneda,proveedores_id,rutas_id,clase,viaje,cantidad_concepto,conceptos_cobro_egresos_id,valor_unitario,porc_iva,porc_retencion,importe,subtotal,iva,retencion,total) values (NEW.id,submoneda,subproveedor,subrutas,subclase,subviaje,1,conceptocobro,conimporte,piva,pretencion,conimporte,conimporte,conimporte*(piva/100),conimporte*(pretencion/100),conimporte+(conimporte*(piva/100))-(conimporte*(pretencion/100)));       
   END LOOP;
   
   CLOSE conceptoscobro;
   DELETE FROM cotizaciones_rem_detalle WHERE cotizaciones_rem_id=NEW.id and conceptos_cobro_egresos_id is null;
   
    END IF;
    
    SET NEW.total_egreso_pesos=(select if(sum(a.total) is null,0,sum(a.total)) from cotizaciones_rem_detalle as a where a.cotizaciones_rem_id=NEW.id);
    SET NEW.subtotal_egreso_pesos=(select if(sum(a.subtotal) is null,0,sum(a.subtotal)) from cotizaciones_rem_detalle as a where a.cotizaciones_rem_id=NEW.id);
    
    
    SET NEW.profit=NEW.subtotal_pesos-NEW.subtotal_egreso_pesos;

END */;;
DELIMITER ;

--
-- Table structure for table `cotizaciones_rem_detalle`
--

CREATE TABLE `cotizaciones_rem_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cotizaciones_rem_id` int(11) NOT NULL,
  `cantidad_concepto` decimal(11,2) DEFAULT NULL,
  `conceptos_cobro_egresos_id` int(11) DEFAULT NULL,
  `descripcion` varchar(200) DEFAULT NULL,
  `valor_unitario` decimal(11,2) DEFAULT NULL,
  `porc_iva` int(11) DEFAULT NULL,
  `porc_retencion` int(11) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  `moneda` varchar(30) NOT NULL,
  `proveedores_id` int(11) DEFAULT NULL,
  `proveedores_convenios_conceptos_id` int(11) DEFAULT NULL,
  `rutas_id` int(11) NOT NULL,
  `clase` varchar(30) NOT NULL,
  `viaje` varchar(10) NOT NULL,
  `importe` decimal(11,2) DEFAULT NULL,
  `tipo_cambio` decimal(11,2) DEFAULT '1.00',
  `total_pesos` decimal(11,2) DEFAULT '0.00',
  PRIMARY KEY (`id`),
  KEY `rutas_id` (`rutas_id`) USING BTREE,
  KEY `cotizaciones_rem_id` (`cotizaciones_rem_id`),
  KEY `conceptos_cobro_egresos_id` (`conceptos_cobro_egresos_id`),
  KEY `proveedores_id` (`proveedores_id`),
  KEY `proveedores_convenios_conceptos_id` (`proveedores_convenios_conceptos_id`),
  CONSTRAINT `cotizaciones_rem_detalle_ibfk_1` FOREIGN KEY (`cotizaciones_rem_id`) REFERENCES `cotizaciones_rem` (`id`),
  CONSTRAINT `cotizaciones_rem_detalle_ibfk_2` FOREIGN KEY (`conceptos_cobro_egresos_id`) REFERENCES `conceptos_cobro_egresos` (`id`),
  CONSTRAINT `cotizaciones_rem_detalle_ibfk_3` FOREIGN KEY (`proveedores_id`) REFERENCES `proveedores` (`id`),
  CONSTRAINT `cotizaciones_rem_detalle_ibfk_4` FOREIGN KEY (`proveedores_convenios_conceptos_id`) REFERENCES `proveedores_convenios_conceptos` (`id`),
  CONSTRAINT `cotizaciones_rem_detalle_ibfk_5` FOREIGN KEY (`rutas_id`) REFERENCES `rutas` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `cotizaciones_rem_detalle`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `cotizaciones_rem_detalle_before_insert` BEFORE INSERT ON `cotizaciones_rem_detalle`
 FOR EACH ROW BEGIN
	IF NEW.tipo_cambio is null OR NEW.tipo_cambio=0 OR NEW.moneda='Pesos' THEN
    	SET NEW.tipo_cambio=1;
      END IF;
	SET NEW.total_pesos=NEW.tipo_cambio*NEW.total;
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `cotizaciones_rem_detalle_before_update` BEFORE UPDATE ON `cotizaciones_rem_detalle`
 FOR EACH ROW BEGIN

	IF NEW.tipo_cambio is null OR NEW.tipo_cambio=0 OR NEW.moneda='Pesos' THEN
    	SET NEW.tipo_cambio=1;
      END IF;
	SET NEW.total_pesos=NEW.tipo_cambio*NEW.total;
    
END */;;
DELIMITER ;

--
-- Table structure for table `cotizaciones_rem_detalle_carga`
--

CREATE TABLE `cotizaciones_rem_detalle_carga` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cotizaciones_rem_id` int(11) NOT NULL,
  `cantidad` decimal(11,2) DEFAULT NULL,
  `embalajes_id` int(11) DEFAULT NULL,
  `clave_prodservcp_detalle_id` int(11) DEFAULT NULL,
  `clave_unidad_detalle_id` int(11) DEFAULT NULL,
  `materiales_peligrosos` varchar(3) DEFAULT NULL,
  `clave_materialespeligrosos_id` int(11) DEFAULT NULL,
  `clave_fraccionarancelaria_id` int(11) DEFAULT NULL,
  `uuid_comercio_exterior` varchar(100) DEFAULT NULL,
  `dimensiones` varchar(100) DEFAULT NULL,
  `peso_kg` decimal(11,2) DEFAULT NULL,
  `valor_mercancia` decimal(11,2) DEFAULT '0.00',
  `comentarios` varchar(100) DEFAULT NULL COMMENT 'Comentarios',
  PRIMARY KEY (`id`),
  KEY `remisiones_id` (`cotizaciones_rem_id`),
  KEY `embalajes_id` (`embalajes_id`),
  KEY `clave_materialespeligrosos_id` (`clave_materialespeligrosos_id`),
  KEY `clave_fraccionarancelaria_id` (`clave_fraccionarancelaria_id`),
  KEY `clave_unidad_detalle_id` (`clave_unidad_detalle_id`) USING BTREE,
  KEY `clave_prodservcp_detalle_id` (`clave_prodservcp_detalle_id`) USING BTREE,
  CONSTRAINT `cotizaciones_rem_detalle_carga_ibfk_1` FOREIGN KEY (`cotizaciones_rem_id`) REFERENCES `cotizaciones_rem` (`id`),
  CONSTRAINT `cotizaciones_rem_detalle_carga_ibfk_2` FOREIGN KEY (`embalajes_id`) REFERENCES `embalajes` (`id`),
  CONSTRAINT `cotizaciones_rem_detalle_carga_ibfk_3` FOREIGN KEY (`clave_prodservcp_detalle_id`) REFERENCES `clave_prodservcp` (`id`),
  CONSTRAINT `cotizaciones_rem_detalle_carga_ibfk_4` FOREIGN KEY (`clave_unidad_detalle_id`) REFERENCES `clave_unidad` (`id`),
  CONSTRAINT `cotizaciones_rem_detalle_carga_ibfk_5` FOREIGN KEY (`clave_materialespeligrosos_id`) REFERENCES `clave_materialespeligrosos` (`id`),
  CONSTRAINT `cotizaciones_rem_detalle_carga_ibfk_6` FOREIGN KEY (`clave_fraccionarancelaria_id`) REFERENCES `clave_fraccionarancelaria` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `cotizaciones_rem_detalle_carga`
--


--
-- Table structure for table `custodios`
--

CREATE TABLE `custodios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `empresas_custodia_id` int(11) NOT NULL,
  `nombre` varchar(100) NOT NULL,
  `licencia` varchar(50) DEFAULT NULL,
  `ife` varchar(50) DEFAULT NULL,
  `celular` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `empresas_custodia_id` (`empresas_custodia_id`) USING BTREE,
  CONSTRAINT `custodios_ibfk_1` FOREIGN KEY (`empresas_custodia_id`) REFERENCES `empresas_custodia` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `custodios`
--


--
-- Table structure for table `departamentos`
--

CREATE TABLE `departamentos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `departamento` varchar(150) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `servicio` (`departamento`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `departamentos`
--

INSERT INTO `departamentos` VALUES (5,'MANTENIMIENTO'),(2,'OPERACIONES'),(3,'SERVICIO AL CLIENTE'),(1,'TRAFICO');

--
-- Table structure for table `direcciones`
--

CREATE TABLE `direcciones` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `idorigen` varchar(10) DEFAULT NULL,
  `iddestino` varchar(10) DEFAULT NULL,
  `nombre` varchar(100) DEFAULT NULL COMMENT 'Contacto',
  `razon_social` varchar(200) NOT NULL,
  `rfc` varchar(20) DEFAULT NULL,
  `telefono` varchar(20) DEFAULT NULL,
  `recogera` varchar(100) DEFAULT NULL COMMENT 'Recogera/Entregara',
  `calle` varchar(100) DEFAULT NULL,
  `numero_exterior` varchar(50) DEFAULT NULL,
  `numero_interior` varchar(50) DEFAULT NULL,
  `municipios_id` int(11) DEFAULT NULL,
  `localidades_id` int(11) DEFAULT NULL,
  `colonias_id` int(11) DEFAULT NULL,
  `codigos_postales_id` int(11) DEFAULT NULL,
  `estados_id` int(11) NOT NULL,
  `paises_id` int(11) DEFAULT NULL,
  `estaciones_id` int(11) DEFAULT NULL,
  `num_reg_id_trib` varchar(50) DEFAULT NULL COMMENT 'Num Registro Tributario',
  `domicilio` varchar(200) DEFAULT NULL,
  `ciudad` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `estados_id` (`estados_id`),
  KEY `nombre` (`nombre`),
  KEY `razon_social` (`razon_social`),
  KEY `rfc` (`rfc`),
  KEY `municipios_id` (`municipios_id`),
  KEY `localidades_id` (`localidades_id`),
  KEY `colonias_id` (`colonias_id`),
  KEY `codigos_postales_id` (`codigos_postales_id`),
  KEY `paises_id` (`paises_id`),
  KEY `estaciones_id` (`estaciones_id`),
  CONSTRAINT `direcciones_ibfk_1` FOREIGN KEY (`municipios_id`) REFERENCES `municipios` (`id`),
  CONSTRAINT `direcciones_ibfk_2` FOREIGN KEY (`localidades_id`) REFERENCES `localidades` (`id`),
  CONSTRAINT `direcciones_ibfk_3` FOREIGN KEY (`colonias_id`) REFERENCES `colonias` (`id`),
  CONSTRAINT `direcciones_ibfk_4` FOREIGN KEY (`codigos_postales_id`) REFERENCES `codigos_postales` (`id`),
  CONSTRAINT `direcciones_ibfk_5` FOREIGN KEY (`estados_id`) REFERENCES `estados` (`id`),
  CONSTRAINT `direcciones_ibfk_6` FOREIGN KEY (`paises_id`) REFERENCES `paises` (`id`),
  CONSTRAINT `direcciones_ibfk_7` FOREIGN KEY (`estaciones_id`) REFERENCES `estaciones` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `direcciones`
--

INSERT INTO `direcciones` VALUES (1,'','','Sandra Perez','Ulises Alcantara Perez','XAXX010101000','52-1589-5652',NULL,'Calle Norte 72-B','7812','SN',134,195,43279,43282,11,1,NULL,'',NULL,NULL),(2,'','','Claudia Sandoval','MIGUEL ANGEL MORA RODRIGUEZ','MORM8809305T3','52-1254-8774',NULL,'Avenida Cerro de las Torres','5369','SN',1805,275,37286,37289,1,1,NULL,'',NULL,NULL),(3,'','','','Groupon','XAXX010101000','',NULL,'Florentina ','59','2',1365,NULL,293,296,1,1,NULL,'',NULL,NULL),(4,'','','','Talavera','XAXX010101000','',NULL,'Constitucion','1548','SN',1773,85,29415,29418,21,1,NULL,'',NULL,NULL),(5,'','','','SARA MARIA PALOMAR IBARRA','PAIS900502IC1','',NULL,'Rinconadas de Zapopan','SN','SN',1805,275,1172,1175,1,1,NULL,'',NULL,NULL);
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `direcciones_before_update` BEFORE UPDATE ON `direcciones`
 FOR EACH ROW BEGIN
	IF (NEW.idorigen IS NULL) THEN
    	SET NEW.idorigen = CONCAT('OR', LPAD(NEW.id, 6, 0) );
    END IF;
	IF (NEW.iddestino IS NULL) THEN
    	SET NEW.iddestino = CONCAT('DE', LPAD(NEW.id, 6, 0) );
    END IF;
END */;;
DELIMITER ;

--
-- Table structure for table `direcciones_proveedores`
--

CREATE TABLE `direcciones_proveedores` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `proveedores_id` int(11) NOT NULL,
  `nombre` varchar(100) DEFAULT NULL COMMENT 'Contacto',
  `razon_social` varchar(200) NOT NULL,
  `rfc` varchar(20) DEFAULT NULL,
  `domicilio` varchar(200) DEFAULT NULL,
  `ciudad` varchar(50) DEFAULT NULL,
  `estados_id` int(11) NOT NULL,
  `telefono` varchar(20) DEFAULT NULL,
  `recogera` varchar(100) DEFAULT NULL COMMENT 'Recogera/Entregara',
  PRIMARY KEY (`id`),
  KEY `estados_id` (`estados_id`),
  KEY `nombre` (`nombre`),
  KEY `razon_social` (`razon_social`),
  KEY `rfc` (`rfc`),
  KEY `proveedores_id` (`proveedores_id`),
  CONSTRAINT `direcciones_proveedores_ibfk_1` FOREIGN KEY (`proveedores_id`) REFERENCES `proveedores` (`id`),
  CONSTRAINT `direcciones_proveedores_ibfk_2` FOREIGN KEY (`estados_id`) REFERENCES `estados` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `direcciones_proveedores`
--


--
-- Table structure for table `disponibilidad_carga`
--

CREATE TABLE `disponibilidad_carga` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fecha_hora` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `clase_unidades` varchar(30) NOT NULL,
  `ciudad_origen` varchar(100) DEFAULT NULL,
  `estado_origen` varchar(100) DEFAULT NULL,
  `ciudad_destino` varchar(100) DEFAULT NULL,
  `estado_destino` varchar(100) DEFAULT NULL,
  `descripcion_carga` varchar(500) DEFAULT NULL,
  `fecha_limite_origen` datetime DEFAULT NULL,
  `fecha_limite_destino` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `disponibilidad_carga`
--


--
-- Table structure for table `disponibilidad_unidad`
--

CREATE TABLE `disponibilidad_unidad` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fecha_hora` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `clase_unidades` varchar(30) NOT NULL,
  `ciudad_origen` varchar(100) DEFAULT NULL,
  `estado_origen` varchar(100) DEFAULT NULL,
  `ciudad_destino` varchar(100) DEFAULT NULL,
  `estado_destino` varchar(100) DEFAULT NULL,
  `descripcion_unidad` varchar(500) DEFAULT NULL,
  `fecha_limite_origen` datetime DEFAULT NULL,
  `fecha_limite_destino` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `disponibilidad_unidad`
--


--
-- Table structure for table `documentos_clientes`
--

CREATE TABLE `documentos_clientes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tipo_documento_id` int(11) NOT NULL,
  `numero_documento` varchar(30) DEFAULT NULL,
  `comentarios` varchar(255) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  `clientes_id` int(11) NOT NULL,
  `documento` longblob,
  `extension` varchar(10) DEFAULT NULL,
  `nombre_documento` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `tipo_documento_id` (`tipo_documento_id`),
  KEY `clientes_id` (`clientes_id`) USING BTREE,
  CONSTRAINT `documentos_clientes_ibfk_1` FOREIGN KEY (`tipo_documento_id`) REFERENCES `tipo_documento` (`id`),
  CONSTRAINT `documentos_clientes_ibfk_2` FOREIGN KEY (`clientes_id`) REFERENCES `clientes` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_clientes`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_clientes_before_insert` BEFORE INSERT ON `documentos_clientes`
 FOR EACH ROW BEGIN

 DECLARE nombre_tipo_documento VARCHAR(100);
        
 SELECT tipo_documento.tipo_documento INTO nombre_tipo_documento 
    	FROM tipo_documento
    	WHERE tipo_documento.id = NEW.tipo_documento_id;
        
 SET NEW.nombre_documento = nombre_tipo_documento;
        
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_clientes_before_update` BEFORE UPDATE ON `documentos_clientes`
 FOR EACH ROW BEGIN

	IF NEW.documento = '' AND OLD.documento <> '' THEN
 		SET NEW.documento = OLD.documento;
 	END IF;

END */;;
DELIMITER ;

--
-- Table structure for table `documentos_cobradores`
--

CREATE TABLE `documentos_cobradores` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre_documento` varchar(100) NOT NULL,
  `descripcion_documento` varchar(255) NOT NULL,
  `cobradores_id` int(11) NOT NULL,
  `documento` longblob NOT NULL,
  `extension` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `cobradores_id` (`cobradores_id`) USING BTREE,
  CONSTRAINT `documentos_cobradores_ibfk_1` FOREIGN KEY (`cobradores_id`) REFERENCES `cobradores` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_cobradores`
--


--
-- Table structure for table `documentos_compras`
--

CREATE TABLE `documentos_compras` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre_documento` varchar(100) NOT NULL,
  `descripcion_documento` varchar(255) NOT NULL,
  `compras_id` int(11) NOT NULL,
  `documento` longblob NOT NULL,
  `extension` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `compras_id` (`compras_id`) USING BTREE,
  CONSTRAINT `documentos_compras_ibfk_1` FOREIGN KEY (`compras_id`) REFERENCES `compras` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_compras`
--


--
-- Table structure for table `documentos_empleados`
--

CREATE TABLE `documentos_empleados` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tipo_documento_id` int(11) NOT NULL,
  `numero_documento` varchar(30) DEFAULT NULL,
  `comentarios` varchar(255) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  `empleados_id` int(11) NOT NULL,
  `documento` longblob,
  `extension` varchar(10) DEFAULT NULL,
  `nombre_documento` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `empleados_id` (`empleados_id`),
  KEY `tipo_documento_id` (`tipo_documento_id`),
  CONSTRAINT `documentos_empleados_ibfk_1` FOREIGN KEY (`tipo_documento_id`) REFERENCES `tipo_documento` (`id`),
  CONSTRAINT `documentos_empleados_ibfk_2` FOREIGN KEY (`empleados_id`) REFERENCES `empleados` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_empleados`
--

INSERT INTO `documentos_empleados` VALUES (1,1,'COL0116821','','2028-10-18',2,'','','LICENCIA DE CONDUCIR');
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_empleados_before_insert` BEFORE INSERT ON `documentos_empleados`
 FOR EACH ROW BEGIN

 DECLARE nombre_tipo_documento VARCHAR(100);
        
 SELECT tipo_documento.tipo_documento INTO nombre_tipo_documento 
    	FROM tipo_documento
    	WHERE tipo_documento.id = NEW.tipo_documento_id;
        
 SET NEW.nombre_documento = nombre_tipo_documento;
        
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_empleados_before_update` BEFORE UPDATE ON `documentos_empleados`
 FOR EACH ROW BEGIN

	IF NEW.documento = '' AND OLD.documento <> '' THEN
 		SET NEW.documento = OLD.documento;
 	END IF;

END */;;
DELIMITER ;

--
-- Table structure for table `documentos_mecanicos`
--

CREATE TABLE `documentos_mecanicos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre_documento` varchar(100) NOT NULL,
  `descripcion_documento` varchar(255) NOT NULL,
  `mecanicos_id` int(11) NOT NULL,
  `documento` longblob NOT NULL,
  `extension` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `mecanicos_id` (`mecanicos_id`) USING BTREE,
  CONSTRAINT `documentos_mecanicos_ibfk_1` FOREIGN KEY (`mecanicos_id`) REFERENCES `mecanicos` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_mecanicos`
--


--
-- Table structure for table `documentos_operadores`
--

CREATE TABLE `documentos_operadores` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre_documento` varchar(100) NOT NULL,
  `tipo_documento_id` int(11) NOT NULL,
  `descripcion_documento` varchar(255) NOT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  `operadores_id` int(11) NOT NULL,
  `documento` longblob NOT NULL,
  `extension` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `operadores_id` (`operadores_id`),
  KEY `tipo_documento_id` (`tipo_documento_id`),
  CONSTRAINT `documentos_operadores_ibfk_1` FOREIGN KEY (`tipo_documento_id`) REFERENCES `tipo_documento` (`id`),
  CONSTRAINT `documentos_operadores_ibfk_2` FOREIGN KEY (`operadores_id`) REFERENCES `operadores` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_operadores`
--


--
-- Table structure for table `documentos_operadores_permisionarios`
--

CREATE TABLE `documentos_operadores_permisionarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tipo_documento_id` int(11) NOT NULL,
  `comentarios` varchar(255) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  `operadores_permisionarios_id` int(11) NOT NULL,
  `documento` longblob,
  `extension` varchar(10) DEFAULT NULL,
  `nombre_documento` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `tipo_documento_id` (`tipo_documento_id`),
  KEY `operadores_permisionarios_id` (`operadores_permisionarios_id`) USING BTREE,
  CONSTRAINT `documentos_operadores_permisionarios_ibfk_1` FOREIGN KEY (`tipo_documento_id`) REFERENCES `tipo_documento` (`id`),
  CONSTRAINT `documentos_operadores_permisionarios_ibfk_2` FOREIGN KEY (`operadores_permisionarios_id`) REFERENCES `operadores_permisionarios` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_operadores_permisionarios`
--

INSERT INTO `documentos_operadores_permisionarios` VALUES (1,1,'03122858','2029-07-06',1,'','','LICENCIA DE CONDUCIR');
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_operadores_permisionarios_before_insert` BEFORE INSERT ON `documentos_operadores_permisionarios`
 FOR EACH ROW BEGIN

 DECLARE nombre_tipo_documento VARCHAR(100);
        
 SELECT tipo_documento.tipo_documento INTO nombre_tipo_documento 
    	FROM tipo_documento
    	WHERE tipo_documento.id = NEW.tipo_documento_id;
        
 SET NEW.nombre_documento = nombre_tipo_documento;
        
END */;;
DELIMITER ;

--
-- Table structure for table `documentos_permisionarios`
--

CREATE TABLE `documentos_permisionarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre_documento` varchar(100) NOT NULL,
  `descripcion_documento` varchar(255) NOT NULL,
  `permisionarios_id` int(11) NOT NULL,
  `documento` longblob NOT NULL,
  `extension` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `permisionarios_id` (`permisionarios_id`) USING BTREE,
  CONSTRAINT `documentos_permisionarios_ibfk_1` FOREIGN KEY (`permisionarios_id`) REFERENCES `permisionarios` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_permisionarios`
--


--
-- Table structure for table `documentos_proveedores`
--

CREATE TABLE `documentos_proveedores` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tipo_documento_id` int(11) NOT NULL,
  `numero_documento` varchar(30) DEFAULT NULL,
  `comentarios` varchar(255) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  `proveedores_id` int(11) NOT NULL,
  `documento` longblob,
  `extension` varchar(10) DEFAULT NULL,
  `nombre_documento` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `proveedores_id` (`proveedores_id`) USING BTREE,
  KEY `tipo_documento_id` (`tipo_documento_id`),
  CONSTRAINT `documentos_proveedores_ibfk_1` FOREIGN KEY (`tipo_documento_id`) REFERENCES `tipo_documento` (`id`),
  CONSTRAINT `documentos_proveedores_ibfk_2` FOREIGN KEY (`proveedores_id`) REFERENCES `proveedores` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_proveedores`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_proveedores_before_insert` BEFORE INSERT ON `documentos_proveedores`
 FOR EACH ROW BEGIN

 DECLARE nombre_tipo_documento VARCHAR(100);
        
 SELECT tipo_documento.tipo_documento INTO nombre_tipo_documento 
    	FROM tipo_documento
    	WHERE tipo_documento.id = NEW.tipo_documento_id;
        
 SET NEW.nombre_documento = nombre_tipo_documento;
        
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_proveedores_before_update` BEFORE UPDATE ON `documentos_proveedores`
 FOR EACH ROW BEGIN

	IF NEW.documento = '' AND OLD.documento <> '' THEN
 		SET NEW.documento = OLD.documento;
 	END IF;

END */;;
DELIMITER ;

--
-- Table structure for table `documentos_repartidores`
--

CREATE TABLE `documentos_repartidores` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre_documento` varchar(100) NOT NULL,
  `descripcion_documento` varchar(255) NOT NULL,
  `repartidores_id` int(11) NOT NULL,
  `documento` longblob NOT NULL,
  `extension` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `repartidores_id` (`repartidores_id`) USING BTREE,
  CONSTRAINT `documentos_repartidores_ibfk_1` FOREIGN KEY (`repartidores_id`) REFERENCES `repartidores` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_repartidores`
--


--
-- Table structure for table `documentos_unidades`
--

CREATE TABLE `documentos_unidades` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tipo_documento_id` int(11) NOT NULL,
  `numero_documento` varchar(30) DEFAULT NULL,
  `comentarios` varchar(255) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  `unidades_id` int(11) NOT NULL,
  `documento` longblob,
  `extension` varchar(10) DEFAULT NULL,
  `nombre_documento` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `unidades_id` (`unidades_id`),
  KEY `tipo_documento_id` (`tipo_documento_id`),
  CONSTRAINT `documentos_unidades_ibfk_1` FOREIGN KEY (`tipo_documento_id`) REFERENCES `tipo_documento` (`id`),
  CONSTRAINT `documentos_unidades_ibfk_2` FOREIGN KEY (`unidades_id`) REFERENCES `unidades` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_unidades`
--

INSERT INTO `documentos_unidades` VALUES (1,8,'569','','2029-03-15',2,'','','Tarjeta de Circulacion'),(2,8,'','','2028-07-07',7,'','','Tarjeta de Circulacion');
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_unidades_before_insert` BEFORE INSERT ON `documentos_unidades`
 FOR EACH ROW BEGIN

 DECLARE nombre_tipo_documento VARCHAR(100);
        
 SELECT tipo_documento.tipo_documento INTO nombre_tipo_documento 
    	FROM tipo_documento
    	WHERE tipo_documento.id = NEW.tipo_documento_id;
        
 SET NEW.nombre_documento = nombre_tipo_documento;
        
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_unidades_before_update` BEFORE UPDATE ON `documentos_unidades`
 FOR EACH ROW BEGIN

	IF NEW.documento = '' AND OLD.documento <> '' THEN
 		SET NEW.documento = OLD.documento;
 	END IF;

END */;;
DELIMITER ;

--
-- Table structure for table `documentos_unidades_permisionarios`
--

CREATE TABLE `documentos_unidades_permisionarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tipo_documento_id` int(11) NOT NULL,
  `comentarios` varchar(255) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  `unidades_permisionarios_id` int(11) NOT NULL,
  `documento` longblob,
  `extension` varchar(10) DEFAULT NULL,
  `nombre_documento` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `tipo_documento_id` (`tipo_documento_id`),
  KEY `unidades_permisionarios_id` (`unidades_permisionarios_id`) USING BTREE,
  CONSTRAINT `documentos_unidades_permisionarios_ibfk_1` FOREIGN KEY (`tipo_documento_id`) REFERENCES `tipo_documento` (`id`),
  CONSTRAINT `documentos_unidades_permisionarios_ibfk_2` FOREIGN KEY (`unidades_permisionarios_id`) REFERENCES `unidades_permisionarios` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `documentos_unidades_permisionarios`
--

INSERT INTO `documentos_unidades_permisionarios` VALUES (1,8,'','2027-07-16',1,'','','Tarjeta de Circulacion');
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `documentos_unidades_permisionarios_before_insert` BEFORE INSERT ON `documentos_unidades_permisionarios`
 FOR EACH ROW BEGIN

 DECLARE nombre_tipo_documento VARCHAR(100);
        
 SELECT tipo_documento.tipo_documento INTO nombre_tipo_documento 
    	FROM tipo_documento
    	WHERE tipo_documento.id = NEW.tipo_documento_id;
        
 SET NEW.nombre_documento = nombre_tipo_documento;
        
END */;;
DELIMITER ;

--
-- Table structure for table `egresos`
--

CREATE TABLE `egresos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `egreso` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `tipo_egreso` varchar(20) DEFAULT NULL,
  `liquidaciones_id` int(11) DEFAULT NULL,
  `estatus` varchar(20) NOT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `operadores_id` int(11) NOT NULL,
  `remisiones_id` int(11) NOT NULL,
  `unidades_id` int(11) NOT NULL,
  `bancos_id` int(11) DEFAULT NULL,
  `referencia` varchar(50) DEFAULT NULL,
  `bancos_cuenta` varchar(50) DEFAULT NULL,
  `numero_autorizacion` varchar(20) DEFAULT NULL,
  `importe` decimal(11,2) DEFAULT NULL,
  `clientes_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `liquidaciones_id` (`liquidaciones_id`),
  KEY `operadores_id` (`operadores_id`),
  KEY `unidades_id` (`unidades_id`),
  KEY `remisiones_id` (`remisiones_id`),
  KEY `clientes_id` (`clientes_id`),
  KEY `bancos_id` (`bancos_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  CONSTRAINT `egresos_ibfk_1` FOREIGN KEY (`liquidaciones_id`) REFERENCES `liquidaciones` (`id`),
  CONSTRAINT `egresos_ibfk_2` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `egresos_ibfk_3` FOREIGN KEY (`operadores_id`) REFERENCES `operadores` (`id`),
  CONSTRAINT `egresos_ibfk_4` FOREIGN KEY (`remisiones_id`) REFERENCES `remisiones` (`id`),
  CONSTRAINT `egresos_ibfk_5` FOREIGN KEY (`unidades_id`) REFERENCES `unidades` (`id`),
  CONSTRAINT `egresos_ibfk_6` FOREIGN KEY (`bancos_id`) REFERENCES `bancos` (`id`),
  CONSTRAINT `egresos_ibfk_7` FOREIGN KEY (`clientes_id`) REFERENCES `clientes` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `egresos`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `egresos_before_insert` BEFORE INSERT ON `egresos`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT nextval('egresos') INTO vFolio;

      SELECT getserie('egresos') INTO vSerie;

	  SET NEW.egreso = CONCAT(vSerie, vFolio);
      SET NEW.fecha_hora = SYSDATE();

END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `egresos_after_update` AFTER UPDATE ON `egresos`
 FOR EACH ROW BEGIN
	DECLARE proveedor_deposito VARCHAR(100);
	DECLARE inicial_retiro DECIMAL(11,2);
	SET inicial_retiro = 0.00;

IF NEW.estatus='Autorizado' AND OLD.estatus='Capturado' THEN
	IF NEW.tipo_egreso IN ('Deposito', 'Cheque', 'Caja Chica') THEN
    	
        SELECT operadores.operador INTO proveedor_deposito 
    	FROM operadores
    	LEFT JOIN remisiones ON remisiones.id=NEW.remisiones_id
    	WHERE operadores.id = remisiones.operadores_id;
    
        SELECT COALESCE(bancos_saldos.saldo_final, 0) INTO inicial_retiro 
		FROM bancos_saldos 
		WHERE bancos_saldos.bancos_id = NEW.bancos_id
		ORDER BY bancos_saldos.id DESC LIMIT 1;
    
    	INSERT INTO bancos_saldos (bancos_id, tipo_operacion, razon_social, folio, movimiento, saldo_anterior, monto_deposito, monto_retiro, saldo_final)
	VALUES (NEW.bancos_id, 'Egreso', proveedor_deposito, NEW.egreso, 'Retiro', inicial_retiro, NULL, NEW.importe, (inicial_retiro - COALESCE(NEW.importe, 0)));
    
    END IF;
END IF;

IF NEW.estatus='Cancelado' AND OLD.estatus='Autorizado' THEN
	IF NEW.tipo_egreso IN ('Deposito', 'Cheque', 'Caja Chica') THEN
    	
        SELECT operadores.operador INTO proveedor_deposito 
    	FROM operadores
    	LEFT JOIN remisiones ON remisiones.id=NEW.remisiones_id
    	WHERE operadores.id = remisiones.operadores_id;
    
        SELECT COALESCE(bancos_saldos.saldo_final, 0) INTO inicial_retiro 
		FROM bancos_saldos 
		WHERE bancos_saldos.bancos_id = NEW.bancos_id
		ORDER BY bancos_saldos.id DESC LIMIT 1;
    
    	INSERT INTO bancos_saldos (bancos_id, tipo_operacion, razon_social, folio, movimiento, saldo_anterior, monto_deposito, monto_retiro, saldo_final)
	VALUES (NEW.bancos_id, 'Cancelacion Egreso', proveedor_deposito, NEW.egreso, 'Deposito', inicial_retiro, NEW.importe, NULL, (inicial_retiro + COALESCE(NEW.importe, 0)));
    
    END IF;
END IF;

END */;;
DELIMITER ;

--
-- Table structure for table `egresos_detalle`
--

CREATE TABLE `egresos_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `egresos_id` int(11) NOT NULL,
  `descripcion` varchar(100) NOT NULL,
  `importe` decimal(11,2) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `egresos_id` (`egresos_id`),
  CONSTRAINT `egresos_detalle_ibfk_1` FOREIGN KEY (`egresos_id`) REFERENCES `egresos` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `egresos_detalle`
--


--
-- Table structure for table `egresos_historial`
--

CREATE TABLE `egresos_historial` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `egresos_id` int(11) NOT NULL,
  `estatus` varchar(20) DEFAULT NULL,
  `operacion` varchar(50) NOT NULL,
  `user_id` int(11) NOT NULL,
  `descripcion` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `solicitudes_servicio_id` (`egresos_id`),
  KEY `user_id` (`user_id`),
  KEY `egresos_id` (`egresos_id`),
  KEY `user_id_2` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `egresos_historial`
--


--
-- Table structure for table `egresos_paqueteria`
--

CREATE TABLE `egresos_paqueteria` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `egreso_paqueteria` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `tipo_egreso` varchar(20) DEFAULT NULL,
  `liquidaciones_foraneas_id` int(11) DEFAULT NULL,
  `estatus` varchar(20) NOT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `operadores_id` int(11) NOT NULL,
  `viajes_informes_id` int(11) NOT NULL,
  `unidades_id` int(11) NOT NULL,
  `bancos_id` int(11) DEFAULT NULL,
  `referencia` varchar(50) DEFAULT NULL,
  `bancos_cuenta` varchar(50) DEFAULT NULL,
  `numero_autorizacion` varchar(20) DEFAULT NULL,
  `importe` decimal(11,2) DEFAULT NULL,
  `clientes_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `unidades_id` (`unidades_id`),
  KEY `clientes_id` (`clientes_id`),
  KEY `bancos_id` (`bancos_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  KEY `liquidaciones_foraneas_id` (`liquidaciones_foraneas_id`) USING BTREE,
  KEY `viajes_informes_id` (`viajes_informes_id`) USING BTREE,
  KEY `operadores_id` (`operadores_id`) USING BTREE,
  CONSTRAINT `egresos_paqueteria_ibfk_1` FOREIGN KEY (`liquidaciones_foraneas_id`) REFERENCES `liquidaciones_foraneas` (`id`),
  CONSTRAINT `egresos_paqueteria_ibfk_2` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `egresos_paqueteria_ibfk_3` FOREIGN KEY (`operadores_id`) REFERENCES `operadores` (`id`),
  CONSTRAINT `egresos_paqueteria_ibfk_4` FOREIGN KEY (`viajes_informes_id`) REFERENCES `viajes_informes` (`id`),
  CONSTRAINT `egresos_paqueteria_ibfk_5` FOREIGN KEY (`unidades_id`) REFERENCES `unidades` (`id`),
  CONSTRAINT `egresos_paqueteria_ibfk_6` FOREIGN KEY (`bancos_id`) REFERENCES `bancos` (`id`),
  CONSTRAINT `egresos_paqueteria_ibfk_7` FOREIGN KEY (`clientes_id`) REFERENCES `clientes` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `egresos_paqueteria`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `egresos_paqueteria_before_insert` BEFORE INSERT ON `egresos_paqueteria`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT nextval('egresos_paqueteria') INTO vFolio;

      SELECT getserie('egresos_paqueteria') INTO vSerie;

      SET NEW.egreso_paqueteria = CONCAT(vSerie, vFolio);

      SET NEW.fecha_hora = NOW();
END */;;
DELIMITER ;

--
-- Table structure for table `egresos_paqueteria_detalle`
--

CREATE TABLE `egresos_paqueteria_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `egresos_paqueteria_id` int(11) NOT NULL,
  `descripcion` varchar(100) NOT NULL,
  `importe` decimal(11,2) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `egresos_paqueteria_id` (`egresos_paqueteria_id`) USING BTREE,
  CONSTRAINT `egresos_paqueteria_detalle_ibfk_1` FOREIGN KEY (`egresos_paqueteria_id`) REFERENCES `egresos_paqueteria` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `egresos_paqueteria_detalle`
--


--
-- Table structure for table `embalajes`
--

CREATE TABLE `embalajes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `abreviatura` varchar(10) NOT NULL,
  `embalaje` varchar(160) NOT NULL,
  `clave_sat` varchar(100) DEFAULT NULL,
  `departamento` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `servicio` (`abreviatura`)
) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `embalajes`
--

INSERT INTO `embalajes` VALUES (1,'TAR','Tarimas','123','REMISIONES'),(2,'CAJ','Cajas','345','REMISIONES'),(3,'BT','Botes','','REMISIONES'),(4,'BT','Bultos','','REMISIONES'),(5,'COT','Costales','7H1','REMISIONES'),(6,'Bidones','Bidones (Tambores) de plastico tapa no desmontable','1H1','REMISIONES'),(7,'RV','Recipiente de vidrio','6PH2','REMISIONES'),(8,'CAJ','CAJAS DE CARTON','CAJAS DE CARTON','PAQUETERIA'),(9,'CC','Cajas de Cartón','4G','REMISIONES'),(10,'1A1','Bidones (Tambores) de Acero 1 de tapa no desmontable','1A1','PELIGROSO'),(11,'1A2','Bidones (Tambores) de Acero 1 de tapa desmontable','1A2','PELIGROSO'),(12,'1B1','Bidones (Tambores) de Aluminio de tapa no desmontable','1B1','PELIGROSO'),(13,'1B2','Bidones (Tambores) de Aluminio de tapa desmontable','1B2','PELIGROSO'),(14,'1D','Bidones (Tambores) de Madera contrachapada','1D','PELIGROSO'),(15,'1G','Bidones (Tambores) de Cartón','1G','PELIGROSO'),(16,'1H1','Bidones (Tambores) de Plástico de tapa no desmontable','1H1','PELIGROSO'),(17,'1H2','Bidones (Tambores) de Plástico de tapa desmontable','1H2','PELIGROSO'),(18,'1N1','Bidones (Tambores) de Metal que no sea acero ni aluminio de tapa no desmontable','1N1','PELIGROSO'),(19,'1N2','Bidones (Tambores) de Metal que no sea acero ni aluminio de tapa desmontable','1N2','PELIGROSO'),(20,'3A1','Jerricanes (Porrones) de Acero de tapa no desmontable','3A1','PELIGROSO'),(21,'3A2','Jerricanes (Porrones) de Acero de tapa desmontable','3A2','PELIGROSO'),(22,'3B1','Jerricanes (Porrones) de Aluminio de tapa no desmontable','3B1','PELIGROSO'),(23,'3B2','Jerricanes (Porrones) de Aluminio de tapa desmontable','3B2','PELIGROSO'),(24,'3H1','Jerricanes (Porrones) de Plástico de tapa no desmontable','3H1','PELIGROSO'),(25,'3H2','Jerricanes (Porrones) de Plástico de tapa desmontable','3H2','PELIGROSO'),(26,'4A','Cajas de Acero','4A','PELIGROSO'),(27,'4B','Cajas de Aluminio','4B','PELIGROSO'),(28,'4C1','Cajas de Madera natural ordinaria','4C1','PELIGROSO'),(29,'4C2','Cajas de Madera natural de paredes a prueba de polvos (estancas a los pulverulentos)','4C2','PELIGROSO'),(30,'4D','Cajas de Madera contrachapada','4D','PELIGROSO'),(31,'4F','Cajas de Madera reconstituida','4F','PELIGROSO'),(32,'4G','Cajas de Cartón','4G','PELIGROSO'),(33,'4H1','Cajas de Plástico Expandido','4H1','PELIGROSO'),(34,'4H2','Cajas de Plástico Rígido','4H2','PELIGROSO'),(35,'5H1','Sacos (Bolsas) de Tejido de plástico sin forro ni revestimientos interiores','5H1','PELIGROSO'),(36,'5H2','Sacos (Bolsas) de Tejido de plástico a prueba de polvos (estancos a los pulverulentos)','5H2','PELIGROSO'),(37,'5H3','Sacos (Bolsas) de Tejido de plástico resistente al agua','5H3','PELIGROSO'),(38,'5H4','Sacos (Bolsas) de Película de plástico','5H4','PELIGROSO'),(39,'5L1','Sacos (Bolsas) de Tela sin forro ni revestimientos interiores','5L1','PELIGROSO'),(40,'5L2','Sacos (Bolsas) de Tela a prueba de polvos (estancos a los pulverulentos)','5L2','PELIGROSO'),(41,'5L3','Sacos (Bolsas) de Tela resistentes al agua','5L3','PELIGROSO'),(42,'5M1','Sacos (Bolsas) de Papel de varias hojas','5M1','PELIGROSO'),(43,'5M2','Sacos (Bolsas) de Papel de varias hojas, resistentes al agua','5M2','PELIGROSO'),(44,'6HA1','Envases y embalajes compuestos de Recipiente de plástico, con bidón (tambor) de acero','6HA1','PELIGROSO'),(45,'6HA2','Envases y embalajes compuestos de Recipiente de plástico, con una jaula o caja de acero','6HA2','PELIGROSO'),(46,'6HB1','Envases y embalajes compuestos de Recipiente de plástico, con un bidón (tambor) exterior de aluminio','6HB1','PELIGROSO'),(47,'6HB2','Envases y embalajes compuestos de Recipiente de plástico, con una jaula o caja de aluminio','6HB2','PELIGROSO'),(48,'6HC','Envases y embalajes compuestos de Recipiente de plástico, con una caja de madera','6HC','PELIGROSO'),(49,'6HD1','Envases y embalajes compuestos de Recipiente de plástico, con un bidón (tambor) de madera contrachapada','6HD1','PELIGROSO'),(50,'6HD2','Envases y embalajes compuestos de Recipiente de plástico, con una caja de madera contrachapada','6HD2','PELIGROSO'),(51,'6HG1','Envases y embalajes compuestos de Recipiente de plástico, con un bidón (tambor) de cartón','6HG1','PELIGROSO'),(52,'6HG2','Envases y embalajes compuestos de Recipiente de plástico, con una caja de cartón','6HG2','PELIGROSO'),(53,'6HH1','Envases y embalajes compuestos de Recipiente de plástico, con un bidón (tambor) de plástico','6HH1','PELIGROSO'),(54,'6HH2','Envases y embalajes compuestos de Recipiente de plástico, con caja de plástico rígido','6HH2','PELIGROSO'),(55,'6PA1','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con un bidón (tambor) de acero','6PA1','PELIGROSO'),(56,'6PA2','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con una jaula o una caja de acero','6PA2','PELIGROSO'),(57,'6PB1','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con un bidón (tambor) exterior de aluminio','6PB1','PELIGROSO'),(58,'6PB2','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con una jaula o una caja de aluminio','6PB2','PELIGROSO'),(59,'6PC','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con una caja de madera','6PC','PELIGROSO'),(60,'6PD1','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con bidón (tambor) de madera contrachapada','6PD1','PELIGROSO'),(61,'6PD2','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con canasta de mimbre','6PD2','PELIGROSO'),(62,'6PG1','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con un bidón (tambor) de cartón','6PG1','PELIGROSO'),(63,'6PG2','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con una caja de cartón','6PG2','PELIGROSO'),(64,'6PH1','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con un envase y embalaje de plástico expandido','6PH1','PELIGROSO'),(65,'6PH2','Envases y embalajes compuestos de Recipiente de vidrio, porcelana o de gres, con un envase y embalaje de plástico rígido','6PH2','PELIGROSO'),(66,'7H1','Bultos de Plástico','7H1','PELIGROSO'),(67,'7L1','Bultos de Tela','7L1','PELIGROSO'),(68,'Z01','No aplica ','Z01','PELIGROSO'),(69,'Z01','NO APLICA','Z01','REMISIONES'),(70,'4G','CAJAS DE CARTON','4G','REMISIONES'),(71,'5H4',' Sacos (Bolsas) de Pelicula de plastico','5H4','REMISIONES'),(72,'CAJ','CAJAS','CAJ','REMISIONES');

--
-- Table structure for table `empleados`
--

CREATE TABLE `empleados` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `numero_empleado` varchar(50) DEFAULT NULL,
  `empleado` varchar(100) NOT NULL,
  `rfc` varchar(20) NOT NULL,
  `curp` varchar(50) DEFAULT NULL,
  `sucursales_id` int(11) NOT NULL,
  `fecha_nacimiento` date NOT NULL,
  `telefono` varchar(20) DEFAULT NULL,
  `correo` varchar(100) DEFAULT NULL,
  `tipo_sangre` varchar(20) DEFAULT NULL,
  `calle` varchar(100) DEFAULT NULL,
  `numero_exterior` varchar(50) DEFAULT NULL,
  `numero_interior` varchar(50) DEFAULT NULL,
  `colonias_id` int(11) DEFAULT NULL,
  `codigos_postales_id` int(11) DEFAULT NULL,
  `municipios_id` int(11) DEFAULT NULL,
  `localidades_id` int(11) DEFAULT NULL,
  `estados_id` int(11) DEFAULT NULL,
  `paises_id` int(11) DEFAULT NULL,
  `fecha_ingreso` date NOT NULL,
  `tipo_empleado` varchar(20) DEFAULT NULL,
  `puestos_id` int(11) NOT NULL,
  `departamentos_id` int(11) NOT NULL,
  `fecha_baja` date DEFAULT NULL,
  `motivo_baja` varchar(100) DEFAULT NULL,
  `fecha_reingreso` date DEFAULT NULL,
  `estatus` varchar(20) NOT NULL,
  `contacto_urgencias` varchar(100) DEFAULT NULL,
  `telefono_urgencias` varchar(20) DEFAULT NULL,
  `apodo` varchar(50) DEFAULT NULL,
  `numero_licencia` varchar(50) DEFAULT NULL,
  `unidades_id` int(11) DEFAULT NULL,
  `sueldo_fijo` decimal(11,2) DEFAULT NULL,
  `sueldo_diario` decimal(11,2) DEFAULT NULL,
  `tipo_periodo` varchar(20) DEFAULT NULL,
  `porcentaje_comision` decimal(11,2) DEFAULT NULL,
  `colonia` varchar(100) DEFAULT NULL,
  `ciudad` varchar(50) DEFAULT NULL,
  `talla_pantalon` varchar(50) DEFAULT NULL,
  `talla_blusa` varchar(50) DEFAULT NULL,
  `talla_botas` varchar(50) DEFAULT NULL,
  `numero_seguro_social` varchar(50) DEFAULT NULL,
  `numero_infonavit` varchar(50) DEFAULT NULL,
  `numero_fonacot` varchar(50) DEFAULT NULL,
  `area_trabajo` varchar(100) DEFAULT NULL,
  `vigencia_licencia` date DEFAULT NULL,
  `remolquea_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `estados_id` (`estados_id`),
  KEY `puestos_id` (`puestos_id`),
  KEY `unidades_id` (`unidades_id`),
  KEY `remolquea_id` (`remolquea_id`),
  KEY `departamentos_id` (`departamentos_id`),
  KEY `sucursales_id` (`sucursales_id`),
  KEY `municipios_id` (`municipios_id`),
  KEY `localidades_id` (`localidades_id`),
  KEY `colonias_id` (`colonias_id`),
  KEY `codigos_postales_id` (`codigos_postales_id`),
  KEY `paises_id` (`paises_id`),
  CONSTRAINT `empleados_ibfk_1` FOREIGN KEY (`departamentos_id`) REFERENCES `departamentos` (`id`),
  CONSTRAINT `empleados_ibfk_10` FOREIGN KEY (`remolquea_id`) REFERENCES `unidades` (`id`),
  CONSTRAINT `empleados_ibfk_11` FOREIGN KEY (`sucursales_id`) REFERENCES `sucursales` (`id`),
  CONSTRAINT `empleados_ibfk_2` FOREIGN KEY (`puestos_id`) REFERENCES `puestos` (`id`),
  CONSTRAINT `empleados_ibfk_3` FOREIGN KEY (`localidades_id`) REFERENCES `localidades` (`id`),
  CONSTRAINT `empleados_ibfk_4` FOREIGN KEY (`colonias_id`) REFERENCES `colonias` (`id`),
  CONSTRAINT `empleados_ibfk_5` FOREIGN KEY (`municipios_id`) REFERENCES `municipios` (`id`),
  CONSTRAINT `empleados_ibfk_6` FOREIGN KEY (`estados_id`) REFERENCES `estados` (`id`),
  CONSTRAINT `empleados_ibfk_7` FOREIGN KEY (`paises_id`) REFERENCES `paises` (`id`),
  CONSTRAINT `empleados_ibfk_8` FOREIGN KEY (`codigos_postales_id`) REFERENCES `codigos_postales` (`id`),
  CONSTRAINT `empleados_ibfk_9` FOREIGN KEY (`unidades_id`) REFERENCES `unidades` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `empleados`
--

INSERT INTO `empleados` VALUES (1,'1','David Gonzales Lopez','LOGD250992IC1','LOGD250992MHCRB00584',8,'1992-09-25','52-35698-5874','davidgolo@gmail.com','O+','Rubi','458','89',17758,17761,1714,459,2,1,'2025-09-01','Operadores',1,2,NULL,'',NULL,'Activo','JAQUELIN AGUILAR','52-4875-9898','','GT25659984',NULL,1000.00,NULL,'Semanal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'02','Gabriel Perez carrillo','PECG8704066Z3','',9,'1983-07-26','','','','SANTA ROSA','67','SN',33927,1,1805,275,1,1,'2025-11-04','Operadores',1,1,NULL,'',NULL,'Activo','','','','GFJHGGCGFCHG',7,1000.00,NULL,'Semanal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'','MATIAS PERZ','VSDGVSV654651234654','',9,'1994-12-08','','','','','','',113689,113692,1805,NULL,1,1,'2025-09-01','Repartidores',1,2,NULL,'',NULL,'Activo','','','','',NULL,NULL,NULL,'Semanal',10.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,'15','MANUEL GONZALEZ ACOSTA','MNG830726FGJH5T','MORM880930HJCRDG05',9,'1990-02-08','3315130224','davidgolo@gmail.com','O+','Sexta sur','5369','MZ 25',37286,37289,1805,275,1,NULL,'2025-09-01','Mecanicos',2,5,NULL,'',NULL,'Activo','','','','',NULL,NULL,NULL,'Catorcenal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `empleados_before_insert` BEFORE INSERT ON `empleados`
 FOR EACH ROW BEGIN

	IF NEW.tipo_empleado = 'Administrativos' OR NEW.tipo_empleado = 'Mecanicos' THEN
    	IF NEW.sueldo_diario > 0 AND NEW.tipo_periodo = 'Catorcenal' THEN
        	SET NEW.sueldo_fijo = NEW.sueldo_diario * 14;
        END IF;
        IF NEW.sueldo_diario > 0 AND NEW.tipo_periodo = 'Quincenal' THEN
        	SET NEW.sueldo_fijo = NEW.sueldo_diario * 15;
        END IF;
        IF NEW.sueldo_diario > 0 AND NEW.tipo_periodo = 'Semanal' THEN
        	SET NEW.sueldo_fijo = NEW.sueldo_diario * 7;
        END IF;
        IF NEW.sueldo_diario > 0 AND NEW.tipo_periodo = 'Mensual' THEN
        	SET NEW.sueldo_fijo = NEW.sueldo_diario * 30;
        END IF;
    END IF;
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `empleados_after_insert` AFTER INSERT ON `empleados`
 FOR EACH ROW BEGIN

	INSERT INTO empleados_tipo_documento (empleados_id, tipo_documento_id) SELECT NEW.id, tipo_documento.id FROM tipo_documento WHERE tipo_documento.grupo=NEW.tipo_empleado;
    
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `empleados_before_update` BEFORE UPDATE ON `empleados`
 FOR EACH ROW BEGIN

	IF NEW.tipo_empleado = 'Administrativos' OR NEW.tipo_empleado = 'Mecanicos' THEN
    	IF NEW.sueldo_diario > 0 AND NEW.tipo_periodo = 'Catorcenal' THEN
        	SET NEW.sueldo_fijo = NEW.sueldo_diario * 14;
        END IF;
        IF NEW.sueldo_diario > 0 AND NEW.tipo_periodo = 'Quincenal' THEN
        	SET NEW.sueldo_fijo = NEW.sueldo_diario * 15;
        END IF;
        IF NEW.sueldo_diario > 0 AND NEW.tipo_periodo = 'Semanal' THEN
        	SET NEW.sueldo_fijo = NEW.sueldo_diario * 7;
        END IF;
        IF NEW.sueldo_diario > 0 AND NEW.tipo_periodo = 'Mensual' THEN
        	SET NEW.sueldo_fijo = NEW.sueldo_diario * 30;
        END IF;
    END IF;
END */;;
DELIMITER ;

--
-- Table structure for table `empleados_bonos`
--

CREATE TABLE `empleados_bonos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `empleado_bono` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `sucursales_id` int(11) NOT NULL,
  `compras_administrativos_id` int(11) DEFAULT NULL,
  `empleados_id` int(11) NOT NULL,
  `estatus` varchar(20) NOT NULL,
  `comentarios` varchar(250) DEFAULT NULL,
  `importe` decimal(11,2) NOT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  KEY `fecha_hora` (`fecha_hora`),
  KEY `estatus` (`estatus`),
  KEY `bono` (`empleado_bono`) USING BTREE,
  KEY `empleados_id` (`empleados_id`) USING BTREE,
  KEY `compras_administrativos_id` (`compras_administrativos_id`) USING BTREE,
  KEY `sucursales_id` (`sucursales_id`),
  CONSTRAINT `empleados_bonos_ibfk_1` FOREIGN KEY (`compras_administrativos_id`) REFERENCES `compras_administrativos` (`id`),
  CONSTRAINT `empleados_bonos_ibfk_2` FOREIGN KEY (`empleados_id`) REFERENCES `empleados` (`id`),
  CONSTRAINT `empleados_bonos_ibfk_3` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `empleados_bonos_ibfk_4` FOREIGN KEY (`sucursales_id`) REFERENCES `sucursales` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `empleados_bonos`
--

INSERT INTO `empleados_bonos` VALUES (1,'SEB1','2026-02-09 17:19:12',9,NULL,3,'Autorizado','BONO PUNTUALIDAD',500.00,NULL,NULL);
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `empleados_bonos_before_insert` BEFORE INSERT ON `empleados_bonos`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

      SELECT gf_empleados_bonos(NEW.sucursales_id) INTO vFolio;

      SELECT gs_empleados_bonos(NEW.sucursales_id) INTO vSerie;

      SET NEW.empleado_bono = CONCAT(vSerie, vFolio);

      SET NEW.fecha_hora = NOW();

END */;;
DELIMITER ;

--
-- Table structure for table `empleados_tipo_documento`
--

CREATE TABLE `empleados_tipo_documento` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `empleados_id` int(11) NOT NULL,
  `tipo_documento_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `tipo_documento_id` (`tipo_documento_id`) USING BTREE,
  KEY `empleados_id` (`empleados_id`) USING BTREE,
  CONSTRAINT `empleados_tipo_documento_ibfk_1` FOREIGN KEY (`empleados_id`) REFERENCES `empleados` (`id`),
  CONSTRAINT `empleados_tipo_documento_ibfk_2` FOREIGN KEY (`tipo_documento_id`) REFERENCES `tipo_documento` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `empleados_tipo_documento`
--

INSERT INTO `empleados_tipo_documento` VALUES (1,1,1),(2,1,4),(4,2,1),(5,2,4),(6,4,6);

--
-- Table structure for table `empresas_custodia`
--

CREATE TABLE `empresas_custodia` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `empresa_custodia` varchar(100) NOT NULL,
  `asesor` varchar(100) DEFAULT NULL,
  `razon_social` varchar(20) DEFAULT NULL,
  `direccion` varchar(100) DEFAULT NULL,
  `telefono` varchar(20) DEFAULT NULL,
  `celular` varchar(20) DEFAULT NULL,
  `correo` varchar(100) DEFAULT NULL,
  `estados_id` int(11) DEFAULT NULL,
  `paises_id` int(11) DEFAULT NULL,
  `ciudad` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `estados_id` (`estados_id`),
  KEY `paises_id` (`paises_id`),
  CONSTRAINT `empresas_custodia_ibfk_1` FOREIGN KEY (`estados_id`) REFERENCES `estados` (`id`),
  CONSTRAINT `empresas_custodia_ibfk_2` FOREIGN KEY (`paises_id`) REFERENCES `paises` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `empresas_custodia`
--


--
-- Table structure for table `estaciones`
--

CREATE TABLE `estaciones` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `estacion` varchar(100) NOT NULL,
  `descripcion` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `estaciones`
--


--
-- Table structure for table `estados`
--

CREATE TABLE `estados` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `estado` varchar(50) NOT NULL,
  `abreviatura` varchar(10) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `estado` (`estado`)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `estados`
--

INSERT INTO `estados` VALUES (1,'Jalisco','JAL'),(2,'Estado de Mexico','MEX'),(3,'Aguascalientes','AGU'),(4,'Baja California','BCN'),(5,'Baja California Sur','BCS'),(6,'Campeche','CAM'),(7,'Chiapas','CHP'),(8,'Chihuahua','CHH'),(9,'Coahuila','COA'),(10,'Colima','COL'),(11,'Ciudad de México','CMX'),(12,'Durango','DUR'),(13,'Guanajuato','GUA'),(14,'Guerrero','GRO'),(15,'Hidalgo','HID'),(16,'Michoacán','MIC'),(17,'Morelos','MOR'),(18,'Nayarit','NAY'),(19,'Nuevo León','NLE'),(20,'Oaxaca','OAX'),(21,'Puebla','PUE'),(22,'Querétaro','QUE'),(23,'Quintana Roo','ROO'),(24,'San Luis Potosí','SLP'),(25,'Sinaloa','SIN'),(26,'Sonora','SON'),(27,'Tabasco','TAB'),(28,'Tamaulipas','TAM'),(29,'Tlaxcala','TLA'),(30,'Veracruz','VER'),(31,'Yucatan','YUC'),(32,'Zacatecas','ZAC');

--
-- Table structure for table `estatus_monitoreo`
--

CREATE TABLE `estatus_monitoreo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `estatus_monitoreo` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `estatus_monitoreo`
--

INSERT INTO `estatus_monitoreo` VALUES (1,'Cita de Carga'),(2,'Inicio de ruta'),(3,'Arribo con remitente'),(4,'Inicio de carga'),(5,'TÃ©rmino de carga'),(6,'Salida de remitente '),(7,'Arribo con destinatario'),(8,'Inicio de descarga'),(9,'TÃ©rmino de descarga'),(10,'Salida de destinatario'),(11,'En ruta cargado'),(12,'Retorno de contenedores vacios'),(13,'Llegada a puerto'),(14,'Terminado'),(15,'Estatus'),(16,'Arribo Patio Gdl'),(17,'Arribo Patio Mzo'),(18,'En ruta vacio'),(19,'Parada autorizada (WC)'),(20,'Parada no autorizada'),(21,'DesvÃ­o de ruta'),(22,'Parada autorizada (Para comer o comprar alimentos)'),(23,'Fin de monitoreo'),(24,'Parada a WC'),(25,'Parada  A WC');

--
-- Table structure for table `eventos_monitoreo`
--

CREATE TABLE `eventos_monitoreo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fecha_hora` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `remisiones_id` int(11) NOT NULL,
  `estatus_monitoreo_id` int(11) DEFAULT NULL,
  `estatus_monitoreo_anterior_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `remisiones_id` (`remisiones_id`),
  KEY `estatus_monitoreo_id` (`estatus_monitoreo_id`) USING BTREE,
  KEY `estatus_monitoreo_anterior_id` (`estatus_monitoreo_anterior_id`) USING BTREE,
  CONSTRAINT `eventos_monitoreo_ibfk_1` FOREIGN KEY (`remisiones_id`) REFERENCES `remisiones` (`id`),
  CONSTRAINT `eventos_monitoreo_ibfk_2` FOREIGN KEY (`estatus_monitoreo_id`) REFERENCES `estatus_monitoreo` (`id`),
  CONSTRAINT `eventos_monitoreo_ibfk_3` FOREIGN KEY (`estatus_monitoreo_anterior_id`) REFERENCES `estatus_monitoreo` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `eventos_monitoreo`
--


--
-- Table structure for table `eventos_monitoreo_permisionarios`
--

CREATE TABLE `eventos_monitoreo_permisionarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fecha_hora` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `remisiones_permisionarios_id` int(11) NOT NULL,
  `estatus_monitoreo_id` int(11) DEFAULT NULL,
  `estatus_monitoreo_anterior_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `estatus_monitoreo_id` (`estatus_monitoreo_id`) USING BTREE,
  KEY `estatus_monitoreo_anterior_id` (`estatus_monitoreo_anterior_id`) USING BTREE,
  KEY `remisiones_permisionarios_id` (`remisiones_permisionarios_id`) USING BTREE,
  CONSTRAINT `eventos_monitoreo_permisionarios_ibfk_1` FOREIGN KEY (`remisiones_permisionarios_id`) REFERENCES `remisiones_permisionarios` (`id`),
  CONSTRAINT `eventos_monitoreo_permisionarios_ibfk_2` FOREIGN KEY (`estatus_monitoreo_id`) REFERENCES `estatus_monitoreo` (`id`),
  CONSTRAINT `eventos_monitoreo_permisionarios_ibfk_3` FOREIGN KEY (`estatus_monitoreo_anterior_id`) REFERENCES `estatus_monitoreo` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `eventos_monitoreo_permisionarios`
--


--
-- Table structure for table `facturas`
--

CREATE TABLE `facturas` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `factura` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `tipo_factura` varchar(10) DEFAULT NULL,
  `moneda` varchar(20) CHARACTER SET utf8 NOT NULL,
  `tipo_cambio` decimal(11,2) NOT NULL,
  `abonos_id` int(11) DEFAULT NULL,
  `sucursales_id` int(11) NOT NULL,
  `razones_sociales_id` int(11) DEFAULT NULL,
  `impuestos` varchar(20) DEFAULT NULL,
  `lleva_complemento` varchar(3) DEFAULT NULL,
  `estatus` varchar(20) NOT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `clientes_id` int(11) NOT NULL,
  `tipo_flete` varchar(20) DEFAULT NULL,
  `clave_usocfdi_id` int(11) DEFAULT NULL,
  `forma_pago_facturada` varchar(50) DEFAULT NULL,
  `fecha_timbrado` datetime DEFAULT NULL,
  `uuid` varchar(50) DEFAULT NULL,
  `remitente_id` int(11) DEFAULT NULL,
  `destinatario_id` int(11) DEFAULT NULL,
  `comentarios` varchar(250) DEFAULT NULL,
  `facturas_relacionadas_id` int(11) DEFAULT NULL,
  `saldo` decimal(11,2) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  `factura_pdf` longblob,
  `nombre_documento` varchar(100) DEFAULT NULL,
  `serie_certificado_csd` varchar(255) DEFAULT NULL,
  `serie_certificado_sat` varchar(255) DEFAULT NULL,
  `sello_sat` varchar(1000) DEFAULT NULL,
  `sello_cfd` varchar(1000) DEFAULT NULL,
  `cadena_original` varchar(1000) DEFAULT NULL,
  `unidad_medida` varchar(100) DEFAULT NULL,
  `codigo_qr_txt` varchar(500) DEFAULT NULL,
  `codigo_qr` longblob,
  `factura_xml` mediumblob,
  `cfdi` varchar(255) DEFAULT NULL,
  `es_cancelable` varchar(50) DEFAULT NULL,
  `estatus_cancelacion` varchar(50) DEFAULT NULL,
  `cfdi_mensajes` varchar(255) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  `fecha_cancelacion_sat` datetime DEFAULT NULL,
  `factura_cancelacion_pdf` longblob,
  `sello_sat_cancelacion` varchar(255) DEFAULT NULL,
  `serie` varchar(5) DEFAULT NULL,
  `folio` int(11) DEFAULT NULL,
  `campo` varchar(33) DEFAULT NULL,
  `remisionesextras_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `clientes_id` (`clientes_id`),
  KEY `remitente_id` (`remitente_id`),
  KEY `destinatario_id` (`destinatario_id`),
  KEY `abonos_id` (`abonos_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  KEY `factura` (`factura`),
  KEY `clave_usocfdi_id` (`clave_usocfdi_id`),
  KEY `folio` (`folio`),
  KEY `fecha_hora` (`fecha_hora`),
  KEY `estatus` (`estatus`),
  KEY `moneda` (`moneda`),
  KEY `facturas_relacionadas_id` (`facturas_relacionadas_id`) USING BTREE,
  KEY `sucursales_id` (`sucursales_id`),
  KEY `razon_social_id` (`id`) USING BTREE,
  KEY `facturas_ibfk_47` (`razones_sociales_id`),
  KEY `remisionesextras_id` (`remisionesextras_id`),
  CONSTRAINT `facturas_ibfk_1` FOREIGN KEY (`abonos_id`) REFERENCES `abonos` (`id`),
  CONSTRAINT `facturas_ibfk_10` FOREIGN KEY (`remisionesextras_id`) REFERENCES `remisiones` (`id`),
  CONSTRAINT `facturas_ibfk_2` FOREIGN KEY (`sucursales_id`) REFERENCES `sucursales` (`id`),
  CONSTRAINT `facturas_ibfk_3` FOREIGN KEY (`causas_cancelacion_id`) REFERENCES `causas_cancelacion` (`id`),
  CONSTRAINT `facturas_ibfk_4` FOREIGN KEY (`clientes_id`) REFERENCES `clientes` (`id`),
  CONSTRAINT `facturas_ibfk_5` FOREIGN KEY (`clave_usocfdi_id`) REFERENCES `clave_usocfdi` (`id`),
  CONSTRAINT `facturas_ibfk_6` FOREIGN KEY (`remitente_id`) REFERENCES `direcciones` (`id`),
  CONSTRAINT `facturas_ibfk_7` FOREIGN KEY (`destinatario_id`) REFERENCES `direcciones` (`id`),
  CONSTRAINT `facturas_ibfk_8` FOREIGN KEY (`facturas_relacionadas_id`) REFERENCES `facturas` (`id`),
  CONSTRAINT `facturas_ibfk_9` FOREIGN KEY (`razones_sociales_id`) REFERENCES `razones_sociales` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `facturas`
--

INSERT INTO `facturas` VALUES (1,'SF1','2025-11-12 19:04:23','Fiscal','Pesos',1.00,NULL,8,1,'Normal','No','Capturada',NULL,NULL,1,'PPD',1,'99 Por definir',NULL,'',NULL,NULL,'',NULL,1.12,1.00,0.16,0.04,1.12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SF',1,NULL,NULL),(2,'FAT1','2025-11-12 19:05:47','Fiscal','Pesos',1.00,3,8,1,'Normal','No','Timbrada',NULL,NULL,5,'PPD',1,'99 Por definir','2025-11-12 13:29:08','C0431506-8E54-4F2F-91C8-6E3576AD78A7',1,2,'',NULL,0.12,1.00,0.16,0.04,1.12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2025-11-27',NULL,NULL,NULL,'FAT',1,NULL,NULL),(3,'FAT2','2025-12-15 19:03:33','Fiscal','Pesos',1.00,NULL,8,1,'Normal','Si','Capturada',NULL,NULL,5,'PUE',1,'99 Por definir',NULL,'',2,2,'',NULL,1177.40,1015.00,162.40,0.00,1177.40,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'FAT',2,NULL,NULL),(4,'SF2','2025-12-22 16:23:50','Fiscal','Pesos',1.00,NULL,9,1,NULL,'Si','Capturada',NULL,NULL,3,NULL,NULL,NULL,NULL,NULL,4,3,'',NULL,NULL,25000.00,2400.00,0.00,27400.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SF',2,NULL,NULL),(5,'SF3','2026-01-08 20:46:32','Fiscal','Pesos',1.00,NULL,9,1,'Normal','Si','Capturada',NULL,NULL,5,'PPD',1,'99 Por definir',NULL,'',2,1,'NA',NULL,15000.00,15000.00,0.00,0.00,15000.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SF',3,NULL,NULL),(6,'GA4','2026-01-10 03:59:56','Fiscal','Pesos',1.00,NULL,9,1,'Normal','No','Capturada',NULL,NULL,5,'PPD',1,'99 Por definir','2026-01-09 22:01:04','6047EB65-24A1-43CC-92C0-7F1F54918277',2,1,'NA',NULL,15000.00,15000.00,0.00,0.00,15000.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2026-01-24',NULL,NULL,NULL,'GA',4,NULL,NULL),(7,'GA5','2026-01-10 04:06:00','Fiscal','Pesos',1.00,NULL,9,1,'Normal','Si','Timbrada',NULL,NULL,5,'PPD',1,'99 Por definir','2026-01-09 22:18:45','7D9B7F39-59B5-4D27-93D6-AEF9AC1D7792',2,1,'NA',NULL,15000.00,15000.00,0.00,0.00,15000.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2026-01-24',NULL,NULL,NULL,'GA',5,NULL,NULL),(8,'GA6','2026-01-10 17:39:03','Fiscal','Pesos',1.00,5,9,1,'Normal','Si','Timbrada',NULL,NULL,5,'PPD',1,'99 Por definir','2026-01-10 11:43:49','7EFF1B94-D593-4488-9FE5-E3AC04C79BB2',2,1,'',NULL,10000.00,20000.00,0.00,0.00,20000.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2026-01-25',NULL,NULL,NULL,'GA',6,NULL,NULL),(9,'GA7','2026-01-19 17:22:23','Fiscal','Pesos',1.00,NULL,9,1,'Normal','Si','Capturada',NULL,NULL,5,'PPD',1,'99 Por definir',NULL,'',2,1,'NA',NULL,15000.00,15000.00,0.00,0.00,15000.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GA',7,NULL,NULL),(10,'GA8','2026-01-23 00:08:26','Fiscal','Pesos',1.00,NULL,9,1,'Normal','No','Valida',NULL,NULL,5,'PPD',1,'99 Por definir','2026-01-22 18:12:51','AC697300-111C-4B2C-86C8-65249632A860',2,1,'',NULL,1.16,1.00,0.16,0.00,1.16,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'En proceso',NULL,'2026-02-06',NULL,NULL,NULL,'GA',8,NULL,NULL),(11,'GA9','2026-01-23 00:17:37','Fiscal','Pesos',1.00,5,9,1,'Normal','Si','Timbrada',NULL,NULL,5,'PPD',1,'99 Por definir','2026-01-22 18:28:28','04AC3DF1-18B9-4236-B385-87F3BE0FD10B',2,1,'',NULL,0.00,1.00,0.16,0.00,1.16,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2026-02-06',NULL,NULL,NULL,'GA',9,NULL,NULL),(12,'GA10','2026-02-17 18:49:06','Fiscal','Pesos',1.00,NULL,9,1,'Normal','No','Capturada',NULL,NULL,5,'PPD',1,'99 Por definir',NULL,'',2,2,'',NULL,0.00,0.00,0.00,0.00,0.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GA',10,NULL,NULL),(13,'GA11','2026-02-17 18:52:56','Fiscal','Pesos',1.00,NULL,9,1,'Normal','No','Capturada',NULL,NULL,5,'PPD',1,'99 Por definir',NULL,'',2,2,'',NULL,0.00,0.00,0.00,0.00,0.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GA',11,NULL,NULL),(14,'GA12','2026-02-17 18:58:02','Fiscal','Pesos',1.00,NULL,9,1,'Normal','No','Capturada',NULL,NULL,5,'PPD',1,'99 Por definir',NULL,'',2,2,'',NULL,18000.00,18000.00,0.00,0.00,18000.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GA',12,NULL,NULL),(15,'FAT3','2026-02-26 19:30:05','Fiscal','Pesos',1.00,NULL,8,2,'Normal','Si','Capturada',NULL,NULL,2,'PPD',1,'99 Por definir',NULL,'',3,4,'',NULL,11000.00,11000.00,0.00,0.00,11000.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'FAT',3,NULL,NULL),(16,'FAT4','2026-02-26 19:39:14','Fiscal','Pesos',1.00,NULL,8,2,NULL,'Si','Capturada',NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,3,4,'',NULL,NULL,11000.00,0.00,0.00,11000.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'FAT',4,NULL,NULL),(17,'GA13','2026-03-03 17:55:18','Fiscal','Pesos',1.00,NULL,9,1,'Normal','Si','Pagada sin Timbrar',NULL,NULL,5,'PPD',1,'99 Por definir',NULL,'',2,2,'',NULL,24000.00,24000.00,0.00,0.00,24000.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2026-04-02',NULL,NULL,NULL,'GA',13,NULL,NULL),(18,'FAT5','2026-04-16 16:31:06','Fiscal','Pesos',1.00,NULL,8,1,'Normal','Si','Timbrada',NULL,NULL,5,'PUE',1,'99 Por definir','2026-04-16 18:25:06','00862E54-F2BF-4031-9B6E-9EC2E8D66695',5,2,'',NULL,18328.00,15800.00,2528.00,0.00,18328.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2026-05-01',NULL,NULL,NULL,'FAT',5,NULL,NULL),(19,'GA14','2026-04-20 16:35:42','Fiscal','Pesos',1.00,NULL,9,1,'Normal','No','Timbrada',NULL,NULL,5,'PPD',1,'99 Por definir','2026-04-20 18:17:01','C8E523CD-4B09-4960-9091-E4FD95ED7552',1,2,'',NULL,22400.00,20000.00,3200.00,800.00,22400.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2026-05-05',NULL,NULL,NULL,'GA',14,NULL,NULL),(20,'FNT1','2026-04-21 17:18:10','NoFiscal','Pesos',1.00,NULL,8,1,NULL,'Si','Capturada',NULL,NULL,5,NULL,NULL,NULL,NULL,NULL,2,5,'',NULL,NULL,15800.00,2528.00,632.00,17696.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'FNT',1,NULL,NULL),(21,'FAT6','2026-04-21 17:57:14','Fiscal','Pesos',1.00,NULL,8,1,'Normal','No','Timbrada',NULL,NULL,5,'PPD',1,'99 Por definir','2026-04-21 11:57:38','929C9584-5CC9-449F-85BE-C0D7EAFCDA08',2,5,'',NULL,1450.00,1250.00,200.00,0.00,1450.00,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2026-05-06',NULL,NULL,NULL,'FAT',6,NULL,NULL);
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `facturas_before_insert` BEFORE INSERT ON `facturas`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

	IF NEW.tipo_factura = 'Fiscal' THEN
      SELECT gf_facturas(NEW.sucursales_id) INTO vFolio;

      SELECT gs_facturas(NEW.sucursales_id) INTO vSerie;
	ELSE
      SELECT gf_facturas_nofiscales(NEW.sucursales_id) INTO vFolio;

      SELECT gs_facturas_nofiscales(NEW.sucursales_id) INTO vSerie;    
    END IF;

      SET NEW.factura=CONCAT(vSerie, vFolio);

      SET NEW.fecha_hora = SYSDATE();

	  SET NEW.serie=vSerie;
      SET NEW.folio=vFolio;
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `facturas_after_insert` AFTER INSERT ON `facturas`
 FOR EACH ROW BEGIN

    INSERT INTO facturas_archivos (facturas_id) VALUES (NEW.id) ;
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `facturas_before_update` BEFORE UPDATE ON `facturas`
 FOR EACH ROW BEGIN

	DECLARE dias INT(11);

	IF (NEW.estatus LIKE 'Timbrada' AND OLD.estatus <> 'Timbrada') THEN
	SET NEW.saldo = NEW.total;
    SELECT COALESCE(s.dias_credito,0) FROM clientes s WHERE s.id=NEW.clientes_id INTO dias;
    	IF (dias > 0) THEN
			SET NEW.fecha_vencimiento = DATE_ADD(CURDATE(), INTERVAL dias DAY);
    	ELSE 
        	SET NEW.fecha_vencimiento = CURDATE();
        END IF;
	END IF;

	IF (NEW.estatus LIKE 'Pagada sin Timbrar' AND OLD.estatus <> 'Pagada sin Timbrar') THEN
	SET NEW.saldo = NEW.total;
    SELECT COALESCE(s.dias_credito,0) FROM clientes s WHERE s.id=NEW.clientes_id INTO dias;
    	IF (dias > 0) THEN
			SET NEW.fecha_vencimiento = DATE_ADD(CURDATE(), INTERVAL dias DAY);
        ELSE 
        	SET NEW.fecha_vencimiento = CURDATE();
        END IF;
	END IF;
    
END */;;
DELIMITER ;

--
-- Table structure for table `facturas_activos`
--

CREATE TABLE `facturas_activos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `factura_activo` varchar(20) DEFAULT NULL,
  `fecha_hora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `moneda` varchar(20) CHARACTER SET utf8 NOT NULL,
  `tipo_cambio` decimal(11,2) NOT NULL,
  `abonos_activos_id` int(11) DEFAULT NULL,
  `estatus` varchar(20) NOT NULL,
  `fecha_cancelacion` date DEFAULT NULL,
  `causas_cancelacion_id` int(11) DEFAULT NULL,
  `clientes_id` int(11) NOT NULL,
  `solicito` varchar(100) DEFAULT NULL,
  `tipo_flete` varchar(20) DEFAULT NULL,
  `clave_usocfdi_id` int(11) DEFAULT NULL,
  `fecha_timbrado` datetime DEFAULT NULL,
  `uuid` varchar(50) DEFAULT NULL,
  `comentarios` varchar(250) DEFAULT NULL,
  `saldo` decimal(11,2) DEFAULT NULL,
  `subtotal` decimal(11,2) DEFAULT NULL,
  `iva` decimal(11,2) DEFAULT NULL,
  `retencion` decimal(11,2) DEFAULT NULL,
  `total` decimal(11,2) DEFAULT NULL,
  `factura_pdf` longblob,
  `nombre_documento` varchar(100) DEFAULT NULL,
  `serie_certificado_csd` varchar(255) DEFAULT NULL,
  `serie_certificado_sat` varchar(255) DEFAULT NULL,
  `sello_sat` varchar(1000) DEFAULT NULL,
  `sello_cfd` varchar(1000) DEFAULT NULL,
  `cadena_original` varchar(1000) DEFAULT NULL,
  `unidad_medida` varchar(100) DEFAULT NULL,
  `codigo_qr_txt` varchar(500) DEFAULT NULL,
  `codigo_qr` longblob,
  `factura_xml` mediumblob,
  `cfdi` varchar(255) DEFAULT NULL,
  `es_cancelable` varchar(50) DEFAULT NULL,
  `estatus_cancelacion` varchar(50) DEFAULT NULL,
  `cfdi_mensajes` varchar(255) DEFAULT NULL,
  `fecha_vencimiento` date DEFAULT NULL,
  `fecha_cancelacion_sat` datetime DEFAULT NULL,
  `factura_cancelacion_pdf` longblob,
  `sello_sat_cancelacion` varchar(255) DEFAULT NULL,
  `forma_pago_facturada` varchar(50) DEFAULT NULL,
  `serie` varchar(5) DEFAULT NULL,
  `folio` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `clientes_id` (`clientes_id`),
  KEY `causas_cancelacion_id` (`causas_cancelacion_id`),
  KEY `clave_usocfdi_id` (`clave_usocfdi_id`),
  KEY `folio` (`folio`),
  KEY `fecha_hora` (`fecha_hora`),
  KEY `estatus` (`estatus`),
  KEY `moneda` (`moneda`),
  KEY `abonos_activos_id` (`abonos_activos_id`) USING BTREE,
  KEY `factura_activo` (`factura_activo`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `facturas_activos`
--

DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `facturas_activos_before_insert` BEFORE INSERT ON `facturas_activos`
 FOR EACH ROW BEGIN

   DECLARE vFolio INT(11);
   DECLARE vSerie VARCHAR(3);

   SELECT nextval('facturas_activos') INTO vFolio;

   SELECT getserie('facturas_activos') INTO vSerie;

   SET NEW.factura_activo=CONCAT(vSerie, vFolio);

   SET NEW.fecha_hora = SYSDATE();
   
   SET NEW.serie=vSerie;
   SET NEW.folio=vFolio;
   
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `facturas_activos_after_insert` AFTER INSERT ON `facturas_activos`
 FOR EACH ROW BEGIN

    INSERT INTO facturas_activos_archivos (facturas_activos_id) VALUES (NEW.id) ;
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `facturas_activos_before_update` BEFORE UPDATE ON `facturas_activos`
 FOR EACH ROW BEGIN

	DECLARE dias INT(11);

	IF (NEW.estatus LIKE 'Timbrada' AND OLD.estatus <> 'Timbrada') THEN
	SET NEW.saldo = NEW.total;
    SELECT COALESCE(s.dias_credito,0) FROM clientes s WHERE s.id=NEW.clientes_id INTO dias;
		SET NEW.fecha_vencimiento = DATE_ADD(CURDATE(), INTERVAL dias DAY);
	END IF;

	IF (NEW.estatus LIKE 'Pagada sin Timbrar' AND OLD.estatus <> 'Pagada sin Timbrar') THEN
	SET NEW.saldo = NEW.total;
    SELECT COALESCE(s.dias_credito,0) FROM clientes s WHERE s.id=NEW.clientes_id INTO dias;
		SET NEW.fecha_vencimiento = DATE_ADD(CURDATE(), INTERVAL dias DAY);
	END IF;
    
END */;;
DELIMITER ;

--
-- Table structure for table `facturas_activos_archivos`
--

CREATE TABLE `facturas_activos_archivos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `facturas_activos_id` int(11) NOT NULL,
  `factura_pdf` longblob,
  `serie_certificado_csd` varchar(255) DEFAULT NULL,
  `serie_certificado_sat` varchar(255) DEFAULT NULL,
  `sello_sat` varchar(1000) DEFAULT NULL,
  `sello_cfd` varchar(1000) DEFAULT NULL,
  `cadena_original` varchar(1000) DEFAULT NULL,
  `unidad_medida` varchar(100) DEFAULT NULL,
  `codigo_qr_txt` varchar(500) DEFAULT NULL,
  `codigo_qr` longblob,
  `factura_xml` mediumblob,
  `cfdi` varchar(255) DEFAULT NULL,
  `es_cancelable` varchar(50) DEFAULT NULL,
  `estatus_cancelacion` varchar(50) DEFAULT NULL,
  `cfdi_mensajes` varchar(255) DEFAULT NULL,
  `fecha_cancelacion_sat` datetime DEFAULT NULL,
  `factura_cancelacion_pdf` longblob,
  `sello_sat_cancelacion` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `facturas_activos_id` (`facturas_activos_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `facturas_activos_archivos`
--


--
-- Table structure for table `facturas_activos_detalle`
--

CREATE TABLE `facturas_activos_detalle` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cantidad` int(11) NOT NULL,
  `facturas_activos_id` int(11) NOT NULL,
  `conceptos_cobro_activos_id` int(11) DEFAULT NULL,
  `clave_prodserv_id` int(11) DEFAULT NULL,
  `clave_unidad_id` int(11) DEFAULT NULL,
  `descripcion` varchar(200) DEFAULT NULL,
  `valor_unitario` decimal(11,2) NOT NULL,
  `porc_iva` int(11) NOT NULL,
  `porc_retencion` int(11) NOT NULL,
  `importe` decimal(11,2) NOT NULL,
  `subtotal` decimal(11,2) NOT NULL,
  `iva` decimal(11,2) NOT NULL,
  `retencion` decimal(11,2) NOT NULL,
  `total` decimal(11,2) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `facturas_activos_id` (`facturas_activos_id`) USING BTREE,
  KEY `conceptos_cobro_activos_id` (`conceptos_cobro_activos_id`) USING BTREE,
  KEY `clave_prodserv_id` (`clave_prodserv_id`),
  KEY `clave_unidad_id` (`clave_unidad_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `facturas_activos_detalle`
--


--
-- Table structure for table `facturas_archivos`
--

CREATE TABLE `facturas_archivos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `facturas_id` int(11) NOT NULL,
  `factura_pdf` longblob,
  `serie_certificado_csd` varchar(255) DEFAULT NULL,
  `serie_certificado_sat` varchar(255) DEFAULT NULL,
  `sello_sat` varchar(1000) DEFAULT NULL,
  `sello_cfd` varchar(1000) DEFAULT NULL,
  `cadena_original` varchar(1000) DEFAULT NULL,
  `unidad_medida` varchar(100) DEFAULT NULL,
  `codigo_qr_txt` varchar(500) DEFAULT NULL,
  `codigo_qr_txt2` varchar(500) DEFAULT NULL,
  `codigo_qr` longblob,
  `factura_xml` mediumblob,
  `cfdi` varchar(255) DEFAULT NULL,
  `es_cancelable` varchar(50) DEFAULT NULL,
  `estatus_cancelacion` varchar(50) DEFAULT NULL,
  `cfdi_mensajes` varchar(1000) DEFAULT NULL,
  `fecha_cancelacion_sat` datetime DEFAULT NULL,
  `factura_cancelacion_pdf` longblob,
  `sello_sat_cancelacion` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `facturas_id` (`facturas_id`),
  CONSTRAINT `facturas_archivos_ibfk_1` FOREIGN KEY (`facturas_id`) REFERENCES `facturas` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `facturas_archivos`
--

INSERT INTO `facturas_archivos` VALUES (1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'-1comprobante con folio: SF1 ya se encuentra registrado',NULL,NULL,NULL),(2,2,_binary '[encoded data, 321154 characters]