-- -------------------------------------------------------- -- Host: 127.0.0.1 -- Versión del servidor: 5.5.28 - MySQL Community Server (GPL) -- SO del servidor: Win32 -- HeidiSQL Versión: 9.1.0.4867 -- -------------------------------------------------------- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET NAMES utf8mb4 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -- Volcando estructura de base de datos para myproject CREATE DATABASE IF NOT EXISTS `myproject` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `myproject`; -- Volcando estructura para tabla myproject.almacenes DROP TABLE IF EXISTS `almacenes`; CREATE TABLE IF NOT EXISTS `almacenes` ( `AlmacenID` char(3) NOT NULL, `Almacen` char(30) DEFAULT '', `Bloqueado` tinyint(1) DEFAULT '0', PRIMARY KEY (`AlmacenID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.almacenes: ~2 rows (aproximadamente) DELETE FROM `almacenes`; /*!40000 ALTER TABLE `almacenes` DISABLE KEYS */; INSERT INTO `almacenes` (`AlmacenID`, `Almacen`, `Bloqueado`) VALUES ('000', 'PRINCIPAL', 1), ('001', 'ALMACEN 1', 0); /*!40000 ALTER TABLE `almacenes` ENABLE KEYS */; -- Volcando estructura para tabla myproject.bancos DROP TABLE IF EXISTS `bancos`; CREATE TABLE IF NOT EXISTS `bancos` ( `BancoID` smallint(4) NOT NULL, `Banco` char(30) DEFAULT '', PRIMARY KEY (`BancoID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.bancos: ~4 rows (aproximadamente) DELETE FROM `bancos`; /*!40000 ALTER TABLE `bancos` DISABLE KEYS */; INSERT INTO `bancos` (`BancoID`, `Banco`) VALUES (1, 'BCO. CREDITO'), (2, 'BCO. CONTINENTAL'), (3, 'BCO. INTERBANK'), (4, 'BCO. SCOTTIA'); /*!40000 ALTER TABLE `bancos` ENABLE KEYS */; -- Volcando estructura para tabla myproject.cajas DROP TABLE IF EXISTS `cajas`; CREATE TABLE IF NOT EXISTS `cajas` ( `CajaID` smallint(6) NOT NULL, `TerminalID` smallint(6) NOT NULL DEFAULT '0', `TurnoID` smallint(6) NOT NULL DEFAULT '0', `Fecha` date NOT NULL DEFAULT '0000-00-00', `Hora` time DEFAULT NULL, `Inicial1` decimal(10,2) DEFAULT '0.00', `Inicial2` decimal(10,2) DEFAULT '0.00', `Saldo1` decimal(10,2) DEFAULT '0.00', `Saldo2` decimal(10,2) DEFAULT '0.00', `CajeroID` smallint(6) DEFAULT NULL, `Estado` enum('0','1') DEFAULT '0', PRIMARY KEY (`CajaID`), KEY `fk_cajas_turnos` (`TurnoID`) USING BTREE, KEY `fk_cajas_terminales` (`TerminalID`), CONSTRAINT `fk_cajas_terminales` FOREIGN KEY (`TerminalID`) REFERENCES `terminales` (`TerminalID`) ON UPDATE CASCADE, CONSTRAINT `fk_cajas_turnos` FOREIGN KEY (`TurnoID`) REFERENCES `turnos` (`TurnoID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.cajas: ~1 rows (aproximadamente) DELETE FROM `cajas`; /*!40000 ALTER TABLE `cajas` DISABLE KEYS */; INSERT INTO `cajas` (`CajaID`, `TerminalID`, `TurnoID`, `Fecha`, `Hora`, `Inicial1`, `Inicial2`, `Saldo1`, `Saldo2`, `CajeroID`, `Estado`) VALUES (1, 1, 1, '2015-08-10', '19:35:10', 0.00, 0.00, 0.00, 0.00, 1, '0'); /*!40000 ALTER TABLE `cajas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.cajas_lineas DROP TABLE IF EXISTS `cajas_lineas`; CREATE TABLE IF NOT EXISTS `cajas_lineas` ( `CajaID` int(11) NOT NULL DEFAULT '0', `UniqueID` varchar(11) NOT NULL DEFAULT '', `Fecha` date NOT NULL DEFAULT '0000-00-00', `Hora` time NOT NULL DEFAULT '00:00:00', `Tipo` enum('E','S') DEFAULT 'E', `OrigenID` char(4) DEFAULT '', `ReferenciaID` int(11) DEFAULT NULL, `ClienteID` int(11) DEFAULT '0', `ProveedorID` int(11) DEFAULT '0', `Concepto` char(100) DEFAULT '', `Glosa` char(100) DEFAULT '', `DocumentoID` char(3) DEFAULT '', `NumDocumento` char(15) DEFAULT '', `TipoPago` tinyint(4) DEFAULT '1', `MonedaID` char(3) NOT NULL DEFAULT '', `Cambio` decimal(4,3) DEFAULT '0.000', `Efectivo` decimal(10,2) DEFAULT '0.00', `Tarjeta` decimal(10,2) DEFAULT '0.00', `Cheque` decimal(10,2) DEFAULT '0.00', `ACuenta` decimal(10,2) DEFAULT '0.00', `Importe` decimal(10,2) DEFAULT '0.00', PRIMARY KEY (`CajaID`,`UniqueID`), KEY `fk_cajas_lineas_documentos` (`DocumentoID`) USING BTREE, KEY `fk_cajas_lineas_monedas` (`MonedaID`) USING BTREE, KEY `ix_cajas_lineas_docnumero` (`OrigenID`,`DocumentoID`,`NumDocumento`) USING BTREE, CONSTRAINT `fk_cajas_lineas_cajas_origenes` FOREIGN KEY (`OrigenID`) REFERENCES `cajas_origenes` (`OrigenID`) ON UPDATE CASCADE, CONSTRAINT `fk_cajas_lineas_documentos` FOREIGN KEY (`DocumentoID`) REFERENCES `documentos` (`DocumentoID`) ON UPDATE CASCADE, CONSTRAINT `fk_cajas_lineas_monedas` FOREIGN KEY (`MonedaID`) REFERENCES `monedas` (`MonedaID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.cajas_lineas: ~0 rows (aproximadamente) DELETE FROM `cajas_lineas`; /*!40000 ALTER TABLE `cajas_lineas` DISABLE KEYS */; /*!40000 ALTER TABLE `cajas_lineas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.cajas_origenes DROP TABLE IF EXISTS `cajas_origenes`; CREATE TABLE IF NOT EXISTS `cajas_origenes` ( `OrigenID` char(4) NOT NULL DEFAULT '', `Origen` char(30) DEFAULT '', PRIMARY KEY (`OrigenID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.cajas_origenes: ~10 rows (aproximadamente) DELETE FROM `cajas_origenes`; /*!40000 ALTER TABLE `cajas_origenes` DISABLE KEYS */; INSERT INTO `cajas_origenes` (`OrigenID`, `Origen`) VALUES ('0100', 'INGRESOS'), ('0101', 'VENTAS'), ('0102', 'NOTAS CREDITOS'), ('0103', 'COBRANZAS'), ('0199', 'OTROS INGRESOS'), ('0200', 'GASTOS'), ('0201', 'COMPRAS'), ('0202', 'NOTAS CREDITOS'), ('0203', 'PAGOS'), ('0299', 'OTROS GASTOS'); /*!40000 ALTER TABLE `cajas_origenes` ENABLE KEYS */; -- Volcando estructura para tabla myproject.clientes DROP TABLE IF EXISTS `clientes`; CREATE TABLE IF NOT EXISTS `clientes` ( `ClienteID` int(11) NOT NULL, `IdentidadID` varchar(3) DEFAULT NULL, `NumIdentidad` varchar(15) DEFAULT NULL, `Cliente` varchar(50) DEFAULT '', `Contacto` varchar(50) DEFAULT '', `Direccion` varchar(50) DEFAULT '', `DptoID` smallint(4) DEFAULT '0', `ProvinciaID` smallint(4) DEFAULT '0', `DistritoID` smallint(4) DEFAULT '0', `Telefono1` varchar(30) DEFAULT '', `Telefono2` varchar(30) DEFAULT '', `Telefono3` varchar(30) DEFAULT '', `Correo1` varchar(30) DEFAULT '', `Correo2` varchar(30) DEFAULT '', `Correo3` varchar(30) DEFAULT '', `Pagina` varchar(100) DEFAULT '', `RubroID` smallint(4) DEFAULT NULL, `Puntos` smallint(6) DEFAULT '0', `Deuda` decimal(10,2) unsigned DEFAULT '0.00', `Informacion` mediumtext, `Edad` tinyint(4) DEFAULT '0', `EstCivil` enum('X','D','V','C','S') DEFAULT 'S', `Profesion` varchar(40) DEFAULT '', `NacionalidadID` smallint(6) DEFAULT '0', `Estado` tinyint(4) DEFAULT '0', PRIMARY KEY (`ClienteID`), UNIQUE KEY `ix_clientes_nombre` (`Cliente`) USING BTREE, UNIQUE KEY `ix_clientes_identidaid` (`IdentidadID`,`NumIdentidad`) USING BTREE, KEY `ix_clientes_provinciaid` (`ProvinciaID`) USING BTREE, KEY `ix_clientes_distritoid` (`DistritoID`) USING BTREE, KEY `ix_clientes_dptoid` (`DptoID`) USING BTREE, KEY `fk_clientes_rubros` (`RubroID`) USING BTREE, CONSTRAINT `fk_clientes_identidades` FOREIGN KEY (`IdentidadID`) REFERENCES `identidad` (`IdentidadID`) ON UPDATE CASCADE, CONSTRAINT `fk_clientes_rubros` FOREIGN KEY (`RubroID`) REFERENCES `rubros` (`RubroID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.clientes: ~0 rows (aproximadamente) DELETE FROM `clientes`; /*!40000 ALTER TABLE `clientes` DISABLE KEYS */; /*!40000 ALTER TABLE `clientes` ENABLE KEYS */; -- Volcando estructura para tabla myproject.clientes_ctacte DROP TABLE IF EXISTS `clientes_ctacte`; CREATE TABLE IF NOT EXISTS `clientes_ctacte` ( `ClienteID` int(11) NOT NULL DEFAULT '0', `UniqueID` char(10) NOT NULL DEFAULT '', `VentaID` int(11) NOT NULL DEFAULT '0', `Tipo` enum('E','S') DEFAULT 'E', `Concepto` char(30) DEFAULT '', `TipoPago` tinyint(4) DEFAULT '0', `SerieID` char(6) DEFAULT NULL, `DocumentoID` char(3) DEFAULT NULL, `NumDocumento` char(11) DEFAULT '', `MonedaID` char(3) DEFAULT NULL, `Cambio` decimal(5,3) DEFAULT '0.000', `Importe` decimal(10,2) DEFAULT '0.00', `Fecha` date DEFAULT NULL, PRIMARY KEY (`ClienteID`,`UniqueID`), KEY `fk_clientes_ctacte_documentos` (`DocumentoID`) USING BTREE, KEY `ix_clientes_ctacte_ventaid` (`VentaID`) USING BTREE, KEY `ix_clientes_ctacte_fecha` (`Fecha`) USING BTREE, KEY `fk_clientes_ctacte_documentos_series` (`SerieID`) USING BTREE, CONSTRAINT `clientes_ctacte_ibfk_1` FOREIGN KEY (`ClienteID`) REFERENCES `clientes` (`ClienteID`) ON UPDATE CASCADE, CONSTRAINT `clientes_ctacte_ibfk_2` FOREIGN KEY (`DocumentoID`) REFERENCES `documentos` (`DocumentoID`) ON UPDATE CASCADE, CONSTRAINT `clientes_ctacte_ibfk_3` FOREIGN KEY (`SerieID`) REFERENCES `documentos_series` (`SerieID`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.clientes_ctacte: ~0 rows (aproximadamente) DELETE FROM `clientes_ctacte`; /*!40000 ALTER TABLE `clientes_ctacte` DISABLE KEYS */; /*!40000 ALTER TABLE `clientes_ctacte` ENABLE KEYS */; -- Volcando estructura para tabla myproject.colores DROP TABLE IF EXISTS `colores`; CREATE TABLE IF NOT EXISTS `colores` ( `ColorID` smallint(6) NOT NULL DEFAULT '0', `Color` char(30) DEFAULT '', PRIMARY KEY (`ColorID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.colores: ~0 rows (aproximadamente) DELETE FROM `colores`; /*!40000 ALTER TABLE `colores` DISABLE KEYS */; /*!40000 ALTER TABLE `colores` ENABLE KEYS */; -- Volcando estructura para tabla myproject.compras DROP TABLE IF EXISTS `compras`; CREATE TABLE IF NOT EXISTS `compras` ( `CompraID` int(11) NOT NULL DEFAULT '0', `OrdenID` int(11) DEFAULT '0', `ProveedorID` int(11) DEFAULT NULL, `Credito` tinyint(4) DEFAULT '0', `Dias` tinyint(4) DEFAULT '0', `Vence` date DEFAULT '0000-00-00', `Flete` decimal(10,2) DEFAULT '0.00', `TipoPago` tinyint(4) DEFAULT '0', `TarjetaID` smallint(6) DEFAULT NULL, `NumTarjeta` char(20) DEFAULT '', `Tarjeta` decimal(10,2) DEFAULT '0.00', `BancoID` smallint(6) DEFAULT NULL, `NumCheque` char(20) DEFAULT '', `Cheque` decimal(10,2) DEFAULT '0.00', `ACuenta` decimal(10,2) DEFAULT '0.00', `Efectivo` decimal(10,2) DEFAULT '0.00', `Pago` decimal(10,2) DEFAULT '0.00', `Vuelto` decimal(10,2) DEFAULT '0.00', `KardexID` int(11) DEFAULT '0', PRIMARY KEY (`CompraID`), KEY `fk_compras_proveedores` (`ProveedorID`) USING BTREE, KEY `fk_compras_tarjetas` (`TarjetaID`) USING BTREE, KEY `fk_compras_bancos` (`BancoID`) USING BTREE, CONSTRAINT `fk_compras_bancos` FOREIGN KEY (`BancoID`) REFERENCES `bancos` (`BancoID`) ON UPDATE CASCADE, CONSTRAINT `fk_compras_proveedores` FOREIGN KEY (`ProveedorID`) REFERENCES `proveedores` (`ProveedorID`) ON UPDATE CASCADE, CONSTRAINT `fk_compras_tarjetas` FOREIGN KEY (`TarjetaID`) REFERENCES `tarjetas` (`TarjetaID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.compras: ~0 rows (aproximadamente) DELETE FROM `compras`; /*!40000 ALTER TABLE `compras` DISABLE KEYS */; /*!40000 ALTER TABLE `compras` ENABLE KEYS */; -- Volcando estructura para tabla myproject.correos DROP TABLE IF EXISTS `correos`; CREATE TABLE IF NOT EXISTS `correos` ( `Asunto` char(100) DEFAULT NULL, `Mensaje` text, `Adjuntos` text ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.correos: ~0 rows (aproximadamente) DELETE FROM `correos`; /*!40000 ALTER TABLE `correos` DISABLE KEYS */; /*!40000 ALTER TABLE `correos` ENABLE KEYS */; -- Volcando estructura para tabla myproject.correos_cuentas DROP TABLE IF EXISTS `correos_cuentas`; CREATE TABLE IF NOT EXISTS `correos_cuentas` ( `smtpUser` char(50) NOT NULL DEFAULT '', `smtpPassword` char(50) DEFAULT '', `smtpName` char(50) DEFAULT '', `smtpServer` char(50) DEFAULT '', `smtpPort` smallint(4) DEFAULT '0', `smtpAuthenticate` tinyint(4) DEFAULT '0', `smtpSendUsing` tinyint(4) DEFAULT '0', `smtpUseSSL` tinyint(4) DEFAULT '0', PRIMARY KEY (`smtpUser`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.correos_cuentas: ~0 rows (aproximadamente) DELETE FROM `correos_cuentas`; /*!40000 ALTER TABLE `correos_cuentas` DISABLE KEYS */; /*!40000 ALTER TABLE `correos_cuentas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.documentos DROP TABLE IF EXISTS `documentos`; CREATE TABLE IF NOT EXISTS `documentos` ( `DocumentoID` char(3) NOT NULL, `SunatID` char(3) DEFAULT '', `Documento` char(30) DEFAULT '', `IdentidadID` char(3) DEFAULT '', `DocLineas` smallint(6) DEFAULT '0', `ConIgv` tinyint(4) DEFAULT '0', `Reporte` char(50) DEFAULT '', `Impresora` char(50) DEFAULT '', `Fuente` char(10) DEFAULT '', `Tamano` char(10) DEFAULT '', `Cortar` char(10) DEFAULT '', `Gaveta` char(10) DEFAULT '', `EsComprobante` tinyint(4) DEFAULT '0', `EsRecibo` tinyint(4) DEFAULT '0', `Bloqueado` tinyint(4) DEFAULT '0', PRIMARY KEY (`DocumentoID`), KEY `ix_documentos_documento` (`Documento`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.documentos: ~3 rows (aproximadamente) DELETE FROM `documentos`; /*!40000 ALTER TABLE `documentos` DISABLE KEYS */; INSERT INTO `documentos` (`DocumentoID`, `SunatID`, `Documento`, `IdentidadID`, `DocLineas`, `ConIgv`, `Reporte`, `Impresora`, `Fuente`, `Tamano`, `Cortar`, `Gaveta`, `EsComprobante`, `EsRecibo`, `Bloqueado`) VALUES ('BOL', '03', 'BOLETA', '', 0, 0, 'BOLETA.FRX', 'MICROSOFT XPS DOCUMENT WRITER', '', '', '', '', 1, 0, 1), ('FAC', '01', 'FACTURA', 'RUC', 0, 1, 'FACTURA.FRX', 'MICROSOFT XPS DOCUMENT WRITER', '', '', '', '', 1, 0, 1), ('TBL', '03', 'TICKET', '', 0, 0, 'TICKET.PRG', '', '', '', '', '', 1, 0, 0); /*!40000 ALTER TABLE `documentos` ENABLE KEYS */; -- Volcando estructura para tabla myproject.documentos_series DROP TABLE IF EXISTS `documentos_series`; CREATE TABLE IF NOT EXISTS `documentos_series` ( `SerieID` char(6) NOT NULL DEFAULT '', `DocumentoID` char(3) NOT NULL DEFAULT '', `Serie` char(3) NOT NULL DEFAULT '', `Numero` smallint(6) DEFAULT '0', PRIMARY KEY (`SerieID`), KEY `fk_documentos_series_documentos` (`DocumentoID`) USING BTREE, CONSTRAINT `fk_documentos_series_documentos` FOREIGN KEY (`DocumentoID`) REFERENCES `documentos` (`DocumentoID`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.documentos_series: ~3 rows (aproximadamente) DELETE FROM `documentos_series`; /*!40000 ALTER TABLE `documentos_series` DISABLE KEYS */; INSERT INTO `documentos_series` (`SerieID`, `DocumentoID`, `Serie`, `Numero`) VALUES ('BOL001', 'BOL', '001', 3), ('FAC001', 'FAC', '001', 1), ('TBL001', 'TBL', '001', 1); /*!40000 ALTER TABLE `documentos_series` ENABLE KEYS */; -- Volcando estructura para tabla myproject.empresas DROP TABLE IF EXISTS `empresas`; CREATE TABLE IF NOT EXISTS `empresas` ( `EmpresaID` char(15) NOT NULL DEFAULT '', `IdentidadID` char(3) DEFAULT '', `Empresa` char(50) DEFAULT '', `Direccion` char(50) DEFAULT '', `Telefono` char(30) DEFAULT '', `Correo` char(254) DEFAULT '', `Pagina` char(254) DEFAULT '', `IgvExonerado` tinyint(4) DEFAULT '0', `IgvIncluido` tinyint(4) DEFAULT '0', `Igv` decimal(4,2) DEFAULT '0.00', `Isc` decimal(4,2) DEFAULT '0.00', `MonedaID` char(3) DEFAULT NULL, `MonedaEx` char(3) DEFAULT NULL, `SmtpServer` char(100) DEFAULT '', `SmtpPort` smallint(6) DEFAULT '0', `SmtpUser` char(20) DEFAULT '', `SmtpPassword` char(20) DEFAULT '', `Bloqueado` tinyint(4) DEFAULT '0', PRIMARY KEY (`EmpresaID`), KEY `fk_empresas_monedas` (`MonedaID`) USING BTREE, KEY `fk_empresas_identidades` (`IdentidadID`) USING BTREE, CONSTRAINT `fk_empresas_identidades` FOREIGN KEY (`IdentidadID`) REFERENCES `identidad` (`IdentidadID`), CONSTRAINT `fk_empresas_monedas` FOREIGN KEY (`MonedaID`) REFERENCES `monedas` (`MonedaID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.empresas: ~1 rows (aproximadamente) DELETE FROM `empresas`; /*!40000 ALTER TABLE `empresas` DISABLE KEYS */; INSERT INTO `empresas` (`EmpresaID`, `IdentidadID`, `Empresa`, `Direccion`, `Telefono`, `Correo`, `Pagina`, `IgvExonerado`, `IgvIncluido`, `Igv`, `Isc`, `MonedaID`, `MonedaEx`, `SmtpServer`, `SmtpPort`, `SmtpUser`, `SmtpPassword`, `Bloqueado`) VALUES ('10011637057', 'RUC', 'EMPRESA DEMO', 'JR. DEMO #275', '995-689585 / 986-365725', 'empresa_demo@gmail.com', 'http://www.emnpresa_demo.com', 0, 1, 18.00, 0.00, 'S/.', 'US$', '', 0, '', '', 0); /*!40000 ALTER TABLE `empresas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.entradas DROP TABLE IF EXISTS `entradas`; CREATE TABLE IF NOT EXISTS `entradas` ( `EntradaID` int(11) NOT NULL DEFAULT '0', `AlmacenID` char(3) DEFAULT NULL, `KardexID` int(11) DEFAULT '0', PRIMARY KEY (`EntradaID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.entradas: ~0 rows (aproximadamente) DELETE FROM `entradas`; /*!40000 ALTER TABLE `entradas` DISABLE KEYS */; /*!40000 ALTER TABLE `entradas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.estaciones DROP TABLE IF EXISTS `estaciones`; CREATE TABLE IF NOT EXISTS `estaciones` ( `EstacionID` smallint(6) NOT NULL DEFAULT '0', `Estacion` char(20) DEFAULT '', PRIMARY KEY (`EstacionID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.estaciones: ~5 rows (aproximadamente) DELETE FROM `estaciones`; /*!40000 ALTER TABLE `estaciones` DISABLE KEYS */; INSERT INTO `estaciones` (`EstacionID`, `Estacion`) VALUES (1, 'MESA 1'), (2, 'MESA 2'), (3, 'MESA 3'), (4, 'MESA 4'), (5, 'MESA 5'); /*!40000 ALTER TABLE `estaciones` ENABLE KEYS */; -- Volcando estructura para tabla myproject.familias DROP TABLE IF EXISTS `familias`; CREATE TABLE IF NOT EXISTS `familias` ( `FamiliaID` smallint(4) NOT NULL, `Familia` char(30) NOT NULL DEFAULT '', PRIMARY KEY (`FamiliaID`), KEY `ix_familias_familia` (`Familia`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.familias: ~1 rows (aproximadamente) DELETE FROM `familias`; /*!40000 ALTER TABLE `familias` DISABLE KEYS */; INSERT INTO `familias` (`FamiliaID`, `Familia`) VALUES (1, 'FAMILIA'); /*!40000 ALTER TABLE `familias` ENABLE KEYS */; -- Volcando estructura para tabla myproject.funciones DROP TABLE IF EXISTS `funciones`; CREATE TABLE IF NOT EXISTS `funciones` ( `FuncionID` smallint(4) NOT NULL, `Funcion` char(30) DEFAULT '', `Codigo` text, PRIMARY KEY (`FuncionID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.funciones: ~2 rows (aproximadamente) DELETE FROM `funciones`; /*!40000 ALTER TABLE `funciones` DISABLE KEYS */; INSERT INTO `funciones` (`FuncionID`, `Funcion`, `Codigo`) VALUES (1, 'VALIDAR RUC', 'PARAMETERS tcCode\r\nLocal lnSum, lnIndex, lcStringA, lcStringB, llResult\r\n lnSum = 0\r\n For lnIndex = 1 To 10\r\n lcStringA = Substr("5432765432", lnIndex, 1)\r\n lcStringB = Substr(tcCode, lnIndex, 1)\r\n lnSum = lnSum + Int(Val(lcStringA)) * Int(Val(lcStringB))\r\n EndFor\r\n lnDigit = 11 - Mod(lnSum, 11)\r\n If lnDigit >= 10\r\n lnDigit = lnDigit - 10\r\n EndIf\r\n llResult = Int(Val(Substr(tcCode, 11, 1))) = lnDigit\r\nReturn (llResult)'), (2, 'VALIDAR DNI', 'LParameters tcCodigo, tlGenerar, tlAntiguo\r\nLocal luResult, lnTotal, lnIndex, lnDigito, lnPosicion, lcNumero,;\r\n lcNumeros, lcLetra, lcLetras, lnFactor, lcFactores\r\n\r\n tcCodigo = Iif(Vartype(tcCodigo) == "C", tcCodigo, "" )\r\n tlGenerar = Iif(Vartype(tlGenerar) == "L", tlGenerar, .F.)\r\n tlAntiguo = Iif(Vartype(tlAntiguo) == "L", tlAntiguo, .F.)\r\n \r\n If Len(Alltrim(tcCodigo)) < 8\r\n Return .F.\r\n EndIf\r\n If !tlGenerar And Len(tcCodigo) != 9\r\n Return .T.\r\n EndIf\r\n \r\n lcFactores = "3276543276" && Factores\r\n lcLetras = "KABCIEFGHI" && Antiguo DNI\r\n lcNumeros = "6789011234" && Nuevo DNI\r\n \r\n lnTotal = 0\r\n For lnIndex = 1 To 8\r\n lnFactor = Int(Val(Substr(lcFactores, lnIndex, 1)))\r\n lnDigito = Int(Val(Substr(tcCodigo, lnIndex, 1)))\r\n lnTotal = lnTotal + (lnFactor * lnDigito)\r\n EndFor\r\n lnPosicion = 11 - Mod(lnTotal, 11)\r\n If lnPosicion = 11\r\n lnPosicion = 0\r\n Else\r\n If lnPosicion = 10\r\n lnPosicion = 1\r\n EndIf\r\n EndIf\r\n lcNumero = Substr(lcNumeros, lnPosicion + 1, 1)\r\n lcLetra = Substr(lcLetras, lnPosicion + 1, 1)\r\n If tlGenerar\r\n If tlAntiguo\r\n luResult = lcLetra\r\n Else\r\n luResult = lcNumero\r\n EndIf\r\n Else\r\n luCheck = Right(tcCodigo, 1)\r\n If IsAlpha(luCheck)\r\n luResult = luCheck == lcLetra\r\n Else\r\n luResult = luCheck == lcNumero\r\n EndIf\r\n EndIf\r\nReturn (luResult)'); /*!40000 ALTER TABLE `funciones` ENABLE KEYS */; -- Volcando estructura para tabla myproject.guias DROP TABLE IF EXISTS `guias`; CREATE TABLE IF NOT EXISTS `guias` ( `GuiaID` int(11) NOT NULL, `MotivoID` smallint(6) DEFAULT NULL, `VentaID` int(11) DEFAULT '0', `ClienteID` int(11) DEFAULT NULL, `TransporteID` int(11) DEFAULT NULL, `SerieID` char(6) DEFAULT NULL, `NumGuia` char(11) DEFAULT '', `Credito` tinyint(4) DEFAULT '0', `MonedaID` char(3) DEFAULT NULL, `Cambio` decimal(4,3) DEFAULT NULL, `Vehiculo` char(30) DEFAULT '', `Licencia` char(15) DEFAULT '', `Inscripcion` char(15) DEFAULT '', `Fecha` date DEFAULT NULL, `Salida` date DEFAULT NULL, `Partida` char(40) DEFAULT NULL, `Incluido` tinyint(4) DEFAULT '0', `Igv` decimal(3,0) DEFAULT '0', `Neto` decimal(10,2) DEFAULT '0.00', `NoAfecto` decimal(10,2) DEFAULT '0.00', `Descuento` decimal(10,2) DEFAULT '0.00', `SubTotal` decimal(10,2) DEFAULT '0.00', `Impuesto` decimal(10,2) DEFAULT '0.00', `Total` decimal(10,2) DEFAULT '0.00', `VendedorID` smallint(6) DEFAULT '1', `Estado` enum('0','1','9') DEFAULT '0', PRIMARY KEY (`GuiaID`), KEY `fk_guias_monedas` (`MonedaID`) USING BTREE, KEY `fk_guias_clientes` (`ClienteID`) USING BTREE, KEY `fk_guias_guias_motivos` (`MotivoID`) USING BTREE, KEY `fk_guias_documentos_series` (`SerieID`) USING BTREE, CONSTRAINT `fk_guias_clientes` FOREIGN KEY (`ClienteID`) REFERENCES `clientes` (`ClienteID`) ON UPDATE CASCADE, CONSTRAINT `fk_guias_documentos_series` FOREIGN KEY (`SerieID`) REFERENCES `documentos_series` (`SerieID`) ON UPDATE CASCADE, CONSTRAINT `fk_guias_guias_motivos` FOREIGN KEY (`MotivoID`) REFERENCES `guias_motivos` (`MotivoID`) ON UPDATE CASCADE, CONSTRAINT `fk_guias_monedas` FOREIGN KEY (`MonedaID`) REFERENCES `monedas` (`MonedaID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.guias: ~0 rows (aproximadamente) DELETE FROM `guias`; /*!40000 ALTER TABLE `guias` DISABLE KEYS */; /*!40000 ALTER TABLE `guias` ENABLE KEYS */; -- Volcando estructura para tabla myproject.guias_lineas DROP TABLE IF EXISTS `guias_lineas`; CREATE TABLE IF NOT EXISTS `guias_lineas` ( `GuiaID` int(11) NOT NULL DEFAULT '0', `Item` smallint(6) NOT NULL DEFAULT '0', `ProductoID` int(11) NOT NULL DEFAULT '0', `MedidaID` char(3) NOT NULL DEFAULT '', `MonedaID` char(3) DEFAULT '', `Factor` smallint(6) DEFAULT '0', `Cantidad` decimal(10,0) DEFAULT '0', `PrecioReal` decimal(10,2) DEFAULT '0.00', `Precio` decimal(10,2) DEFAULT '0.00', `Dscto1` decimal(10,2) DEFAULT '0.00', `Dscto2` decimal(10,2) DEFAULT '0.00', `Dscto3` decimal(10,2) DEFAULT '0.00', `Descuento` decimal(10,2) DEFAULT '0.00', `ConIgvBase` tinyint(4) DEFAULT '0', `ConIgv` tinyint(4) DEFAULT '0', `Importe` decimal(10,2) DEFAULT '0.00', PRIMARY KEY (`GuiaID`,`Item`), KEY `fk_guias_lineas_monedas` (`MonedaID`) USING BTREE, KEY `fk_guias_lineas_medidas` (`MedidaID`) USING BTREE, KEY `fk_guias_lineas_productos` (`ProductoID`) USING BTREE, CONSTRAINT `fk_guias_lineas_guias` FOREIGN KEY (`GuiaID`) REFERENCES `guias` (`GuiaID`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_guias_lineas_medidas` FOREIGN KEY (`MedidaID`) REFERENCES `medidas` (`MedidaID`) ON UPDATE CASCADE, CONSTRAINT `fk_guias_lineas_monedas` FOREIGN KEY (`MonedaID`) REFERENCES `monedas` (`MonedaID`) ON UPDATE CASCADE, CONSTRAINT `fk_guias_lineas_productos` FOREIGN KEY (`ProductoID`) REFERENCES `productos` (`ProductoID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.guias_lineas: ~0 rows (aproximadamente) DELETE FROM `guias_lineas`; /*!40000 ALTER TABLE `guias_lineas` DISABLE KEYS */; /*!40000 ALTER TABLE `guias_lineas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.guias_motivos DROP TABLE IF EXISTS `guias_motivos`; CREATE TABLE IF NOT EXISTS `guias_motivos` ( `MotivoID` smallint(6) NOT NULL DEFAULT '0', `Motivo` char(50) DEFAULT '', PRIMARY KEY (`MotivoID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.guias_motivos: ~5 rows (aproximadamente) DELETE FROM `guias_motivos`; /*!40000 ALTER TABLE `guias_motivos` DISABLE KEYS */; INSERT INTO `guias_motivos` (`MotivoID`, `Motivo`) VALUES (1, 'VENTA'), (2, 'CONSIGNACION'), (3, 'DEVOLUCION'), (4, 'TRASLADO'), (5, 'EXPORTACION'); /*!40000 ALTER TABLE `guias_motivos` ENABLE KEYS */; -- Volcando estructura para tabla myproject.habitaciones DROP TABLE IF EXISTS `habitaciones`; CREATE TABLE IF NOT EXISTS `habitaciones` ( `HabitacionID` smallint(6) NOT NULL, `TipoID` smallint(6) DEFAULT NULL, `Informacion` varchar(200) DEFAULT '', PRIMARY KEY (`HabitacionID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.habitaciones: ~44 rows (aproximadamente) DELETE FROM `habitaciones`; /*!40000 ALTER TABLE `habitaciones` DISABLE KEYS */; INSERT INTO `habitaciones` (`HabitacionID`, `TipoID`, `Informacion`) VALUES (201, 2, ''), (202, 2, ''), (203, 2, ''), (204, 3, ''), (205, 1, ''), (206, 1, ''), (207, 5, ''), (208, 5, ''), (209, 1, ''), (210, 2, ''), (211, 2, ''), (213, 1, ''), (214, 1, ''), (301, 2, ''), (302, 2, ''), (303, 2, ''), (304, 1, ''), (305, 3, ''), (306, 1, ''), (307, 5, ''), (308, 5, ''), (309, 1, ''), (310, 2, ''), (311, 2, ''), (312, 5, ''), (313, 1, ''), (314, 5, ''), (401, 1, ''), (402, 1, ''), (403, 1, ''), (404, 5, ''), (405, 5, ''), (406, 1, ''), (407, 1, ''), (408, 1, ''), (409, 5, ''), (410, 2, ''), (411, 2, ''), (412, 1, ''), (413, 5, ''), (414, 5, ''), (415, 1, ''), (416, 5, ''), (417, 5, ''); /*!40000 ALTER TABLE `habitaciones` ENABLE KEYS */; -- Volcando estructura para tabla myproject.habitaciones_alquiler DROP TABLE IF EXISTS `habitaciones_alquiler`; CREATE TABLE IF NOT EXISTS `habitaciones_alquiler` ( `AlquilerID` int(11) NOT NULL DEFAULT '0', `HabitacionID` smallint(6) NOT NULL, `TipoID` smallint(6) DEFAULT NULL, `Precio` decimal(10,2) DEFAULT '0.00', `Importe` decimal(10,2) DEFAULT '0.00', `Procedencia` varchar(40) DEFAULT '', `Destino` varchar(40) DEFAULT '', `Hora` time DEFAULT NULL, `Desde` date DEFAULT NULL, `Hasta` date DEFAULT NULL, `Dias` smallint(6) DEFAULT '0', `ClienteID` smallint(6) DEFAULT NULL, `Personas` smallint(6) DEFAULT '0', `Credito` tinyint(4) DEFAULT '0', `Cambio` decimal(4,3) DEFAULT '0.000', `Incluido` tinyint(4) DEFAULT '0', `Igv` decimal(3,0) DEFAULT '0', `NoAfecto` decimal(10,2) DEFAULT '0.00', `Neto` decimal(10,2) DEFAULT '0.00', `Descuento` decimal(10,2) DEFAULT '0.00', `SubTotal` decimal(10,2) DEFAULT '0.00', `Impuesto` decimal(10,2) DEFAULT '0.00', `Total` decimal(10,2) DEFAULT '0.00', `Abono` decimal(10,2) DEFAULT '0.00', `VendedorID` smallint(6) DEFAULT NULL, `Facturado` enum('0','1') DEFAULT '0', `Estado` enum('0','1','2') DEFAULT '0', PRIMARY KEY (`AlquilerID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.habitaciones_alquiler: ~0 rows (aproximadamente) DELETE FROM `habitaciones_alquiler`; /*!40000 ALTER TABLE `habitaciones_alquiler` DISABLE KEYS */; /*!40000 ALTER TABLE `habitaciones_alquiler` ENABLE KEYS */; -- Volcando estructura para tabla myproject.habitaciones_estados DROP TABLE IF EXISTS `habitaciones_estados`; CREATE TABLE IF NOT EXISTS `habitaciones_estados` ( `AlquilerID` int(11) NOT NULL, `Fecha` date NOT NULL, `Estado` tinyint(1) DEFAULT '1', PRIMARY KEY (`AlquilerID`,`Fecha`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.habitaciones_estados: ~0 rows (aproximadamente) DELETE FROM `habitaciones_estados`; /*!40000 ALTER TABLE `habitaciones_estados` DISABLE KEYS */; /*!40000 ALTER TABLE `habitaciones_estados` ENABLE KEYS */; -- Volcando estructura para tabla myproject.habitaciones_ocupantes DROP TABLE IF EXISTS `habitaciones_ocupantes`; CREATE TABLE IF NOT EXISTS `habitaciones_ocupantes` ( `AlquilerID` int(11) NOT NULL DEFAULT '0', `ClienteID` int(6) DEFAULT NULL, `IdentidadID` varchar(3) NOT NULL, `NumIdentidad` varchar(11) NOT NULL DEFAULT '', `Nombre` varchar(40) NOT NULL DEFAULT '', `Edad` tinyint(8) DEFAULT '0', `EstCivil` enum('S','C','V','D','X') DEFAULT 'S', `Profesion` varchar(40) DEFAULT '', `NacionalidadID` smallint(6) DEFAULT NULL, PRIMARY KEY (`AlquilerID`,`IdentidadID`,`NumIdentidad`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.habitaciones_ocupantes: ~0 rows (aproximadamente) DELETE FROM `habitaciones_ocupantes`; /*!40000 ALTER TABLE `habitaciones_ocupantes` DISABLE KEYS */; /*!40000 ALTER TABLE `habitaciones_ocupantes` ENABLE KEYS */; -- Volcando estructura para tabla myproject.habitaciones_tipo DROP TABLE IF EXISTS `habitaciones_tipo`; CREATE TABLE IF NOT EXISTS `habitaciones_tipo` ( `TipoID` smallint(6) NOT NULL, `Habitacion` varchar(30) DEFAULT NULL, `Precio` decimal(10,2) DEFAULT NULL, PRIMARY KEY (`TipoID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.habitaciones_tipo: ~5 rows (aproximadamente) DELETE FROM `habitaciones_tipo`; /*!40000 ALTER TABLE `habitaciones_tipo` DISABLE KEYS */; INSERT INTO `habitaciones_tipo` (`TipoID`, `Habitacion`, `Precio`) VALUES (1, 'INDIVIDUAL', 25.00), (2, 'DOBLE', 40.00), (3, 'TRIPLE', 50.00), (4, 'CUADRUPLE', 70.00), (5, 'MATRIMONIAL', 35.00); /*!40000 ALTER TABLE `habitaciones_tipo` ENABLE KEYS */; -- Volcando estructura para tabla myproject.identidad DROP TABLE IF EXISTS `identidad`; CREATE TABLE IF NOT EXISTS `identidad` ( `IdentidadID` char(3) NOT NULL DEFAULT '', `SunatID` char(3) DEFAULT '', `Identidad` char(30) DEFAULT '', `Mascara` char(20) DEFAULT '', `FuncionID` smallint(4) DEFAULT '0', PRIMARY KEY (`IdentidadID`), KEY `ix_identidad_identidad` (`Identidad`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.identidad: ~3 rows (aproximadamente) DELETE FROM `identidad`; /*!40000 ALTER TABLE `identidad` DISABLE KEYS */; INSERT INTO `identidad` (`IdentidadID`, `SunatID`, `Identidad`, `Mascara`, `FuncionID`) VALUES ('CI', '', 'CARNET DE EXTRANJERIA', '', 0), ('DNI', '01', 'DOCUMENTO DE IDENTIDAD', '99999999N', 2), ('RUC', '06', 'REGISTRO UNICO DE CONTRIBUYENT', '99999999999', 1); /*!40000 ALTER TABLE `identidad` ENABLE KEYS */; -- Volcando estructura para tabla myproject.inventarios DROP TABLE IF EXISTS `inventarios`; CREATE TABLE IF NOT EXISTS `inventarios` ( `InventarioID` int(11) NOT NULL DEFAULT '0', `AlmacenID` char(3) DEFAULT NULL, `Titulo` char(100) DEFAULT '', `Fecha` date DEFAULT NULL, `KardexID` int(11) DEFAULT '0', `Estado` enum('0','1','9') DEFAULT '0', PRIMARY KEY (`InventarioID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.inventarios: ~0 rows (aproximadamente) DELETE FROM `inventarios`; /*!40000 ALTER TABLE `inventarios` DISABLE KEYS */; /*!40000 ALTER TABLE `inventarios` ENABLE KEYS */; -- Volcando estructura para tabla myproject.kardex DROP TABLE IF EXISTS `kardex`; CREATE TABLE IF NOT EXISTS `kardex` ( `KardexID` int(11) NOT NULL DEFAULT '0', `ConceptoID` char(3) DEFAULT NULL, `MotivoID` char(3) DEFAULT NULL, `Referencia` int(11) DEFAULT '0', `Fecha` date DEFAULT '0000-00-00', `DocumentoID` char(3) DEFAULT NULL, `NumDocumento` char(11) DEFAULT NULL, `MonedaID` char(3) DEFAULT '', `Cambio` decimal(4,3) DEFAULT '0.000', `Incluido` tinyint(4) DEFAULT '0', `Igv` decimal(3,0) DEFAULT '0', `NoAfecto` decimal(10,2) DEFAULT '0.00', `Neto` decimal(10,2) DEFAULT '0.00', `Descuento` decimal(10,2) DEFAULT '0.00', `SubTotal` decimal(10,2) DEFAULT '0.00', `Impuesto` decimal(10,2) DEFAULT '0.00', `Total` decimal(10,2) DEFAULT '0.00', `Glosa` tinytext, `Estado` enum('0','1','9') DEFAULT '0', PRIMARY KEY (`KardexID`), KEY `fk_kardex_documentos` (`DocumentoID`) USING BTREE, KEY `fk_kardex_kardex_conceptos` (`ConceptoID`) USING BTREE, KEY `fk_kardex_kardex_motivos` (`MotivoID`) USING BTREE, CONSTRAINT `fk_kardex_documentos` FOREIGN KEY (`DocumentoID`) REFERENCES `documentos` (`DocumentoID`) ON UPDATE CASCADE, CONSTRAINT `fk_kardex_kardex_conceptos` FOREIGN KEY (`ConceptoID`) REFERENCES `kardex_conceptos` (`ConceptoID`) ON UPDATE CASCADE, CONSTRAINT `fk_kardex_kardex_motivos` FOREIGN KEY (`MotivoID`) REFERENCES `kardex_motivos` (`MotivoID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.kardex: ~0 rows (aproximadamente) DELETE FROM `kardex`; /*!40000 ALTER TABLE `kardex` DISABLE KEYS */; /*!40000 ALTER TABLE `kardex` ENABLE KEYS */; -- Volcando estructura para tabla myproject.kardex_conceptos DROP TABLE IF EXISTS `kardex_conceptos`; CREATE TABLE IF NOT EXISTS `kardex_conceptos` ( `ConceptoID` char(3) NOT NULL DEFAULT '', `Concepto` char(20) DEFAULT NULL, `Bloqueado` tinyint(4) DEFAULT '0', PRIMARY KEY (`ConceptoID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.kardex_conceptos: ~11 rows (aproximadamente) DELETE FROM `kardex_conceptos`; /*!40000 ALTER TABLE `kardex_conceptos` DISABLE KEYS */; INSERT INTO `kardex_conceptos` (`ConceptoID`, `Concepto`, `Bloqueado`) VALUES ('COM', 'COMPRA', 0), ('ENT', 'ENTRADA', 0), ('INV', 'INVENTARIO', 0), ('NCR', 'NOTA DE CREDITO', 0), ('NDE', 'NOTA DE DEBITO', 0), ('PRE', 'PRESTAMO', 0), ('PRO', 'PRODUCCION', 0), ('PRV', 'PREVENTA', 0), ('SAL', 'SALIDA', 0), ('TRA', 'TRANSFERENCIA', 0), ('VEN', 'VENTA', 0); /*!40000 ALTER TABLE `kardex_conceptos` ENABLE KEYS */; -- Volcando estructura para tabla myproject.kardex_lineas DROP TABLE IF EXISTS `kardex_lineas`; CREATE TABLE IF NOT EXISTS `kardex_lineas` ( `KardexID` int(11) NOT NULL, `Item` smallint(6) NOT NULL DEFAULT '0', `AlmacenID` char(3) DEFAULT '000', `Kardex` enum('E','S') DEFAULT 'E', `ProductoID` int(11) DEFAULT '0', `Detalle` char(50) DEFAULT '', `Fecha` date DEFAULT NULL, `Hora` time DEFAULT NULL, `MonedaID` char(3) DEFAULT NULL, `MedidaID` char(3) DEFAULT NULL, `Cantidad` decimal(10,2) DEFAULT '0.00', `Factor` smallint(6) unsigned DEFAULT '1', `PrecioReal` decimal(10,2) DEFAULT '0.00', `Precio` decimal(10,2) DEFAULT '0.00', `Costo` decimal(16,6) DEFAULT '0.000000', `Dscto1` tinyint(4) DEFAULT '0', `Dscto2` tinyint(4) DEFAULT '0', `Dscto3` tinyint(4) DEFAULT '0', `Descuento` decimal(10,2) DEFAULT '0.00', `Importe` decimal(13,2) DEFAULT '0.00', `Peso` decimal(10,3) DEFAULT '0.000', `ConIgv` tinyint(4) DEFAULT '0', `ConTipos` tinyint(4) DEFAULT '0', `Lote` char(15) DEFAULT '', `Expira` date DEFAULT NULL, `Serie` char(30) DEFAULT '', `Talla` char(5) DEFAULT '', `Glosa` char(100) DEFAULT NULL, `Estado` enum('0','1','9') DEFAULT '0', PRIMARY KEY (`KardexID`,`Item`), KEY `fk_kardex_lineas_medidas` (`MedidaID`) USING BTREE, KEY `fk_kardex_lineas_monedas` (`MonedaID`) USING BTREE, KEY `fk_kardex_lineas_almacenes` (`AlmacenID`) USING BTREE, KEY `fk_kardex_lineas_productos` (`ProductoID`) USING BTREE, CONSTRAINT `fk_kardex_lineas_almacenes` FOREIGN KEY (`AlmacenID`) REFERENCES `almacenes` (`AlmacenID`) ON UPDATE CASCADE, CONSTRAINT `fk_kardex_lineas_kardex` FOREIGN KEY (`KardexID`) REFERENCES `kardex` (`KardexID`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_kardex_lineas_medidas` FOREIGN KEY (`MedidaID`) REFERENCES `medidas` (`MedidaID`) ON UPDATE CASCADE, CONSTRAINT `fk_kardex_lineas_monedas` FOREIGN KEY (`MonedaID`) REFERENCES `monedas` (`MonedaID`) ON UPDATE CASCADE, CONSTRAINT `fk_kardex_lineas_productos` FOREIGN KEY (`ProductoID`) REFERENCES `productos` (`ProductoID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.kardex_lineas: ~0 rows (aproximadamente) DELETE FROM `kardex_lineas`; /*!40000 ALTER TABLE `kardex_lineas` DISABLE KEYS */; /*!40000 ALTER TABLE `kardex_lineas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.kardex_motivos DROP TABLE IF EXISTS `kardex_motivos`; CREATE TABLE IF NOT EXISTS `kardex_motivos` ( `MotivoID` char(3) NOT NULL DEFAULT '', `Motivo` char(20) DEFAULT NULL, PRIMARY KEY (`MotivoID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.kardex_motivos: ~6 rows (aproximadamente) DELETE FROM `kardex_motivos`; /*!40000 ALTER TABLE `kardex_motivos` DISABLE KEYS */; INSERT INTO `kardex_motivos` (`MotivoID`, `Motivo`) VALUES ('AJU', 'AJUSTE'), ('DEV', 'DEVOLUCION'), ('FAL', 'DESPERFECTOS'), ('REG', 'REGALOS'), ('REI', 'REINTEGRO'), ('TRA', 'TRANSFERENCIA'); /*!40000 ALTER TABLE `kardex_motivos` ENABLE KEYS */; -- Volcando estructura para tabla myproject.letras DROP TABLE IF EXISTS `letras`; CREATE TABLE IF NOT EXISTS `letras` ( `CuentaID` int(11) NOT NULL DEFAULT '0', `VentaID` int(11) DEFAULT '0', `Tipo` enum('0','1') DEFAULT '0', `ClienteID` int(11) DEFAULT NULL, `DocumentoID` char(3) DEFAULT NULL, `NumDocumento` char(11) DEFAULT '', `MonedaID` char(3) DEFAULT NULL, `Cambio` double(4,3) DEFAULT '0.000', `Monto` decimal(10,2) DEFAULT '0.00', `Total` decimal(10,2) DEFAULT '0.00', `Pagos` decimal(10,2) DEFAULT '0.00', `Saldo` decimal(10,2) DEFAULT '0.00', `Inicial` decimal(10,2) DEFAULT '0.00', `Tasa` decimal(2,0) DEFAULT NULL, `Interes` decimal(10,2) DEFAULT '0.00', `Letras` decimal(3,0) DEFAULT '0', `Lapso` decimal(2,0) DEFAULT '0', `Fecha` date DEFAULT NULL, `Estado` enum('0','1','9') DEFAULT '0', PRIMARY KEY (`CuentaID`), KEY `fk_letras_documentos` (`DocumentoID`) USING BTREE, KEY `fk_letras_monedas` (`MonedaID`) USING BTREE, KEY `fk_letras_clientes` (`ClienteID`) USING BTREE, CONSTRAINT `fk_letras_clientes` FOREIGN KEY (`ClienteID`) REFERENCES `clientes` (`ClienteID`) ON UPDATE CASCADE, CONSTRAINT `fk_letras_documentos` FOREIGN KEY (`DocumentoID`) REFERENCES `documentos` (`DocumentoID`) ON UPDATE CASCADE, CONSTRAINT `fk_letras_monedas` FOREIGN KEY (`MonedaID`) REFERENCES `monedas` (`MonedaID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.letras: ~0 rows (aproximadamente) DELETE FROM `letras`; /*!40000 ALTER TABLE `letras` DISABLE KEYS */; /*!40000 ALTER TABLE `letras` ENABLE KEYS */; -- Volcando estructura para tabla myproject.letras_lineas DROP TABLE IF EXISTS `letras_lineas`; CREATE TABLE IF NOT EXISTS `letras_lineas` ( `CuentaID` int(11) NOT NULL DEFAULT '0', `LetraID` char(10) NOT NULL DEFAULT '', `Vence` date DEFAULT NULL, `Pago` date DEFAULT NULL, `Letra` decimal(10,2) DEFAULT '0.00', `Interes` decimal(10,2) DEFAULT '0.00', `Importe` decimal(10,2) DEFAULT '0.00', `DocumentoID` char(3) DEFAULT '', `NumDocumento` char(11) DEFAULT '', PRIMARY KEY (`CuentaID`,`LetraID`), KEY `fk_letras_lineas_documentos` (`DocumentoID`) USING BTREE, CONSTRAINT `fk_letras_lineas_documentos` FOREIGN KEY (`DocumentoID`) REFERENCES `documentos` (`DocumentoID`) ON UPDATE CASCADE, CONSTRAINT `fk_letras_lineas_letras` FOREIGN KEY (`CuentaID`) REFERENCES `letras` (`CuentaID`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.letras_lineas: ~0 rows (aproximadamente) DELETE FROM `letras_lineas`; /*!40000 ALTER TABLE `letras_lineas` DISABLE KEYS */; /*!40000 ALTER TABLE `letras_lineas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.lineas DROP TABLE IF EXISTS `lineas`; CREATE TABLE IF NOT EXISTS `lineas` ( `LineaID` smallint(6) NOT NULL DEFAULT '0', `Linea` char(30) DEFAULT '', PRIMARY KEY (`LineaID`), KEY `ix_lineas_linea` (`Linea`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.lineas: ~1 rows (aproximadamente) DELETE FROM `lineas`; /*!40000 ALTER TABLE `lineas` DISABLE KEYS */; INSERT INTO `lineas` (`LineaID`, `Linea`) VALUES (1, 'LINEA'); /*!40000 ALTER TABLE `lineas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.marcas DROP TABLE IF EXISTS `marcas`; CREATE TABLE IF NOT EXISTS `marcas` ( `MarcaID` smallint(4) NOT NULL, `Marca` char(30) DEFAULT '', PRIMARY KEY (`MarcaID`), KEY `ix_marcas_marca` (`Marca`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.marcas: ~1 rows (aproximadamente) DELETE FROM `marcas`; /*!40000 ALTER TABLE `marcas` DISABLE KEYS */; INSERT INTO `marcas` (`MarcaID`, `Marca`) VALUES (1, 'MARCA'); /*!40000 ALTER TABLE `marcas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.medidas DROP TABLE IF EXISTS `medidas`; CREATE TABLE IF NOT EXISTS `medidas` ( `MedidaID` char(3) NOT NULL DEFAULT '', `Medida` char(30) DEFAULT '', `Bloqueado` tinyint(1) DEFAULT '0', PRIMARY KEY (`MedidaID`), KEY `ix_medidas_medida` (`Medida`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.medidas: ~21 rows (aproximadamente) DELETE FROM `medidas`; /*!40000 ALTER TABLE `medidas` DISABLE KEYS */; INSERT INTO `medidas` (`MedidaID`, `Medida`, `Bloqueado`) VALUES ('1/2', '1/2 MEDIO', 0), ('1/4', '1/4 CUARTO', 0), ('1/8', '1/8 OCTAVO', 0), ('8VO', 'OCTAVO', 0), ('BOL', 'BOLSA', 0), ('CJA', 'CAJA', 0), ('DOC', 'DOCENA', 0), ('HOJ', 'HOJAS', 0), ('HOR', 'HORAS', 0), ('JGO', 'JUEGO', 0), ('KIT', 'KIT', 0), ('KLG', 'KILO', 0), ('MIN', 'MINUTOS', 0), ('MTR', 'METRO', 0), ('PAQ', 'PAQUETE', 0), ('PAR', 'PAR', 0), ('PLI', 'PLIEGO', 0), ('PZA', 'PIEZA', 0), ('ROL', 'ROLLO', 0), ('SET', 'SET', 0), ('UND', 'UNIDAD', 1); /*!40000 ALTER TABLE `medidas` ENABLE KEYS */; -- Volcando estructura para tabla myproject.menu_archivo DROP TABLE IF EXISTS `menu_archivo`; CREATE TABLE IF NOT EXISTS `menu_archivo` ( `MenuID` char(10) NOT NULL, `Name` char(20) DEFAULT '', `ZOrder` smallint(6) DEFAULT '0', `Level` smallint(6) DEFAULT '0', `Prompt` char(100) DEFAULT '', `Message` char(100) DEFAULT '', `Font` char(70) DEFAULT '', `Color` char(25) DEFAULT '', `IsHidden` smallint(6) DEFAULT '0', `IsCascade` smallint(6) DEFAULT '0', `IsRest` smallint(6) DEFAULT '0', `TCommand` smallint(6) DEFAULT '0', `Command` char(100) DEFAULT '', `SkipFor` char(100) DEFAULT '', `Shortcut` char(50) DEFAULT '', `TPicture` smallint(6) DEFAULT '0', `Picture` char(100) DEFAULT '', `Toolbar` smallint(6) DEFAULT '0', `IsButton` smallint(6) DEFAULT '0', `btnSepare` smallint(6) DEFAULT '0', `btnCaption` char(30) DEFAULT '', `btnIconOn` char(100) DEFAULT '', `btnIconOff` char(100) DEFAULT '', `btnOrder` smallint(6) DEFAULT '0', `Password` char(10) DEFAULT '', PRIMARY KEY (`MenuID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Volcando datos para la tabla myproject.menu_archivo: ~95 rows (aproximadamente) DELETE FROM `menu_archivo`; /*!40000 ALTER TABLE `menu_archivo` DISABLE KEYS */; INSERT INTO `menu_archivo` (`MenuID`, `Name`, `ZOrder`, `Level`, `Prompt`, `Message`, `Font`, `Color`, `IsHidden`, `IsCascade`, `IsRest`, `TCommand`, `Command`, `SkipFor`, `Shortcut`, `TPicture`, `Picture`, `Toolbar`, `IsButton`, `btnSepare`, `btnCaption`, `btnIconOn`, `btnIconOff`, `btnOrder`, `Password`) VALUES ('M1F703UBE0', 'mnureport', 54, 0, '\\ 1', '', 0, 'password.bmp', 0, 0, 0, '', '', '', 0, ''), ('M1MA17GJWN', '', 17, 1, 'Cambiar \\ 1', '', 0, 'shutdown.bmp', 0, 0, 0, '', '', '', 0, ''), ('M1RF11WK3Q', '', 10, 2, '\\-', '', '', '', 0, 0, 0, 0, '', '', '', 0, '', 0, 0, 0, '', '', '', 0, ''), ('M1XF1EEGCI', 'mnuedit', 19, 0, 'Edición', '', '', '', 0, 0, 0, 0, '', '', 'ALT+E,ALT+E', 0, '', 0, 0, 0, '', '', '', 0, ''), ('M1XF1EEQZJ', '', 20, 1, '\\ 1', 'ALT+F4,ALT+F4', 0, 'close.bmp', 0, 1, 1, '', '', '', 12, ''), ('M3580ZIDIQ', '', 14, 1, '\\-', '', '', '', 0, 0, 0, 0, '', '', '', 0, '', 0, 0, 0, '', '', '', 0, ''), ('M3580ZUHXO', '', 88, 1, 'Ayuda', '', '', '', 0, 0, 0, 0, 'MessageBox(Version(4))', '', 'F1,F1', 0, 'help.bmp', 0, 1, 1, '', '', '', 10, ''), ('M3580ZV9AI', '', 90, 1, '\\-', '', '', '', 0, 0, 0, 0, '', '', '', 0, '', 0, 0, 0, '', '', '', 0, ''), ('M3580ZVM92', '', 91, 1, 'Soporte técnico', '', '', '', 0, 0, 0, 0, 'goApp.DoForm("Habitaciones.Scx")', '', '', 0, 'support.bmp', 0, 0, 0, '', '', '', 0, ''), ('M36510E3QJ', 'mnucatalog', 37, 0, '\\ b.TotalStock; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_alquiler_anular DROP PROCEDURE IF EXISTS `sp_alquiler_anular`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_alquiler_anular`(IN `tnAlquilerID` int) BEGIN DELETE FROM habitaciones_alquiler WHERE AlquilerID = tnAlquilerID; DELETE FROM habitaciones_ocupantes WHERE AlquilerID = tnAlquilerID; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_alquiler_estados DROP PROCEDURE IF EXISTS `sp_alquiler_estados`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_alquiler_estados`(IN `tnAlquilerID` int,IN `tdDesde` date,IN `tdHasta` date) BEGIN #Routine body goes here... DECLARE ldFecha DATE; DECLARE lnEstado TINYINT; UPDATE habitaciones_estados SET AlquilerID = 0 WHERE AlquilerID = tnAlquilerID; SET ldFecha := tdDesde; WHILE ldFecha <= tdHasta DO SET lnEstado := (SELECT Estado FROM habitaciones_estados WHERE AlquilerID = 0 AND Fecha = ldFecha); INSERT INTO habitaciones_estados SET AlquilerID = tnAlquilerID, Fecha = ldFecha, Estado = IFNULL(lnEstado, 1); SET ldFecha := ADDDATE(ldFecha, 1); END WHILE; DELETE FROM habitaciones_estados WHERE AlquilerID = 0; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_balance DROP PROCEDURE IF EXISTS `sp_balance`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_balance`(IN tdDesde date) BEGIN DECLARE lcPeriodo CHAR(6); SET lcPeriodo = DATE_FORMAT(tdDesde, '%Y%m'); SELECT a.ProductoID, b.Producto, b.MedidaID, b.MedidaID EnteroID, b.FraccionID, b.Factor, IFNULL(c.CanInicial, 0) Inicial, IFNULL(a.Entrada, 0) Entrada, IFNULL(a.Salida, 0) Salida, (IFNULL(c.CanInicial, 0) + IFNULL(a.Entrada, 0) - IFNULL(a.Salida, 0)) Saldo FROM (SELECT a.ProductoID, a.Tipo, SUM(IF(a.Kardex = 'E', a.Cantidad * a.Factor, 0) * IF(a.Estado = '9', 0, 1)) Entrada, SUM(IF(a.Kardex = 'S', a.Cantidad * a.Factor, 0) * IF(a.Estado = '9', 0, 1)) Salida FROM kardex_lineas a LEFT JOIN kardex b ON a.KardexID = b.KardexID WHERE DATE_FORMAT(b.Fecha, '%Y%m') = lcPeriodo GROUP BY 1, 2) a LEFT JOIN productos b ON a.ProductoID = b.ProductoID LEFT JOIN (SELECT a.ProductoID, SUM(IF(a.Kardex = 'E', a.Cantidad * a.Factor, 0) * IF(a.Estado = '9', 0, 1)) - SUM(IF(a.Kardex = 'S', a.Cantidad * a.Factor, 0) * IF(a.Estado = '9', 0, 1)) CanInicial FROM kardex_lineas a LEFT JOIN kardex b ON a.KardexID = b.KardexID WHERE b.Fecha < tdDesde GROUP BY 1, 2 ORDER BY 1) c ON a.ProductoID = c.ProductoID WHERE IFNULL(a.ProductoID, 0) > 0 ORDER BY b.Producto ; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_borrar_movimientos DROP PROCEDURE IF EXISTS `sp_borrar_movimientos`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_borrar_movimientos`() BEGIN UPDATE productos SET Stock = 99999; UPDATE clientes SET Deuda = 99999; UPDATE proveedores SET Deuda = 99999; DELETE FROM kardex_lineas; DELETE FROM kardex; DELETE FROM entradas; DELETE FROM salidas; DELETE FROM compras; DELETE FROM ventas; DELETE FROM notas_credito; DELETE FROM prestamos; DELETE FROM inventarios; DELETE FROM produccion; DELETE FROM transferencias; DELETE FROM pedidos_lineas; DELETE FROM pedidos; DELETE FROM proformas_lineas; DELETE FROM proformas; DELETE FROM guias_lineas; DELETE FROM guias; DELETE FROM notas_credito; DELETE FROM notas_debito; DELETE FROM clientes_ctacte; DELETE FROM proveedores_ctacte; DELETE FROM cajas_lineas; DELETE FROM cajas; DELETE FROM servicios; DELETE FROM habitaciones_alquiler; DELETE FROM habitaciones_estados; DELETE FROM habitaciones_ocupantes; DELETE FROM productos_series; DELETE FROM productos_lotes; UPDATE productos SET Stock = 0, Saldo = 0, CostoPromedio = 0, Reservado = 0, Resto = 0; UPDATE clientes SET Deuda = 0; UPDATE proveedores SET Deuda = 0; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_buscar DROP PROCEDURE IF EXISTS `sp_buscar`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_buscar`(IN tcCodBarra char(30)) BEGIN IF NOT ISNULL(tcCodBarra) THEN IF EXISTS(SELECT * FROM productos WHERE CodBarra = tcCodBarra) THEN SELECT * FROM productos WHERE CodBarra = tcCodBarra; ELSEIF EXISTS(SELECT * FROM productos_precios WHERE CodBarra = tcCodBarra) THEN SELECT * FROM productos_precios a LEFT JOIN productos b ON b.ProductoID = a.ProductoID WHERE CodBarra = tcCodBarra; ELSEIF EXISTS(SELECT * FROM productos_series WHERE CodBarra = tcCodBarra) THEN SELECT * FROM productos_series a LEFT JOIN productos b ON b.ProductoID = a.ProductoID WHERE CodBarra = tcCodBarra; END IF; END IF; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_caja_apertura DROP PROCEDURE IF EXISTS `sp_caja_apertura`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_caja_apertura`(IN tnCajaID int, IN tnTerminalID smallint, IN tnTurnoID smallint, IN tdFecha date, IN tnCajeroID smallint, IN tnInicial1 decimal(10,2), IN tnInicial2 decimal(10,2)) BEGIN IF NOT EXISTS (SELECT * FROM cajas WHERE CajaID = tnCajaID) THEN INSERT cajas SET CajaID = tnCajaID, TerminalID = tnTerminalID, TurnoID = tnTurnoID, Fecha = tdFecha, Hora = CURTIME(); END IF; UPDATE cajas SET CajeroID = tnCajeroID, Inicial1 = tnInicial1, Inicial2 = tnInicial2 WHERE CajaID = tnCajaID; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_caja_resumen DROP PROCEDURE IF EXISTS `sp_caja_resumen`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_caja_resumen`(IN tnTerminalID smallint,IN tdFecha date) BEGIN SELECT a.TerminalID, a.TurnoID, a.Fecha, a.Inicial1, a.Inicial2, b.Terminal, c.Turno, d.OrigenID, d.Origen, d.Importe, d.Efectivo, d.Tarjeta, d.Cheque, d.ACuenta FROM cajas a LEFT JOIN terminales b ON b.TerminalID = a.TerminalID LEFT JOIN turnos c ON a.TurnoID = c.TurnoID LEFT JOIN (SELECT tnTerminalID TerminalID, a.OrigenID, a.Origen, IFNULL(b.Importe, 0) Importe, IFNULL(b.Efectivo, 0) Efectivo, IFNULL(b.Tarjeta, 0) Tarjeta, IFNULL(b.Cheque, 0) Cheque, IFNULL(b.ACuenta, 0) ACuenta FROM cajas_origenes a LEFT JOIN (SELECT TerminalID, OrigenID, SUM(Importe) Importe, SUM(Efectivo) Efectivo, SUM(Tarjeta) Tarjeta, SUM(Cheque) Cheque, SUM(ACuenta) ACuenta FROM cajas_lineas WHERE TerminalID = tnTerminalID AND Fecha = tdFecha GROUP BY 2) b ON b.OrigenID = a.OrigenID) d ON a.TerminalID = d.TerminalID WHERE a.TerminalID = tnTerminalID AND a.Fecha = tdFecha; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_caja_resumen_turnos DROP PROCEDURE IF EXISTS `sp_caja_resumen_turnos`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_caja_resumen_turnos`(IN tnTerminalID smallint, IN tnTurnoID smallint, IN tdFecha date) BEGIN SELECT a.TerminalID, a.TurnoID, a.Fecha, a.Inicial1, a.Inicial2, b.Terminal, c.Turno, d.OrigenID, d.Origen, d.Importe, d.Efectivo, d.Tarjeta, d.Cheque, d.ACuenta FROM cajas a LEFT JOIN terminales b ON a.TerminalID = b.TerminalID LEFT JOIN turnos c ON a.TurnoID = c.TurnoID LEFT JOIN (SELECT tnTerminalID TerminalID, a.OrigenID, a.Origen, IFNULL(b.Importe, 0) Importe, IFNULL(b.Efectivo, 0) Efectivo, IFNULL(b.Tarjeta, 0) Tarjeta, IFNULL(b.Cheque, 0) Cheque, IFNULL(b.ACuenta, 0) ACuenta FROM cajas_origenes a LEFT JOIN (SELECT TerminalID, Origen, SUM(Importe) Importe, SUM(Efectivo) Efectivo, SUM(Tarjeta) Tarjeta, SUM(Cheque) Cheque, SUM(ACuenta) ACuenta FROM cajas_lineas WHERE TerminalID = tnTerminalID AND TurnoID = tnTurnoID AND Fecha = tdFecha GROUP BY 2) b ON b.Origen = a.OrigenID) d ON a.TerminalID = d.TerminalID WHERE a.TerminalID = tnTerminalID AND a.TurnoID = tnTurnoID AND a.Fecha = tdFecha; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_caja_turno_seleccionar DROP PROCEDURE IF EXISTS `sp_caja_turno_seleccionar`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_caja_turno_seleccionar`(IN tnTerminalID int, IN tdFecha date) BEGIN #Routine body goes here... #SET ldAyer := ADDDATE(tdFecha, -1); DECLARE ldHoy, ldAyer DATE; DECLARE lnCantidad, lnAbiertos, lnTotal INT; SET ldHoy := tdFecha; SET ldAyer := (SELECT IFNULL(Fecha, tdFecha) FROM cajas ORDER BY Fecha DESC LIMIT 1); SET lnTotal := (SELECT COUNT(*) FROM turnos); SET lnCantidad := (SELECT COUNT(*) FROM cajas WHERE TerminalID = tnTerminalID AND Fecha = ldHoy); SET lnAbiertos := (SELECT COUNT(*) FROM cajas WHERE TerminalID = tnTerminalID AND Fecha = ldHoy AND Estado = '0'); IF lnAbiertos > 0 THEN #Seleccionar SELECT b.CajaID, a.TurnoID, a.Turno, IFNULL(b.Inicial1, 0) Inicial1, IFNULL(b.Inicial2, 0) Inicial2, IFNULL(b.Estado, '0') Estado FROM turnos a LEFT JOIN cajas b ON a.TurnoID = b.TurnoID WHERE TerminalID = tnTerminalID AND Fecha = ldHoy AND Estado = '0' LIMIT 1; ELSE IF lnCantidad = 0 THEN SET lnCantidad := (SELECT COUNT(*) FROM cajas WHERE TerminalID = tnTerminalID AND Fecha = ldAyer); SET lnAbiertos := (SELECT COUNT(*) FROM cajas WHERE TerminalID = tnTerminalID AND Fecha = ldAyer AND Estado = '0'); IF lnAbiertos > 0 THEN #Seleccionar SELECT b.CajaID, a.TurnoID, a.Turno, IFNULL(b.Inicial1, 0) Inicial1, IFNULL(b.Inicial2, 0) Inicial2, IFNULL(b.Estado, '0') Estado FROM turnos a LEFT JOIN cajas b ON a.TurnoID = b.TurnoID WHERE TerminalID = tnTerminalID AND Fecha = ldAyer AND Estado = '0' LIMIT 1; ELSE #Crear IF lnCantidad < lnTotal THEN SELECT IFNULL(b.CajaID, 0) CajaID, a.TurnoID, a.Turno, IFNULL(b.Inicial1, 0) Inicial1, IFNULL(b.Inicial2, 0) Inicial2, IFNULL(b.Estado, '0') Estado FROM turnos a LEFT JOIN (SELECT * FROM cajas WHERE TerminalID = tnTerminalID AND Fecha = ldAyer) b ON a.TurnoID = b.TurnoID WHERE IFNULL(b.Estado, '0') = '0' LIMIT 1; ELSE SELECT IFNULL(b.CajaID, 0) CajaID, a.TurnoID, a.Turno, IFNULL(b.Inicial1, 0) Inicial1, IFNULL(b.Inicial2, 0) Inicial2, IFNULL(b.Estado, '0') Estado FROM turnos a LEFT JOIN (SELECT * FROM cajas WHERE TerminalID = tnTerminalID AND Fecha = ldHoy) b ON a.TurnoID = b.TurnoID WHERE IFNULL(b.Estado, '0') = '0' LIMIT 1; END IF; END IF; ELSE #Crear SELECT IFNULL(b.CajaID, 0) CajaID, a.TurnoID, a.Turno, IFNULL(b.Inicial1, 0) Inicial1, IFNULL(b.Inicial2, 0) Inicial2, IFNULL(b.Estado, '0') Estado FROM turnos a LEFT JOIN (SELECT * FROM cajas WHERE TerminalID = tnTerminalID AND Fecha = ldHoy) b ON a.TurnoID = b.TurnoID WHERE IFNULL(b.Estado, '0') = '0' LIMIT 1; END IF; END IF; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_clientes_ctacte DROP PROCEDURE IF EXISTS `sp_clientes_ctacte`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_clientes_ctacte`(IN tnClienteID int, IN tnLineas int) BEGIN SET @ldFecha = NULL; SET @lnDummy = 0; SET @lnSaldo = 0.00; IF tnLineas > 0 THEN SELECT a.Fecha FROM (SELECT Fecha FROM clientes_ctacte WHERE ClienteID = tnClienteID ORDER BY 1 DESC LIMIT tnLineas) a ORDER BY 1 LIMIT 1 INTO @ldFecha; SELECT ClienteID, IFNULL(SUM(Importe * IF(Tipo = 'S', -1, 1)), 0) Saldo FROM clientes_ctacte WHERE ClienteID = tnClienteID AND Fecha < @ldFecha INTO @lnDummy, @lnSaldo; SELECT a.*, TRUNCATE(@lnSaldo := @lnSaldo + (a.Importe * IF(a.Tipo = 'S', -1, 1)), 3) Saldo, c.DocumentoID ReferenciaID, c.NumDocumento NumReferencia, d.IdentidadID, d.NumIdentidad, d.Cliente, d.Direccion FROM clientes_ctacte a LEFT JOIN ventas b ON b.VentaID = a.VentaID LEFT JOIN kardex c ON c.KardexID = b.KardexID LEFT JOIN clientes d ON d.ClienteID = a.ClienteID WHERE a.ClienteID = tnClienteID AND a.Fecha >= @ldFecha; ELSE SELECT a.*, TRUNCATE(@lnSaldo := @lnSaldo + (a.Importe * IF(a.Tipo = 'S', -1, 1)), 3) Saldo, c.DocumentoID ReferenciaID, c.NumDocumento NumReferencia, d.IdentidadID, d.NumIdentidad, d.Cliente, d.Direccion FROM clientes_ctacte a LEFT JOIN ventas b ON b.VentaID = a.VentaID LEFT JOIN kardex c ON c.KardexID = b.KardexID LEFT JOIN clientes d ON d.ClienteID = a.ClienteID WHERE a.ClienteID = tnClienteID; END IF; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_clientes_ocupantes DROP PROCEDURE IF EXISTS `sp_clientes_ocupantes`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_clientes_ocupantes`(IN `tnAlquilerID` int, IN `tnClienteID` int) BEGIN #Borrar anterior cliente DELETE FROM habitaciones_ocupantes WHERE AlquilerID = tnAlquilerID AND NOT ISNULL(ClienteID); #Insertar cliente como ocupante INSERT INTO habitaciones_ocupantes (AlquilerID, ClienteID, IdentidadID, NumIdentidad, Nombre, Edad, EstCivil, Profesion, NacionalidadID) SELECT tnAlquilerID, ClienteID, IdentidadID, NumIdentidad, Cliente Nombre, Edad, EstCivil, Profesion, NacionalidadID FROM clientes WHERE ClienteID = tnClienteID; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_clientes_saldos DROP PROCEDURE IF EXISTS `sp_clientes_saldos`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_clientes_saldos`(IN tcTipo char(1),IN tnClienteID int,IN tnImporte decimal(10,2)) BEGIN CASE tcTipo WHEN 'E' THEN UPDATE clientes SET Deuda = Deuda + tnImporte WHERE ClienteID = tnClienteID; WHEN 'S' THEN UPDATE clientes SET Deuda = Deuda - tnImporte WHERE ClienteID = tnClienteID; END CASE; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_debug DROP PROCEDURE IF EXISTS `sp_debug`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_debug`(enabled INTEGER, msg VARCHAR(255)) BEGIN IF enabled THEN BEGIN SELECT CONCAT("** ", msg) AS '** DEBUG:'; END; END IF; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_etiqueta_nuevo DROP PROCEDURE IF EXISTS `sp_etiqueta_nuevo`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_etiqueta_nuevo`(IN tnProductoID int,IN tnCantidad int) BEGIN IF NOT EXISTS(SELECT * FROM productos_favoritos WHERE ProductoID = tnProductoID) THEN INSERT productos_favoritos SET ProductoID = tnProductoID, Factor = 1, Cantidad = tnCantidad, Grupo = 1; ELSE UPDATE productos_favoritos SET Cantidad = Cantidad + tnCantidad WHERE ProductoID = tnProductoID AND Tipo = 'P'; END IF; DELETE FROM productos_favoritos WHERE ProductoID = tnProductoID AND Cantidad < 1; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_importar DROP PROCEDURE IF EXISTS `sp_importar`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_importar`(IN tnKardexID int) BEGIN UPDATE productos_favoritos a LEFT JOIN kardex_lineas b ON a.ProductoID = b.ProductoID AND a.Factor = b.Factor SET a.Cantidad = a.Cantidad + b.Cantidad WHERE b.KardexID = tnKardexID; INSERT IGNORE INTO productos_favoritos (ProductoID, Factor, Cantidad, Grupo) SELECT ProductoID, Factor, Cantidad, 1 Grupo FROM kardex_lineas WHERE KardexID = tnKardexID; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_inventario DROP PROCEDURE IF EXISTS `sp_inventario`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_inventario`(IN tnNumeroID INT, IN tnKardexID INT) BEGIN DECLARE lnProductoID INT; DECLARE lcProducto CHAR(50); DECLARE lcKardex CHAR(1); DECLARE lcMonedaID, lcMedidaID, lcFraccionID CHAR(3); DECLARE lnFactor, lnItem SMALLINT; DECLARE lnCostoUnitario, lnCosto, lnCostoReal, lnImporte DECIMAL(10,2); DECLARE lnCostoPromedio DECIMAL(16,6); DECLARE lnStock, lnStockFisico, lnDiferencia, lnCantidad, lnEntero, lnFraccion DECIMAL(10,0); DECLARE Error,Done BOOLEAN DEFAULT FALSE; DECLARE dbTabla CURSOR FOR SELECT ProductoID, Producto, MonedaID, MedidaID, FraccionID, Factor, Costo, CostoPromedio, Stock, StockFisico FROM productos WHERE Inventario = 1 AND (StockFisico - Stock) <> 0; DECLARE CONTINUE HANDLER FOR NOT FOUND SET Done = TRUE; OPEN dbTabla; INSERT kardex SET KardexID = tnKardexID, Referencia = tnNumeroID, ConceptoID = 'INV', Fecha = CURDATE(); INSERT inventarios SET InventarioID = tnNumeroID, KardexID = tnKardexID, Titulo = CONCAT_WS('.', 'INV', DATE_FORMAT(CURDATE(), '%m.%Y')), Fecha = CURDATE(); SET lnItem = 0; REPEAT FETCH NEXT FROM dbTabla INTO lnProductoID, lcProducto, lcMonedaID, lcMedidaID, lcFraccionID, lnFactor, lnCosto, lnCostoPromedio, lnStock, lnStockFisico; IF NOT Done AND (lnStockFisico <> lnStock) THEN SET lnDiferencia = lnStockFisico - lnStock; SET lnCantidad = ABS(lnDiferencia); SET lcKardex = IF(lnDiferencia < 0, 'S', 'E'); SET lnCostoUnitario = IF(lcKardex = 'E', lnCosto / lnFactor, lnCostoPromedio); SET lnEntero = TRUNCATE(lnCantidad / lnFactor, 0); SET lnFraccion = MOD(lnCantidad, lnFactor); IF lnEntero > 0 THEN SET lnItem = lnItem + 1; SET lnCostoReal = lnCostoUnitario * lnFactor; SET lnImporte = lnCostoReal * lnEntero; INSERT kardex_lineas SET KardexID = tnKardexID, Kardex = lcKardex, Item = lnItem, ProductoID = lnProductoID, Detalle = lcProducto, MonedaID = lcMonedaID, MedidaID = lcMedidaID, Factor = lnFactor, Cantidad = lnEntero, Precio = lnCostoReal, Costo = lnCostoReal, Importe = lnImporte; END IF; IF lnFraccion > 0 THEN SET lnItem = lnItem + 1; SET lnCostoReal = lnCostoUnitario * 1; SET lnImporte = lnCostoReal * lnFraccion; INSERT kardex_lineas SET KardexID = tnKardexID, Kardex = lcKardex, Item = lnItem, ProductoID = lnProductoID, Detalle = lcProducto, MonedaID = lcMonedaID, MedidaID = lcFraccionID, Factor = 1, Cantidad = lnFraccion, Precio = lnCostoReal, Costo = lnCostoReal, Importe = lnImporte; END IF; END IF; UNTIL Done = TRUE END REPEAT; CLOSE dbTabla; UPDATE productos SET StockFisico = 0, Inventario = 0 WHERE Inventario = 1; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_inventario_auto DROP PROCEDURE IF EXISTS `sp_inventario_auto`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_inventario_auto`(IN tcCodBarra CHAR(30), IN tnEtiqueta tinyint) BEGIN DECLARE lnProductoID, lnFactor INT; SELECT ProductoID, Factor FROM productos_precios WHERE CodBarra = tcCodBarra INTO lnProductoID, lnFactor; IF IFNULL(lnProductoID, -1) = -1 THEN SELECT ProductoID, Factor FROM productos WHERE CodBarra = tcCodBarra INTO lnProductoID, lnFactor; END IF; IF IFNULL(lnProductoID, -1) > 0 THEN UPDATE productos SET StockFisico = StockFisico + lnFactor, Inventario = 1 WHERE ProductoID = lnProductoID; IF ROW_COUNT() > 0 THEN IF tnEtiqueta = 1 THEN CALL sp_etiqueta_nuevo(lnProductoID, lnFactor); END IF; ELSE SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO = 3001; END IF; ELSE SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO = 3001; END IF; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_inventario_manual DROP PROCEDURE IF EXISTS `sp_inventario_manual`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_inventario_manual`(IN tnProductoID int, IN tnCantidad decimal(10), IN tnInventario tinyint, IN tnEtiqueta tinyint) BEGIN DECLARE lnEtiquetas INT; SELECT tnCantidad - StockFisico FROM productos WHERE ProductoID = tnProductoID INTO lnEtiquetas; UPDATE productos SET StockFisico = tnCantidad, Inventario = tnInventario WHERE ProductoID = tnProductoID; IF tnEtiqueta = 1 THEN CALL sp_etiqueta_nuevo(tnProductoID, lnEtiquetas); END IF; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_kardex DROP PROCEDURE IF EXISTS `sp_kardex`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_kardex`(IN tnProductoID int, IN tdDesde date, IN tdHasta date) BEGIN IF ISNULL(tdDesde) THEN SET tdHasta := (SELECT b.Fecha FROM kardex_lineas a LEFT JOIN kardex b ON a.KardexID = b.KardexID WHERE a.ProductoID = tnProductoID ORDER BY 1 DESC LIMIT 1); SET tdDesde := (SELECT a.Fecha FROM (SELECT b.Fecha FROM kardex_lineas a LEFT JOIN kardex b ON a.KardexID = b.KardexID WHERE a.ProductoID = tnProductoID ORDER BY 1 DESC LIMIT 15) a ORDER BY 1 LIMIT 1); END IF; SET @lnCanInicial := 0; SET @lnImpInicial := 0.00; SELECT a.CanSaldo, a.ImpSaldo FROM (SELECT a.ProductoID, SUM((a.Cantidad * a.Factor) * IF(a.Kardex = 'S', -1, 1) * IF(a.Estado = '9', 0, 1)) CanSaldo, SUM((a.Cantidad * a.Costo) * IF(a.Kardex = 'S', -1, 1) * IF(a.Estado = '9', 0, 1)) ImpSaldo FROM kardex_lineas a LEFT JOIN kardex b ON a.KardexID = b.KardexID WHERE a.ProductoID = tnProductoID AND b.Fecha < tdDesde GROUP BY 1 ORDER BY 1) a INTO @lnCanInicial, @lnImpInicial; SET @lnCanSaldo := @lnCanInicial; SET @lnImpSaldo := @lnImpInicial; SELECT a.KardexID, a.Kardex, a.ProductoID, a.MonedaID, a.MedidaID, a.Cantidad, a.Factor, a.Precio, a.Costo, a.Estado, b.ConceptoID, b.Referencia, b.Fecha, b.DocumentoID, b.NumDocumento, b.Cambio, c.Producto, c.MedidaID EnteroID, c.FraccionID, c.Factor FactorX, d.Concepto, TRUNCATE(@lnCanInicial, 0) CanInicial, TRUNCATE(@lnImpInicial, 3) ImpInicial, TRUNCATE(@lnCanSaldo := @lnCanSaldo + ((a.Cantidad * a.Factor) * IF(a.Kardex = 'S', -1, 1) * IF(a.Estado = '9', 0, 1)), 0) CanSaldo, TRUNCATE(@lnImpSaldo := @lnImpSaldo + ((a.Cantidad * a.Costo) * IF(a.Kardex = 'S', -1, 1) * IF(a.Estado = '9', 0, 1)), 3) ImpSaldo FROM kardex_lineas a LEFT JOIN kardex b ON a.KardexID = b.KardexID LEFT JOIN productos c ON a.ProductoID = c.ProductoID LEFT JOIN kardex_conceptos d ON b.ConceptoID = d.ConceptoID WHERE a.ProductoID = tnProductoID AND (b.Fecha BETWEEN tdDesde AND tdHasta); END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_kardex01 DROP PROCEDURE IF EXISTS `sp_kardex01`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_kardex01`(IN tnDesde int, IN tnHasta int, IN tdDesde date, IN tdHasta date) BEGIN SELECT a.KardexID, a.Kardex, a.ProductoID, a.Tipo, a.MonedaID, a.MedidaID, a.Cantidad, a.Factor, a.Precio, a.Costo, a.Estado, b.ConceptoID, b.Referencia, b.Fecha, b.DocumentoID, b.NumDocumento, b.Cambio, c.Producto, c.MedidaID EnteroID, c.FraccionID, c.Factor FactorX, d.Concepto, IFNULL(e.CanSaldo, 0) CanSaldo, IFNULL(e.ImpSaldo, 0) ImpSaldo FROM kardex_lineas a LEFT JOIN kardex b ON a.KardexID = b.KardexID LEFT JOIN productos c ON a.ProductoID = c.ProductoID AND a.Tipo = c.Tipo LEFT JOIN kardex_conceptos d ON b.ConceptoID = d.ConceptoID LEFT JOIN (SELECT a.ProductoID, a.Tipo, SUM((a.Cantidad * a.Factor) * IF(a.Kardex = 'S', -1, 1) * IF(a.Estado = '9', 0, 1)) CanSaldo, SUM((a.Cantidad * a.Costo) * IF(a.Kardex = 'S', -1, 1) * IF(a.Estado = '9', 0, 1)) ImpSaldo FROM kardex_lineas a LEFT JOIN kardex b ON a.KardexID = b.KardexID WHERE b.Fecha < tdDesde GROUP BY 1, 2 ORDER BY 1) e ON a.ProductoID = e.ProductoID AND a.Tipo = e.Tipo WHERE (a.ProductoID BETWEEN tnDesde AND tnHasta) AND (b.Fecha BETWEEN tdDesde AND tdHasta) ORDER BY c.Producto, a.KardexID, a.Item; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_lote DROP PROCEDURE IF EXISTS `sp_lote`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_lote`(IN tcKardex char(1), IN tnProductoID int, IN tcLote char(15), IN tdExpira date, IN tnCantidad int) BEGIN IF NOT EXISTS(SELECT * FROM productos_lotes WHERE ProductoID = tcProductoID AND Lote = tcLote) THEN INSERT productos_lotes SET ProductoID = tnProductoID, Lote = tcLote, Expira = tdExpira; END IF; CASE tcKardex WHEN 'E' THEN UPDATE productos_lotes SET Stock = Stock + tnCantidad WHERE ProductoID = tnProductoID AND Lote = tcLote; WHEN 'S' THEN UPDATE productos_lotes SET Stock = Stock - tnCantidad WHERE ProductoID = tnProductoID AND Lote = tcLote; END CASE; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_pedidos_mover DROP PROCEDURE IF EXISTS `sp_pedidos_mover`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_pedidos_mover`(IN tnModuloID smallint,IN tnEstacionID smallint,IN tnToModuloID smallint,IN tnToEstacionID smallint,IN tnPedidoID int) BEGIN UPDATE pedidos_estaciones SET PedidoID = tnPedidoID WHERE ModuloID = tnToModuloID AND EstacionID = tnToEstacionID; UPDATE pedidos_estaciones SET PedidoID = 0 WHERE ModuloID = tnModuloID AND EstacionID = tnEstacionID; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_precios DROP PROCEDURE IF EXISTS `sp_precios`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_precios`(IN tnProductoID int) BEGIN SELECT a.ProductoID, a.Producto, a.CodAlterno, a.Tipo, a.CodBarra, a.MedidaID, 1 Cantidad, "E" Unidad, a.Factor , a.Precio, a.Precio1, a.Precio2, a.Precio3, a.Costo, b.Medida, b.Medida Entero, c.Medida Fraccion FROM productos a LEFT JOIN medidas b ON a.MedidaID = b.MedidaID LEFT JOIN medidas c ON a.FraccionID = c.MedidaID WHERE a.ProductoID = tnProductoID UNION ALL SELECT a.ProductoID, a.Producto, a.CodAlterno, a.Tipo, a.CodBarra, a.FraccionID MedidaID, 1 Cantidad, "F" Unidad, 1 Factor , a.Precio, a.FraPrecio1, a.FraPrecio2, a.FraPrecio3, TRUNCATE(a.Costo / a.Factor, 2) Costo, b.Medida, c.Medida Entero, b.Medida Fraccion FROM productos a LEFT JOIN medidas b ON a.FraccionID = b.MedidaID LEFT JOIN medidas c ON a.MedidaID = c.MedidaID WHERE a.ProductoID = tnProductoID And a.Factor > 1 UNION ALL SELECT a.ProductoID, b.Producto, b.CodAlterno, a.Tipo, a.CodBarra, a.MedidaID, a.Cantidad, a.Unidad, a.Factor , 0.00 Precio, a.Precio1, a.Precio2, a.Precio3, TRUNCATE((b.Costo / b.Factor) * a.Factor, 2) Costo, c.Medida, d.Medida Entero, e.Medida Fraccion FROM productos_precios a LEFT JOIN productos b ON a.ProductoID = b.ProductoID AND a.Tipo = b.Tipo LEFT JOIN medidas c ON a.MedidaID = c.MedidaID LEFT JOIN medidas d ON b.MedidaID = d.MedidaID LEFT JOIN medidas e ON b.FraccionID = e.MedidaID WHERE a.ProductoID = tnProductoID ORDER BY 7 DESC; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_productos_compras DROP PROCEDURE IF EXISTS `sp_productos_compras`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_productos_compras`(IN tnProductoID int, IN tnMeses tinyint) BEGIN DECLARE ldDesde, ldHasta DATE; SET ldDesde := sf_firstdaymonth(ADDDATE(CURDATE(), INTERVAL (tnMeses * -1) MONTH)); SET ldHasta := sf_lastdaymonth(CURDATE()); SELECT DATE_FORMAT(b.Fecha, '%Y%m') Periodo, CONCAT_WS('-', sf_meses(MONTH(b.Fecha)), DATE_FORMAT(b.Fecha, '%y')) Leyenda, SUM(b.Cantidad) Cantidad, SUM(b.Importe) Importe FROM compras a LEFT JOIN kardex_lineas b ON a.KardexID = b.KardexID WHERE b.ProductoID = tnProductoID AND b.Fecha BETWEEN ldDesde AND ldHasta GROUP BY 1; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_productos_entradas DROP PROCEDURE IF EXISTS `sp_productos_entradas`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_productos_entradas`(IN tnProductoID int, IN tnMeses tinyint) BEGIN DECLARE ldDesde, ldHasta DATE; SET ldDesde := sf_firstdaymonth(ADDDATE(CURDATE(), INTERVAL (tnMeses * -1) MONTH)); SET ldHasta := sf_lastdaymonth(CURDATE()); SELECT DATE_FORMAT(Fecha, '%Y%m') Periodo, CONCAT_WS('-', sf_meses(MONTH(Fecha)), DATE_FORMAT(Fecha, '%y')) Leyenda, SUM(Cantidad) Cantidad, SUM(Importe) Importe FROM kardex_lineas WHERE Kardex = 'E' AND ProductoID = tnProductoID AND Fecha BETWEEN ldDesde AND ldHasta GROUP BY 1; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_productos_partes DROP PROCEDURE IF EXISTS `sp_productos_partes`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_productos_partes`(IN tcModo char(1), IN tnProductoID int) BEGIN CASE tcModo WHEN 'E' THEN UPDATE productos SET ConPartes = ConPartes + 1 WHERE ProductoID = tnProductoID; WHEN 'S' THEN UPDATE productos SET ConPartes = ConPartes - 1 WHERE ProductoID = tnProductoID; END CASE; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_productos_salidas DROP PROCEDURE IF EXISTS `sp_productos_salidas`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_productos_salidas`(IN tnProductoID int, IN tnMeses tinyint) BEGIN DECLARE ldDesde, ldHasta DATE; SET ldDesde := sf_firstdaymonth(ADDDATE(CURDATE(), INTERVAL (tnMeses * -1) MONTH)); SET ldHasta := sf_lastdaymonth(CURDATE()); SELECT DATE_FORMAT(Fecha, '%Y%m') Periodo, CONCAT_WS('-', sf_meses(MONTH(Fecha)), DATE_FORMAT(Fecha, '%y')) Leyenda, SUM(Cantidad) Cantidad, SUM(Importe) Importe FROM kardex_lineas WHERE Kardex = 'S' AND ProductoID = tnProductoID AND Fecha BETWEEN ldDesde AND ldHasta GROUP BY 1; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_productos_ventas DROP PROCEDURE IF EXISTS `sp_productos_ventas`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_productos_ventas`(IN tnProductoID int, IN tnMeses tinyint) BEGIN DECLARE ldDesde, ldHasta DATE; SET ldDesde := sf_firstdaymonth(ADDDATE(CURDATE(), INTERVAL (tnMeses * -1) MONTH)); SET ldHasta := sf_lastdaymonth(CURDATE()); SELECT DATE_FORMAT(b.Fecha, '%Y%m') Periodo, CONCAT_WS('-', sf_meses(MONTH(b.Fecha)),DATE_FORMAT(b.Fecha, '%y')) Leyenda, SUM(b.Cantidad) Cantidad, SUM(b.Importe) Importe, SUM(b.Costo * b.Cantidad) Costo, SUM(Importe - (b.Costo * b.Cantidad)) Utilidad, SUM(Descuento) Descuento FROM ventas a LEFT JOIN kardex_lineas b ON a.KardexID = b.KardexID WHERE b.ProductoID = tnProductoID AND b.Fecha BETWEEN ldDesde AND ldHasta GROUP BY 1; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_proveedores_ctacte DROP PROCEDURE IF EXISTS `sp_proveedores_ctacte`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_proveedores_ctacte`(IN tnProveedorID int, IN tnLineas int) BEGIN SET @ldFecha = NULL; SET @lnDummy = 0; SET @lnSaldo = 0.00; IF tnLineas > 0 THEN SELECT a.Fecha FROM (SELECT Fecha FROM proveedores_ctacte WHERE ProveedorID = tnProveedorID ORDER BY 1 DESC LIMIT tnLineas) a ORDER BY 1 LIMIT 1 INTO @ldFecha; SELECT ProveedorID, IFNULL(SUM(Importe * IF(Tipo = 'S', -1, 1)), 0) Saldo FROM proveedores_ctacte WHERE ProveedorID = tnProveedorID AND Fecha < @ldFecha INTO @lnDummy, @lnSaldo; SELECT a.*, TRUNCATE(@lnSaldo := @lnSaldo + (a.Importe * IF(a.Tipo = 'S', -1, 1)), 3) Saldo, c.DocumentoID ReferenciaID, c.NumDocumento NumReferencia, d.IdentidadID, d.NumIdentidad, d.Proveedor, d.Direccion FROM proveedores_ctacte a LEFT JOIN compras b ON b.CompraID = a.CompraID LEFT JOIN kardex c ON c.KardexID = b.KardexID LEFT JOIN proveedores d ON d.ProveedorID = a.ProveedorID WHERE a.ProveedorID = tnProveedorID AND a.Fecha >= @ldFecha; ELSE SELECT a.*, TRUNCATE(@lnSaldo := @lnSaldo + (a.Importe * IF(a.Tipo = 'S', -1, 1)), 3) Saldo, c.DocumentoID ReferenciaID, c.NumDocumento NumReferencia, d.IdentidadID, d.NumIdentidad, d.Proveedor, d.Direccion FROM proveedores_ctacte a LEFT JOIN compras b ON b.CompraID = a.CompraID LEFT JOIN kardex c ON c.KardexID = b.KardexID LEFT JOIN proveedores d ON d.ProveedorID = a.ProveedorID WHERE a.ProveedorID = tnProveedorID; END IF; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_proveedores_saldos DROP PROCEDURE IF EXISTS `sp_proveedores_saldos`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_proveedores_saldos`(IN tcTipo char(1),IN tnProveedorID int,IN tnImporte decimal(10,2)) BEGIN CASE tcTipo WHEN 'E' THEN UPDATE proveedores SET Deuda = Deuda + tnImporte WHERE ProveedorID = tnProveedorID; WHEN 'S' THEN UPDATE proveedores SET Deuda = Deuda - tnImporte WHERE ProveedorID = tnProveedorID; END CASE; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_reservar DROP PROCEDURE IF EXISTS `sp_reservar`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_reservar`(IN tcTipo char(1), IN tnProductoID int, IN tnCantidad decimal(10)) BEGIN CASE tcTipo WHEN 'E' THEN UPDATE productos SET Reservado = Reservado + tnCantidad, Resto = Stock - Reservado WHERE ProductoID = tnProductoID; WHEN 'S' THEN UPDATE productos SET Reservado = Reservado - tnCantidad, Resto = Stock - Reservado WHERE ProductoID = tnProductoID; END CASE; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_reserva_anular DROP PROCEDURE IF EXISTS `sp_reserva_anular`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_reserva_anular`(IN `tnReservaID` int) BEGIN DELETE FROM habitaciones_reservas WHERE ReservaID = tnReservaID; DELETE FROM habitaciones_ocupantes WHERE ReservaID = tnReservaID; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_seriar DROP PROCEDURE IF EXISTS `sp_seriar`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_seriar`(IN tcKardex char(1), IN tnProductoID int, IN tnTipo tinyint, IN tcSerie char(30), IN tcLote char(15), IN tdExpira date, IN tcTalla char(5), IN tnCantidad int) BEGIN CASE tnTipo WHEN 1 THEN CALL sp_serie(tcKardex, tnProductoID, tcSerie); WHEN 2 THEN CALL sp_lote(tcKardex, tnProductoID, tcLote, tdExpira, tnCantidad); WHEN 3 THEN CALL sp_talla(tcKardex, tnProductoID, tcTalla, tnCantidad); WHEN 4 THEN CALL sp_color(tcKardex, tnProductoID, tcTalla, tnCantidad); ELSE BEGIN END; END CASE; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_serie DROP PROCEDURE IF EXISTS `sp_serie`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_serie`(IN tcKardex char(1), IN tnProductoID int, IN tcSerie char(30)) BEGIN IF IFNULL(tcSerie, '') <> '' THEN IF NOT EXISTS(SELECT * FROM productos_series WHERE ProductoID = tcProductoID AND Serie = tcSerie) THEN INSERT productos_series SET ProductoID = tnProductoID, Serie = tcSerie, Cantidad = 1; END IF; CASE tcKardex WHEN 'E' THEN UPDATE productos_series SET Cantidad = Cantidad + 1 WHERE ProductoID = tnProductoID AND Serie = tcSerie; WHEN 'S' THEN UPDATE productos_series SET Cantidad = Cantidad - 1 WHERE ProductoID = tnProductoID AND Serie = tcSerie; END CASE; END IF; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_stockear DROP PROCEDURE IF EXISTS `sp_stockear`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_stockear`(IN tcKardex char(1), IN tnProductoID int, IN tnCantidad decimal(15,4), IN tnCosto decimal(10,2)) BEGIN CASE tcKardex WHEN 'E' THEN UPDATE productos SET Stock = Stock + tnCantidad, Saldo = Saldo + tnCosto, CostoPromedio = IF(Saldo > 0, Saldo / Stock, 0) WHERE ProductoID = tnProductoID; WHEN 'S' THEN UPDATE productos SET Stock = Stock - tnCantidad, Saldo = Saldo - tnCosto, CostoPromedio = IF(Saldo > 0, Saldo / Stock, 0) WHERE ProductoID = tnProductoID; END CASE; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_talla DROP PROCEDURE IF EXISTS `sp_talla`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_talla`(IN tcKardex char(1), IN tnProductoID int, IN tcTalla char(5), IN tnCantidad int) BEGIN IF NOT EXISTS(SELECT * FROM productos_tallas WHERE ProductoID = tcProductoID AND Talla = tcTalla) THEN INSERT productos_tallas SET ProductoID = tnProductoID, Talla = tcTalla; END IF; CASE tcKardex WHEN 'E' THEN UPDATE productos_tallas SET Stock = Stock + tnCantidad WHERE ProductoID = tnProductoID AND Talla = tcTalla; WHEN 'S' THEN UPDATE productos_tallas SET Stock = Stock - tnCantidad WHERE ProductoID = tnProductoID AND Talla = tcTalla; END CASE; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_test DROP PROCEDURE IF EXISTS `sp_test`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_test`(IN `tnTerminalID` int, IN `tdFecha` date) BEGIN SELECT a.TurnoID, a.Turno, IFNULL(b.Inicial1, 0) Inicial1, IFNULL(b.Inicial2, 0) Inicial2, IFNULL(b.Estado, '0') Estado FROM turnos a LEFT JOIN cajas b ON a.TurnoID = b.TurnoID WHERE a.TurnoID NOT IN (SELECT TurnoID FROM cajas WHERE TerminalID = tnTerminalID AND Fecha = tdFecha); END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_tipocambio_get DROP PROCEDURE IF EXISTS `sp_tipocambio_get`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_tipocambio_get`(IN tdFecha date) BEGIN IF NOT EXISTS(SELECT Cambio FROM tipocambio WHERE Fecha = tdFecha) THEN INSERT INTO tipocambio (fecha, cambio) SELECT tdFecha NuevaFecha, IFNULL(Cambio, 0) NuevoCambio FROM tipocambio WHERE Fecha < tdFecha ORDER BY Fecha DESC LIMIT 1; END IF; SELECT * FROM tipocambio WHERE Fecha = tdFecha; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_tipocambio_set DROP PROCEDURE IF EXISTS `sp_tipocambio_set`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_tipocambio_set`(IN tdFecha date,IN tnCambio decimal(4,3)) BEGIN IF NOT EXISTS(SELECT Cambio FROM tipocambio WHERE Fecha = tdFecha) THEN INSERT INTO tipocambio SET fecha = tdFecha, cambio = tnCambio; ELSE UPDATE tipocambio SET fecha = tdFecha, cambio = tnCambio; END IF; END// DELIMITER ; -- Volcando estructura para procedimiento myproject.sp_ventas_cuadro DROP PROCEDURE IF EXISTS `sp_ventas_cuadro`; DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_ventas_cuadro`(IN tdFecha date) BEGIN SELECT a.TipoPago Leyenda, IFNULL(b.Cantidad, 0) Cantidad FROM tipopago a LEFT JOIN (SELECT TipoPago, COUNT(*) Cantidad FROM ventas a LEFT JOIN kardex b ON a.KardexID = b.KardexID WHERE b.Fecha = tdFecha AND b.Estado <> '9' GROUP BY 1) b ON a.TipoPagoID = b.TipoPago; END// DELIMITER ; -- Volcando estructura para función myproject.sf_codbarra DROP FUNCTION IF EXISTS `sf_codbarra`; DELIMITER // CREATE DEFINER=`root`@`localhost` FUNCTION `sf_codbarra`(tcString char(30)) RETURNS char(30) CHARSET utf8 BEGIN DECLARE lcChar CHAR(1); DECLARE lnItem, lnCheckSum INTEGER; SET tcString = TRIM(tcString); IF LENGTH(tcString) <> 12 THEN RETURN ''; END IF; SET lnItem = 1; SET lnCheckSum = 0; REPEAT SET lcChar = SUBSTR(tcString, lnItem, 1); IF MOD(lnItem, 2) = 0 THEN SET lnCheckSum = lnCheckSum + CONVERT(lcChar, SIGNED) * 3; ELSE SET lnCheckSum = lnCheckSum + CONVERT(lcChar, SIGNED) * 1; END IF; SET lnItem = lnItem + 1; UNTIL lnItem > 12 END REPEAT; SET lnCheckSum = MOD(lnCheckSum, 10); SET lnCheckSum = IF(lnCheckSum = 0, 0, 10 - lnCheckSum); RETURN CONCAT(LEFT(tcString, 12), CONVERT(lnCheckSum, CHAR(1))); END// DELIMITER ; -- Volcando estructura para función myproject.sf_convert DROP FUNCTION IF EXISTS `sf_convert`; DELIMITER // CREATE DEFINER=`root`@`localhost` FUNCTION `sf_convert`(tcLocal char(3),tcSource char(3),tcTarget char(3),tnValue int,tnFactor decimal(5,3)) RETURNS decimal(10,2) BEGIN DECLARE lnValue DECIMAL(10,2); SET lnValue = tnValue; IF tcTarget = tcLocal THEN IF tcSource <> tcTarget THEN SET lnValue = tnValue * tnFactor; END IF; ELSE IF tcSource <> tcTarget THEN SET lnValue = tnValue / tnFactor; END IF; END IF; RETURN (lnValue); END// DELIMITER ; -- Volcando estructura para función myproject.sf_firstdaymonth DROP FUNCTION IF EXISTS `sf_firstdaymonth`; DELIMITER // CREATE DEFINER=`root`@`localhost` FUNCTION `sf_firstdaymonth`(tdFecha date) RETURNS date BEGIN RETURN ADDDATE(LAST_DAY(SUBDATE(tdFecha, INTERVAL 1 MONTH)), 1); END// DELIMITER ; -- Volcando estructura para función myproject.sf_lastdaymonth DROP FUNCTION IF EXISTS `sf_lastdaymonth`; DELIMITER // CREATE DEFINER=`root`@`localhost` FUNCTION `sf_lastdaymonth`(tdFecha date) RETURNS date BEGIN RETURN LAST_DAY(tdFecha); END// DELIMITER ; -- Volcando estructura para función myproject.sf_meses DROP FUNCTION IF EXISTS `sf_meses`; DELIMITER // CREATE DEFINER=`root`@`localhost` FUNCTION `sf_meses`(tnMes tinyint) RETURNS char(3) CHARSET utf8 BEGIN DECLARE lcResult CHAR(3); SET lcResult = SUBSTR('ENEFEBMARABRMAYJUNJULAGOSETOCTNOVDIC' FROM ((tnMes * 3) - 2) FOR 3); RETURN lcResult; END// DELIMITER ; -- Volcando estructura para función myproject.sf_promedio DROP FUNCTION IF EXISTS `sf_promedio`; DELIMITER // CREATE DEFINER=`root`@`localhost` FUNCTION `sf_promedio`(tnProductoID int) RETURNS decimal(17,7) BEGIN DECLARE lnCostoProm DECIMAL(17,7); SET lnCostoProm = IFNULL((SELECT CostoPromedio FROM productos WHERE ProductoID = tnProductoID), 0); RETURN lnCostoProm; END// DELIMITER ; -- Volcando estructura para función myproject.sf_wordcount DROP FUNCTION IF EXISTS `sf_wordcount`; DELIMITER // CREATE DEFINER=`root`@`localhost` FUNCTION `sf_wordcount`(tcMemo text,tcDelimiter char) RETURNS int(11) BEGIN RETURN (LENGTH(tcMemo) - LENGTH(REPLACE(tcMemo, tcDelimiter, ''))) / LENGTH(tcDelimiter); END// DELIMITER ; -- Volcando estructura para función myproject.sf_wordnum DROP FUNCTION IF EXISTS `sf_wordnum`; DELIMITER // CREATE DEFINER=`root`@`localhost` FUNCTION `sf_wordnum`(tcMemo text, tcDelimiter char(10), tnPosition int) RETURNS char(255) CHARSET utf8 BEGIN RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(tcMemo, tcDelimiter, tnPosition), LENGTH(SUBSTRING_INDEX(tcMemo, tcDelimiter, tnPosition - 1)) + 1), tcDelimiter, ''); END// DELIMITER ; -- Volcando estructura para disparador myproject.tg_clientes_ctacte_delete DROP TRIGGER IF EXISTS `tg_clientes_ctacte_delete`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_clientes_ctacte_delete` BEFORE DELETE ON `clientes_ctacte` FOR EACH ROW BEGIN CASE OLD.Tipo WHEN 'E' THEN CALL sp_clientes_saldos('S', OLD.ClienteID, OLD.Importe); WHEN 'S' THEN CALL sp_clientes_saldos('E', OLD.ClienteID, OLD.Importe); END CASE; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_clientes_ctacte_insert DROP TRIGGER IF EXISTS `tg_clientes_ctacte_insert`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_clientes_ctacte_insert` BEFORE INSERT ON `clientes_ctacte` FOR EACH ROW BEGIN CASE NEW.Tipo WHEN 'E' THEN CALL sp_clientes_saldos('E', NEW.ClienteID, NEW.Importe); WHEN 'S' THEN CALL sp_clientes_saldos('S', NEW.ClienteID, NEW.Importe); END CASE; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_clientes_ctacte_update DROP TRIGGER IF EXISTS `tg_clientes_ctacte_update`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_clientes_ctacte_update` BEFORE UPDATE ON `clientes_ctacte` FOR EACH ROW BEGIN CASE OLD.Tipo WHEN 'E' THEN CALL sp_clientes_saldos('S', OLD.ClienteID, OLD.Importe); CALL sp_clientes_saldos('E', NEW.ClienteID, OLD.Importe); WHEN 'S' THEN CALL sp_clientes_saldos('E', OLD.ClienteID, OLD.Importe); CALL sp_clientes_saldos('S', NEW.ClienteID, NEW.Importe); END CASE; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_habitaciones_alquiler_insert DROP TRIGGER IF EXISTS `tg_habitaciones_alquiler_insert`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_habitaciones_alquiler_insert` BEFORE INSERT ON `habitaciones_alquiler` FOR EACH ROW BEGIN SET NEW.Hora := CURTIME(); CALL sp_alquiler_estados(NEW.AlquilerID, NEW.Desde, NEW.Hasta); CALL sp_clientes_ocupantes(NEW.AlquilerID, NEW.ClienteID); END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_habitaciones_alquiler_update DROP TRIGGER IF EXISTS `tg_habitaciones_alquiler_update`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_habitaciones_alquiler_update` BEFORE UPDATE ON `habitaciones_alquiler` FOR EACH ROW BEGIN CALL sp_alquiler_estados(NEW.AlquilerID, NEW.Desde, NEW.Hasta); CALL sp_clientes_ocupantes(NEW.AlquilerID, NEW.ClienteID); END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_kardex_delete DROP TRIGGER IF EXISTS `tg_kardex_delete`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_kardex_delete` BEFORE DELETE ON `kardex` FOR EACH ROW BEGIN DELETE FROM kardex_lineas WHERE KardexID = OLD.KardexID; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_kardex_lineas_delete DROP TRIGGER IF EXISTS `tg_kardex_lineas_delete`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_kardex_lineas_delete` BEFORE DELETE ON `kardex_lineas` FOR EACH ROW BEGIN IF NOT ISNULL(OLD.ProductoID) THEN SET @lnCantidad := OLD.Cantidad * OLD.Factor; SET @lnCosto := OLD.Cantidad * OLD.Costo; IF OLD.Estado <> '9' THEN CASE OLD.Kardex WHEN 'E' THEN CALL sp_stockear('S', OLD.ProductoID, @lnCantidad, @lnCosto); CALL sp_seriar('S', OLD.ProductoID, OLD.ConTipos, OLD.Serie, OLD.Lote, OLD.Expira, OLD.Talla, @lnCantidad); WHEN 'S' THEN CALL sp_stockear('E', OLD.ProductoID, @lnCantidad, @lnCosto); CALL sp_seriar('E', OLD.ProductoID, OLD.ConTipos, OLD.Serie, OLD.Lote, OLD.Expira, OLD.Talla, @lnCantidad); END CASE; END IF; END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_kardex_lineas_insert DROP TRIGGER IF EXISTS `tg_kardex_lineas_insert`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_kardex_lineas_insert` BEFORE INSERT ON `kardex_lineas` FOR EACH ROW BEGIN SET NEW.Fecha = IFNULL(NEW.Fecha, CURDATE()); SET NEW.Hora = IFNULL(NEW.Hora, CURTIME()); IF NOT ISNULL(NEW.ProductoID) THEN IF NEW.Kardex = 'S' THEN SET NEW.Costo := sf_promedio(NEW.ProductoID) * NEW.Factor; END IF; SET @lnCantidad := NEW.Cantidad * NEW.Factor; SET @lnCosto := NEW.Cantidad * NEW.Costo; CALL sp_stockear(NEW.Kardex, NEW.ProductoID, @lnCantidad, @lnCosto); CALL sp_seriar(NEW.Kardex, NEW.ProductoID, NEW.ConTipos, NEW.Serie, NEW.Lote, NEW.Expira, NEW.Talla, @lnCantidad); END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_kardex_lineas_update DROP TRIGGER IF EXISTS `tg_kardex_lineas_update`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_kardex_lineas_update` BEFORE UPDATE ON `kardex_lineas` FOR EACH ROW BEGIN IF NOT ISNULL(NEW.ProductoID) THEN SET @lnCantidad_OLD := OLD.Cantidad * OLD.Factor; SET @lnCantidad_NEW := NEW.Cantidad * NEW.Factor; SET @lnCosto_OLD := OLD.Cantidad * OLD.Costo; SET @lnCosto_NEW := NEW.Cantidad * NEW.Costo; CASE NEW.Kardex WHEN 'E' THEN IF NEW.Estado <> '9' THEN IF OLD.Estado <> '9' THEN CALL sp_stockear('S', OLD.ProductoID, @lnCantidad_OLD, @lnCosto_OLD); CALL sp_seriar('S', OLD.ProductoID, OLD.ConTipos, OLD.Serie, OLD.Lote, OLD.Expira, OLD.Talla, @lnCantidad_OLD); END IF; CALL sp_stockear('E', NEW.ProductoID, @lnCantidad_NEW, @lnCosto_NEW); CALL sp_seriar('E', NEW.ProductoID, NEW.ConTipos, NEW.Serie, NEW.Lote, NEW.Expira, NEW.Talla, @lnCantidad_NEW); ELSE IF NEW.Estado = '9' THEN CALL sp_stockear('S', OLD.ProductoID, @lnCantidad_OLD, @lnCosto_OLD); CALL sp_seriar('S', OLD.ProductoID, OLD.ConTipos, OLD.Serie, OLD.Lote, OLD.Expira, OLD.Talla, @lnCantidad_OLD); END IF; END IF; WHEN 'S' THEN IF NEW.Estado <> '9' THEN IF OLD.Estado <> '9' THEN CALL sp_stockear('E', OLD.ProductoID, @lnCantidad_OLD, @lnCosto_OLD); CALL sp_seriar('E', OLD.ProductoID, OLD.ConTipos, OLD.Serie, OLD.Lote, OLD.Expira, OLD.Talla, @lnCantidad_OLD); END IF; CALL sp_stockear('S', NEW.ProductoID, @lnCantidad_NEW, @lnCosto_NEW); CALL sp_seriar('S', NEW.ProductoID, NEW.ConTipos, NEW.Serie, NEW.Lote, NEW.Expira, OLD.Talla, @lnCantidad_OLD); ELSE IF NEW.Estado = '9' THEN CALL sp_stockear('E', OLD.ProductoID, @lnCantidad_OLD, @lnCosto_OLD); CALL sp_seriar('E', OLD.ProductoID, OLD.ConTipos, OLD.Serie, OLD.Lote, OLD.Expira, OLD.Talla, @lnCantidad_OLD); END IF; END IF; END CASE; END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_notas_credito_update DROP TRIGGER IF EXISTS `tg_notas_credito_update`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_notas_credito_update` BEFORE UPDATE ON `notas_credito` FOR EACH ROW BEGIN IF IFNULL(NEW.KardexID, 0) <> 0 THEN UPDATE kardex SET Estado = IF(NEW.Saldo > 0, '1', '0') WHERE KardexID = NEW.KardexID; END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_pedidos_lineas_delete DROP TRIGGER IF EXISTS `tg_pedidos_lineas_delete`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_pedidos_lineas_delete` BEFORE DELETE ON `pedidos_lineas` FOR EACH ROW BEGIN IF NOT ISNULL(OLD.ProductoID) THEN IF OLD.Estado = '0' THEN SET @lnCantidad := OLD.Cantidad * OLD.Factor; CALL sp_reservar('S', OLD.ProductoID, @lnCantidad); END IF; END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_pedidos_lineas_insert DROP TRIGGER IF EXISTS `tg_pedidos_lineas_insert`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_pedidos_lineas_insert` BEFORE INSERT ON `pedidos_lineas` FOR EACH ROW BEGIN IF NOT ISNULL(NEW.ProductoID) THEN IF NEW.Estado = '0' THEN SET @lnCantidad := NEW.Cantidad * NEW.Factor; CALL sp_reservar('E', NEW.ProductoID, @lnCantidad); END IF; END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para disparador myproject.tg_pedidos_lineas_update DROP TRIGGER IF EXISTS `tg_pedidos_lineas_update`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `tg_pedidos_lineas_update` BEFORE UPDATE ON `pedidos_lineas` FOR EACH ROW BEGIN SET @lnCantidad_NEW = NEW.Cantidad * OLD.Factor; SET @lnCantidad_OLD = OLD.Cantidad * OLD.Factor; IF NOT ISNULL(NEW.ProductoID) THEN IF NEW.Estado = '0' THEN IF OLD.Estado = '0' THEN CALL sp_reservar('S', OLD.ProductoID, @lnCantidad_OLD); END IF; CALL sp_reservar('E', NEW.ProductoID, @lnCantidad_NEW); ELSE CALL sp_reservar('S', OLD.ProductoID, @lnCantidad_OLD); END IF; END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Volcando estructura para vista myproject.bancos_view DROP VIEW IF EXISTS `bancos_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `bancos_view`; CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` VIEW `bancos_view` AS select 0 AS `BancoID`,'' AS `Banco` from `bancos` limit 1 union all select `bancos`.`BancoID` AS `BancoID`,`bancos`.`Banco` AS `Banco` from `bancos` order by `Banco` ; -- Volcando estructura para vista myproject.codbarras_view DROP VIEW IF EXISTS `codbarras_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `codbarras_view`; CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` VIEW `codbarras_view` AS SELECT a.FavoritoID, a.ProductoID, a.Factor, a.Cantidad, a.Grupo, b.CodAlterno, b.Producto, b.MonedaID, b.TCodBarra, b.CodBarra, b.MedidaID, b.Precio1 Precio, b.Precio1, b.Precio2, b.Precio3 FROM productos_favoritos a LEFT JOIN productos b ON a.ProductoID = b.ProductoID WHERE a.Grupo = 1 ; -- Volcando estructura para vista myproject.componentes_view DROP VIEW IF EXISTS `componentes_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `componentes_view`; CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` VIEW `componentes_view` AS SELECT b.ProductoID, b.CodAlterno, b.Producto, b.MedidaID, b.MonedaID, b.Costo, _ProductoID, _Factor, _MedidaID, _Cantidad, c.CodAlterno _CodAlterno, c.Producto _Producto, c.MonedaID _MonedaID, TRUNCATE(((c.Costo / c.Factor) * _Factor), 2) _Costo FROM productos_partes a LEFT JOIN productos b ON a.ProductoID = b.ProductoID LEFT JOIN productos c ON _ProductoID = c.ProductoID ; -- Volcando estructura para vista myproject.documentos_view DROP VIEW IF EXISTS `documentos_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `documentos_view`; CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` VIEW `documentos_view` AS select '' AS `DocumentoID`,'' AS `Documento` from `documentos` limit 1 union all select `documentos`.`DocumentoID` AS `DocumentoID`,`documentos`.`Documento` AS `Documento` from `documentos` ; -- Volcando estructura para vista myproject.familias_view DROP VIEW IF EXISTS `familias_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `familias_view`; CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` VIEW `familias_view` AS select 0 AS `familiaid`,'' AS `familia` from `familias` limit 1 union all select `familias`.`FamiliaID` AS `familiaid`,`familias`.`Familia` AS `familia` from `familias` order by `familia` ; -- Volcando estructura para vista myproject.functions_view DROP VIEW IF EXISTS `functions_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `functions_view`; CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` VIEW `functions_view` AS select 0 AS `FuncionID`,'-[SELECCIONE]-' AS `Funcion` from `funciones` limit 1 union all select `funciones`.`FuncionID` AS `FuncionID`,`funciones`.`Funcion` AS `Funcion` from `funciones` order by `Funcion` ; -- Volcando estructura para vista myproject.identidad_view DROP VIEW IF EXISTS `identidad_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `identidad_view`; CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` VIEW `identidad_view` AS select '' AS `IdentidadID`,'' AS `Identidad`,'' AS `Mascara`,0 AS `FuncionID`,'' AS `Codigo` from `identidad` limit 1 union all select `a`.`IdentidadID` AS `IdentidadID`,`a`.`Identidad` AS `Identidad`,`a`.`Mascara` AS `Mascara`,`a`.`FuncionID` AS `FuncionID`,`b`.`Codigo` AS `Codigo` from (`identidad` `a` left join `funciones` `b` on((`a`.`FuncionID` = `b`.`FuncionID`))) ; -- Volcando estructura para vista myproject.lineas_view DROP VIEW IF EXISTS `lineas_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `lineas_view`; CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` VIEW `lineas_view` AS select 0 AS `LineaID`,'' AS `Linea` from `lineas` limit 1 union all select `lineas`.`LineaID` AS `LineaID`,`lineas`.`Linea` AS `Linea` from `lineas` order by `Linea` ; -- Volcando estructura para vista myproject.marcas_view DROP VIEW IF EXISTS `marcas_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `marcas_view`; CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` VIEW `marcas_view` AS select 0 AS `marcaid`,'' AS `marca` from `marcas` limit 1 union all select `marcas`.`MarcaID` AS `marcaid`,`marcas`.`Marca` AS `marca` from `marcas` order by `marca` ; -- Volcando estructura para vista myproject.productos_view DROP VIEW IF EXISTS `productos_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `productos_view`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` VIEW `productos_view` AS SELECT a.ProductoID, a.Producto, a.CodAlterno, a.TCodBarra, a.CodBarra, a.Serie, a.Modelo, a.LineaID, a.FamiliaID, a.MarcaID, a.MonedaID, a.MedidaID, a.Factor, a.Peso, a.Costo, a.CostoUltimo, a.CostoPromedio, a.Precio, a.Precio1, a.Precio2, a.Precio3, a.ConFraccion, a.FraccionID, a.FraPrecio1, a.FraPrecio2, a.FraPrecio3, a.ConIgv, a.ConTipos, a.ConPartes, a.Reservado, a.Resto, a.StockMin, a.StockMax, a.Stock, a.Saldo, a.Inventario, a.StockFisico, a.StockAntes, a.StockNuevo, a.Informacion, a.Ubicacion, a.Fecha, a.Estado, IFNULL(a.Precio1, 0) PrecEnt, IFNULL(a.FraPrecio1, 0) PrecFra, TRUNCATE(IF((a.Factor > 1), IFNULL((a.Costo / a.Factor), 0), 0), 2) CostFra FROM productos a WHERE a.Estado = 0 ; -- Volcando estructura para vista myproject.rubros_view DROP VIEW IF EXISTS `rubros_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `rubros_view`; CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` VIEW `rubros_view` AS select 0 AS `RubroID`,'' AS `Rubro` from `rubros` limit 1 union all select `rubros`.`RubroID` AS `RubroID`,`rubros`.`Rubro` AS `Rubro` from `rubros` order by `Rubro` ; -- Volcando estructura para vista myproject.servicios_view DROP VIEW IF EXISTS `servicios_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `servicios_view`; CREATE DEFINER=`root`@`localhost` VIEW `servicios_view` AS select `a`.`ProductoID` AS `ProductoID`,`a`.`CodAlterno` AS `CodAlterno`,`a`.`Tipo` AS `Tipo`,`a`.`Producto` AS `Producto`,`a`.`MonedaID` AS `MonedaID`,`a`.`MedidaID` AS `MedidaID`,`a`.`Factor` AS `Factor`,`a`.`Peso` AS `Peso`,`a`.`Costo` AS `Costo`,`a`.`Precio` AS `Precio`,`a`.`Informacion` AS `Informacion`,`a`.`ConIgv` AS `ConIgv`,0 AS `ConTipos`,0 AS `SinStock`,0 AS `Stock`,`a`.`Fecha` AS `Fecha`,`a`.`Estado` AS `Estado` from `productos` `a` where ((`a`.`Tipo` = 'S') and (`a`.`Estado` = '0')) ; -- Volcando estructura para vista myproject.ubigeo_view DROP VIEW IF EXISTS `ubigeo_view`; -- Eliminando tabla temporal y crear estructura final de VIEW DROP TABLE IF EXISTS `ubigeo_view`; CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` VIEW `ubigeo_view` AS select concat(lpad(`a`.`DptoID`,2,'0'),lpad(`a`.`ProvinciaID`,2,'0'),lpad(`a`.`DistritoID`,2,'0')) AS `Ubigeo`,`a`.`DptoID` AS `DptoID`,`a`.`ProvinciaID` AS `ProvinciaID`,`a`.`DistritoID` AS `DistritoID`,`a`.`Ciudad` AS `Ciudad`,(select `ubigeo`.`Ciudad` from `ubigeo` where ((`a`.`DptoID` = `ubigeo`.`DptoID`) and (`ubigeo`.`ProvinciaID` = 0))) AS `Departamento`,(select `ubigeo`.`Ciudad` from `ubigeo` where ((`a`.`DptoID` = `ubigeo`.`DptoID`) and (`a`.`ProvinciaID` = `ubigeo`.`ProvinciaID`) and (`ubigeo`.`DistritoID` = 0))) AS `Provincia` from `ubigeo` `a` where (`a`.`DistritoID` > 0) order by `a`.`DptoID`,`a`.`ProvinciaID`,`a`.`DistritoID` ; /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;