14305 lines
490 KiB
SQL
14305 lines
490 KiB
SQL
-- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64)
|
|
--
|
|
-- Host: db.verdnatura.es Database: cache
|
|
-- ------------------------------------------------------
|
|
-- Server version 5.6.25-4-log
|
|
|
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
|
/*!40101 SET NAMES utf8 */;
|
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
|
/*!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' */;
|
|
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
|
|
|
--
|
|
-- Current Database: `cache`
|
|
--
|
|
|
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `cache` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
|
|
|
|
USE `cache`;
|
|
|
|
--
|
|
-- Table structure for table `available`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `available`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `available` (
|
|
`calc_id` int(10) unsigned NOT NULL,
|
|
`item_id` int(11) NOT NULL,
|
|
`available` int(11) NOT NULL,
|
|
KEY `calc_id_4` (`calc_id`) USING BTREE,
|
|
KEY `calc_id` (`item_id`,`calc_id`)
|
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `barcodes`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `barcodes`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `barcodes` (
|
|
`code` varchar(22) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`Id_Article` int(11) NOT NULL DEFAULT '0',
|
|
`Article` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Medida` int(10) unsigned DEFAULT NULL,
|
|
`Color` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Categoria` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Producer` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
PRIMARY KEY (`code`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `cache`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `cache`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `cache` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(50) CHARACTER SET utf8 NOT NULL,
|
|
`lifetime` time NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `name` (`name`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `cache_calc`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `cache_calc`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `cache_calc` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`cache_id` int(10) unsigned NOT NULL,
|
|
`cacheName` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
|
|
`params` varchar(100) CHARACTER SET utf8 NOT NULL DEFAULT '',
|
|
`last_refresh` datetime DEFAULT NULL,
|
|
`expires` datetime DEFAULT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`connection_id` int(10) unsigned DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `cache_name` (`cache_id`,`params`),
|
|
KEY `cache_id` (`cache_id`),
|
|
KEY `cacheName` (`cacheName`),
|
|
KEY `expires` (`expires`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=44716 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `cache_valid`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `cache_valid`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `cache_valid` (
|
|
`valid` tinyint(3) unsigned NOT NULL
|
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `dailyTaskLog`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `dailyTaskLog`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `dailyTaskLog` (
|
|
`state` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='No he encontrado el lugar en el que vicente almacena la hora en que se ejecutan las daily tasks, asi que he hecho esta tabla, a eliminar cuando se considere oportuno';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `departure_limit`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `departure_limit`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `departure_limit` (
|
|
`warehouse_id` smallint(6) unsigned NOT NULL,
|
|
`fecha` date NOT NULL,
|
|
`hora` int(11) NOT NULL DEFAULT '0',
|
|
`minSpeed` decimal(10,2) NOT NULL DEFAULT '0.00',
|
|
PRIMARY KEY (`warehouse_id`,`fecha`),
|
|
CONSTRAINT `warehouse_departure` FOREIGN KEY (`warehouse_id`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `equalizator`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `equalizator`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `equalizator` (
|
|
`warehouse_id` int(11) NOT NULL,
|
|
`Vista` int(11) NOT NULL,
|
|
`Pedido` int(11) DEFAULT NULL,
|
|
`Impreso` int(11) DEFAULT NULL,
|
|
`Encajado` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`Vista`,`warehouse_id`)
|
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `itemTagFormat`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `itemTagFormat`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `itemTagFormat` (
|
|
`itemFk` int(11) NOT NULL,
|
|
`labels1` varchar(80) CHARACTER SET utf8 DEFAULT NULL,
|
|
`values1` varchar(80) CHARACTER SET utf8 DEFAULT NULL,
|
|
`labels2` varchar(80) CHARACTER SET utf8 DEFAULT NULL,
|
|
`values2` varchar(80) CHARACTER SET utf8 DEFAULT NULL,
|
|
`description` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
|
|
PRIMARY KEY (`itemFk`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena el formato para los tags de los articulos';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `item_range`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `item_range`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `item_range` (
|
|
`calc_id` int(11) NOT NULL,
|
|
`item_id` int(11) NOT NULL,
|
|
`date_end` datetime DEFAULT NULL,
|
|
KEY `calc_item` (`calc_id`,`item_id`),
|
|
KEY `calc_id` (`calc_id`) USING BTREE
|
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `last_buy`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `last_buy`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `last_buy` (
|
|
`item_id` int(10) unsigned NOT NULL,
|
|
`warehouse_id` smallint(5) unsigned NOT NULL,
|
|
`buy_id` int(10) unsigned DEFAULT NULL,
|
|
`landing` date DEFAULT NULL,
|
|
KEY `buy_id` (`buy_id`),
|
|
KEY `item_id` (`item_id`,`warehouse_id`),
|
|
KEY `warehouse_id` (`warehouse_id`) USING BTREE
|
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `prod_graphic_source`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `prod_graphic_source`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `prod_graphic_source` (
|
|
`m3` double NOT NULL DEFAULT '0',
|
|
`warehouse_id` int(11) NOT NULL,
|
|
`hora` int(11) NOT NULL,
|
|
`order` int(11) NOT NULL DEFAULT '0',
|
|
`alert_level` int(11) NOT NULL DEFAULT '0',
|
|
`Agencia` varchar(45) CHARACTER SET utf8 NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `stock`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `stock`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `stock` (
|
|
`warehouse_id` smallint(5) unsigned NOT NULL,
|
|
`item_id` int(10) unsigned NOT NULL,
|
|
`amount` int(11) NOT NULL,
|
|
KEY `warehouse_id` (`warehouse_id`,`item_id`),
|
|
KEY `warehouse_id_2` (`warehouse_id`) USING BTREE
|
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `visible`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `visible`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `visible` (
|
|
`calc_id` int(10) unsigned NOT NULL,
|
|
`item_id` int(11) NOT NULL,
|
|
`visible` int(11) NOT NULL,
|
|
KEY `id` (`calc_id`) USING BTREE,
|
|
KEY `calc_id` (`calc_id`,`item_id`)
|
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `weekly_sales`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `weekly_sales`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `weekly_sales` (
|
|
`week` int(10) unsigned NOT NULL,
|
|
`item_id` int(10) unsigned NOT NULL,
|
|
`warehouse_id` smallint(5) unsigned NOT NULL,
|
|
`amount` int(11) NOT NULL,
|
|
`price` double NOT NULL,
|
|
KEY `item_id` (`item_id`,`warehouse_id`),
|
|
KEY `week` (`week`) USING BTREE
|
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Dumping events for database 'cache'
|
|
--
|
|
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
|
|
/*!50106 DROP EVENT IF EXISTS `barcodes_update` */;
|
|
DELIMITER ;;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
|
/*!50003 SET character_set_client = utf8 */ ;;
|
|
/*!50003 SET character_set_results = utf8 */ ;;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;;
|
|
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
|
|
/*!50003 SET time_zone = 'SYSTEM' */ ;;
|
|
/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`%`*/ /*!50106 EVENT `barcodes_update` ON SCHEDULE EVERY 1 HOUR STARTS '2016-08-17 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO CALL barcodes_update() */ ;;
|
|
/*!50003 SET time_zone = @saved_time_zone */ ;;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
|
/*!50106 DROP EVENT IF EXISTS `cacheCalcClean` */;;
|
|
DELIMITER ;;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
|
/*!50003 SET character_set_client = utf8mb4 */ ;;
|
|
/*!50003 SET character_set_results = utf8mb4 */ ;;
|
|
/*!50003 SET collation_connection = utf8mb4_general_ci */ ;;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;;
|
|
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
|
|
/*!50003 SET time_zone = 'SYSTEM' */ ;;
|
|
/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`%`*/ /*!50106 EVENT `cacheCalcClean` ON SCHEDULE EVERY 30 MINUTE STARTS '2017-01-23 13:15:58' ON COMPLETION NOT PRESERVE ENABLE DO CALL cacheCalcClean() */ ;;
|
|
/*!50003 SET time_zone = @saved_time_zone */ ;;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
|
DELIMITER ;
|
|
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
|
|
|
|
--
|
|
-- Dumping routines for database 'cache'
|
|
--
|
|
/*!50003 DROP PROCEDURE IF EXISTS `available_refresh` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `available_refresh`(OUT v_calc INT, v_refresh BOOL, v_warehouse INT, v_date DATE)
|
|
proc: BEGIN
|
|
DECLARE v_date_ini DATE;
|
|
DECLARE v_date_end DATETIME;
|
|
DECLARE v_reserve_date DATETIME;
|
|
DECLARE v_params CHAR(100);
|
|
DECLARE v_date_inv DATE;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
CALL cache_calc_unlock (v_calc);
|
|
RESIGNAL;
|
|
END;
|
|
|
|
IF v_date < CURDATE()
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
CALL vn2008.item_stock (v_warehouse, v_date, NULL);
|
|
|
|
SET v_params = CONCAT_WS('/', v_warehouse, v_date);
|
|
CALL cache_calc_start (v_calc, v_refresh, 'available', v_params);
|
|
|
|
IF !v_refresh
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
-- Limpia las caches antiguas
|
|
|
|
DELETE a
|
|
FROM available a
|
|
LEFT JOIN cache_calc c ON c.id = a.calc_id
|
|
WHERE c.id IS NULL;
|
|
|
|
-- Calcula algunos parámetros necesarios
|
|
|
|
SET v_date_ini = TIMESTAMP(v_date, '00:00:00');
|
|
SET v_date_end = TIMESTAMP(TIMESTAMPADD(DAY, 4, v_date), '23:59:59');
|
|
|
|
SELECT FechaInventario INTO v_date_inv FROM vn2008.tblContadores;
|
|
|
|
SELECT SUBTIME(NOW(), reserve_time) INTO v_reserve_date
|
|
FROM hedera.order_config;
|
|
|
|
-- Calcula el ultimo dia de vida para cada producto
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range;
|
|
CREATE TEMPORARY TABLE item_range
|
|
(PRIMARY KEY (item_id))
|
|
ENGINE = MEMORY
|
|
SELECT c.item_id, IF(t.life IS NULL, NULL, TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.landing), '23:59:59')) AS date_end
|
|
FROM (
|
|
SELECT c.Id_Article item_id, MAX(landing) landing
|
|
FROM vn2008.Compres c
|
|
JOIN vn2008.Entradas e ON c.Id_Entrada = e.Id_Entrada
|
|
JOIN vn2008.travel t ON t.id = e.travel_id
|
|
JOIN vn2008.warehouse w ON w.id = t.warehouse_id
|
|
WHERE t.landing BETWEEN v_date_inv AND v_date_ini
|
|
AND t.warehouse_id = v_warehouse
|
|
AND NOT e.Inventario
|
|
AND NOT e.Redada
|
|
GROUP BY Id_Article
|
|
) c
|
|
JOIN vn2008.Articles a ON a.Id_Article = c.item_id
|
|
JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id
|
|
HAVING date_end >= v_date_ini OR date_end IS NULL;
|
|
/*
|
|
-- Tabla con el ultimo dia de precios fijados para cada producto que hace un replace de la anterior
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy;
|
|
CREATE TEMPORARY TABLE item_range_copy LIKE item_range;
|
|
INSERT INTO item_range_copy
|
|
SELECT * FROM item_range;
|
|
|
|
REPLACE item_range
|
|
SELECT item_id, TIMESTAMP(date_end, '23:59:59') date_end FROM (
|
|
SELECT p.item_id, p.date_end
|
|
FROM vn2008.price_fixed p
|
|
LEFT JOIN item_range_copy i USING(item_id)
|
|
WHERE IFNULL(i.date_end,v_date_ini) BETWEEN p.date_start AND p.date_end
|
|
AND warehouse_id IN (0, v_warehouse)
|
|
ORDER BY item_id, warehouse_id DESC, date_end DESC
|
|
) t GROUP BY item_id;
|
|
|
|
DROP TEMPORARY TABLE item_range_copy;
|
|
*/
|
|
-- Replica la tabla item_range para poder usarla varias veces en la misma consulta
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy1;
|
|
CREATE TEMPORARY TABLE item_range_copy1 LIKE item_range;
|
|
INSERT INTO item_range_copy1
|
|
SELECT * FROM item_range;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy2;
|
|
CREATE TEMPORARY TABLE item_range_copy2 LIKE item_range;
|
|
INSERT INTO item_range_copy2
|
|
SELECT * FROM item_range;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy3;
|
|
CREATE TEMPORARY TABLE item_range_copy3 LIKE item_range;
|
|
INSERT INTO item_range_copy3
|
|
SELECT * FROM item_range;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy4;
|
|
CREATE TEMPORARY TABLE item_range_copy4 LIKE item_range;
|
|
INSERT INTO item_range_copy4
|
|
SELECT * FROM item_range;
|
|
|
|
-- Calcula el ATP
|
|
|
|
DELETE FROM available WHERE calc_id = v_calc;
|
|
|
|
INSERT INTO available (calc_id, item_id, available)
|
|
SELECT v_calc, t.item_id, SUM(stock) amount FROM (
|
|
SELECT ti.item_id, stock
|
|
FROM vn2008.tmp_item ti
|
|
JOIN item_range ir ON ir.item_id = ti.item_id
|
|
UNION ALL
|
|
SELECT t.item_id, minacum(dt, amount, v_date) AS available FROM (
|
|
SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM (
|
|
SELECT i.item_id, i.dat, i.amount
|
|
FROM vn2008.item_out i
|
|
JOIN item_range_copy1 ir ON ir.item_id = i.item_id
|
|
WHERE i.dat >= v_date_ini
|
|
AND (ir.date_end IS NULL OR i.dat <= ir.date_end)
|
|
AND i.warehouse_id = v_warehouse
|
|
UNION ALL
|
|
SELECT i.item_id, i.dat, i.amount
|
|
FROM vn2008.item_entry_in i
|
|
JOIN item_range_copy2 ir ON ir.item_id = i.item_id
|
|
WHERE i.dat >= v_date_ini
|
|
AND (ir.date_end IS NULL OR i.dat <= ir.date_end)
|
|
AND i.warehouse_id = v_warehouse
|
|
UNION ALL
|
|
SELECT i.item_id, i.dat, i.amount
|
|
FROM vn2008.item_entry_out i
|
|
JOIN item_range_copy3 ir ON ir.item_id = i.item_id
|
|
WHERE i.dat >= v_date_ini
|
|
AND (ir.date_end IS NULL OR i.dat <= ir.date_end)
|
|
AND i.warehouse_id = v_warehouse
|
|
UNION ALL
|
|
SELECT r.item_id, r.shipment, -r.amount
|
|
FROM hedera.order_row r
|
|
JOIN hedera.`order` o ON o.id = r.order_id
|
|
JOIN item_range_copy4 ir ON ir.item_id = r.item_id
|
|
WHERE r.shipment >= v_date_ini
|
|
AND (ir.date_end IS NULL OR r.shipment <= ir.date_end)
|
|
AND r.warehouse_id = v_warehouse
|
|
AND r.created >= v_reserve_date
|
|
AND NOT o.confirmed
|
|
) t
|
|
GROUP BY item_id, dt
|
|
) t
|
|
GROUP BY t.item_id
|
|
) t GROUP BY t.item_id HAVING amount != 0;
|
|
|
|
|
|
DROP TEMPORARY TABLE
|
|
vn2008.tmp_item
|
|
,item_range
|
|
,item_range_copy1
|
|
,item_range_copy2
|
|
,item_range_copy3
|
|
,item_range_copy4;
|
|
|
|
CALL cache_calc_end (v_calc);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `available_refreshtest` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `available_refreshtest`(OUT v_calc INT, v_refresh BOOL, v_warehouse INT, v_date DATE)
|
|
proc: BEGIN
|
|
DECLARE v_date_ini DATE;
|
|
DECLARE v_date_end DATETIME;
|
|
DECLARE v_reserve_date DATETIME;
|
|
DECLARE v_params CHAR(100);
|
|
DECLARE v_date_inv DATE;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
CALL cache_calc_unlock (v_calc);
|
|
RESIGNAL;
|
|
END;
|
|
|
|
IF v_date < CURDATE()
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
CALL vn2008.item_stock (v_warehouse, v_date, NULL);
|
|
|
|
SET v_params = CONCAT_WS('/', v_warehouse, v_date);
|
|
CALL cache_calc_start (v_calc, v_refresh, 'available', v_params);
|
|
|
|
IF !v_refresh
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
-- Limpia las caches antiguas
|
|
|
|
IF TRUE -- GET_LOCK('available/clean', 1)
|
|
THEN
|
|
DELETE FROM available WHERE calc_id NOT IN (
|
|
SELECT cc.id
|
|
FROM `cache` c
|
|
JOIN cache_calc cc ON c.id = cc.cache_id
|
|
WHERE c.`name` = 'available');
|
|
|
|
-- DO RELEASE_LOCK('available/clean');
|
|
END IF;
|
|
|
|
-- Calcula algunos parámetros necesarios
|
|
|
|
SET v_date_ini = TIMESTAMP(v_date, '00:00:00');
|
|
SET v_date_end = TIMESTAMP(TIMESTAMPADD(DAY, 4, v_date), '23:59:59');
|
|
|
|
SELECT FechaInventario INTO v_date_inv FROM vn2008.tblContadores;
|
|
|
|
SELECT SUBTIME(NOW(), reserve_time) INTO v_reserve_date
|
|
FROM hedera.order_config;
|
|
|
|
-- Calcula el ultimo dia de vida para cada producto
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range;
|
|
CREATE TEMPORARY TABLE item_range
|
|
(PRIMARY KEY (item_id))
|
|
ENGINE = MEMORY
|
|
SELECT c.item_id, IF(t.life IS NULL, NULL, TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.landing), '23:59:59')) AS date_end
|
|
FROM (
|
|
SELECT c.Id_Article item_id, MAX(landing) landing
|
|
FROM vn2008.Compres c
|
|
JOIN vn2008.Entradas e ON c.Id_Entrada = e.Id_Entrada
|
|
JOIN vn2008.travel t ON t.id = e.travel_id
|
|
JOIN vn2008.warehouse w ON w.id = t.warehouse_id
|
|
WHERE t.landing BETWEEN v_date_inv AND v_date_ini
|
|
AND t.warehouse_id = v_warehouse
|
|
AND NOT e.Inventario
|
|
AND NOT e.Redada
|
|
GROUP BY Id_Article
|
|
) c
|
|
JOIN vn2008.Articles a ON a.Id_Article = c.item_id
|
|
JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id
|
|
HAVING date_end >= v_date_ini OR date_end IS NULL;
|
|
/*
|
|
-- Tabla con el ultimo dia de precios fijados para cada producto que hace un replace de la anterior
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy;
|
|
CREATE TEMPORARY TABLE item_range_copy LIKE item_range;
|
|
INSERT INTO item_range_copy
|
|
SELECT * FROM item_range;
|
|
|
|
REPLACE item_range
|
|
SELECT item_id, TIMESTAMP(date_end, '23:59:59') date_end FROM (
|
|
SELECT p.item_id, p.date_end
|
|
FROM vn2008.price_fixed p
|
|
LEFT JOIN item_range_copy i USING(item_id)
|
|
WHERE IFNULL(i.date_end,v_date_ini) BETWEEN p.date_start AND p.date_end
|
|
AND warehouse_id IN (0, v_warehouse)
|
|
ORDER BY item_id, warehouse_id DESC, date_end DESC
|
|
) t GROUP BY item_id;
|
|
|
|
DROP TEMPORARY TABLE item_range_copy;
|
|
*/
|
|
-- Replica la tabla item_range para poder usarla varias veces en la misma consulta
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy1;
|
|
CREATE TEMPORARY TABLE item_range_copy1 LIKE item_range;
|
|
INSERT INTO item_range_copy1
|
|
SELECT * FROM item_range;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy2;
|
|
CREATE TEMPORARY TABLE item_range_copy2 LIKE item_range;
|
|
INSERT INTO item_range_copy2
|
|
SELECT * FROM item_range;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy3;
|
|
CREATE TEMPORARY TABLE item_range_copy3 LIKE item_range;
|
|
INSERT INTO item_range_copy3
|
|
SELECT * FROM item_range;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS item_range_copy4;
|
|
CREATE TEMPORARY TABLE item_range_copy4 LIKE item_range;
|
|
INSERT INTO item_range_copy4
|
|
SELECT * FROM item_range;
|
|
|
|
-- Calcula el ATP
|
|
|
|
DELETE FROM available WHERE calc_id = v_calc;
|
|
|
|
INSERT INTO available (calc_id, item_id, available)
|
|
SELECT v_calc, t.item_id, SUM(stock) amount FROM (
|
|
SELECT ti.item_id, stock
|
|
FROM vn2008.tmp_item ti
|
|
JOIN item_range ir ON ir.item_id = ti.item_id
|
|
UNION ALL
|
|
SELECT t.item_id, minacum(dt, amount, v_date) AS available FROM (
|
|
SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM (
|
|
SELECT i.item_id, i.dat, i.amount
|
|
FROM vn2008.item_out i
|
|
JOIN item_range_copy1 ir ON ir.item_id = i.item_id
|
|
WHERE i.dat >= v_date_ini
|
|
AND (ir.date_end IS NULL OR i.dat <= ir.date_end)
|
|
AND i.warehouse_id = v_warehouse
|
|
UNION ALL
|
|
SELECT i.item_id, i.dat, i.amount
|
|
FROM vn2008.item_entry_in i
|
|
JOIN item_range_copy2 ir ON ir.item_id = i.item_id
|
|
WHERE i.dat >= v_date_ini
|
|
AND (ir.date_end IS NULL OR i.dat <= ir.date_end)
|
|
AND i.warehouse_id = v_warehouse
|
|
UNION ALL
|
|
SELECT i.item_id, i.dat, i.amount
|
|
FROM vn2008.item_entry_out i
|
|
JOIN item_range_copy3 ir ON ir.item_id = i.item_id
|
|
WHERE i.dat >= v_date_ini
|
|
AND (ir.date_end IS NULL OR i.dat <= ir.date_end)
|
|
AND i.warehouse_id = v_warehouse
|
|
UNION ALL
|
|
SELECT r.item_id, r.shipment, -r.amount
|
|
FROM hedera.order_row r
|
|
JOIN hedera.`order` o ON o.id = r.order_id
|
|
JOIN item_range_copy4 ir ON ir.item_id = r.item_id
|
|
WHERE r.shipment >= v_date_ini
|
|
AND (ir.date_end IS NULL OR r.shipment <= ir.date_end)
|
|
AND r.warehouse_id = v_warehouse
|
|
AND r.created >= v_reserve_date
|
|
AND NOT o.confirmed
|
|
) t
|
|
GROUP BY item_id, dt
|
|
) t
|
|
GROUP BY t.item_id
|
|
) t GROUP BY t.item_id HAVING amount != 0;
|
|
|
|
DROP TEMPORARY TABLE
|
|
vn2008.tmp_item
|
|
,item_range
|
|
,item_range_copy1
|
|
,item_range_copy2
|
|
,item_range_copy3
|
|
,item_range_copy4;
|
|
|
|
CALL cache_calc_end (v_calc);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `barcodes_articles_update` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_articles_update`()
|
|
BEGIN
|
|
|
|
REPLACE cache.barcodes
|
|
|
|
SELECT
|
|
`Articles`.`Id_Article` AS `code`,
|
|
`Articles`.`Id_Article` AS `Id_Article`,
|
|
`Articles`.`Article` AS `Article`,
|
|
`Articles`.`Medida` AS `Medida`,
|
|
`Articles`.`Color` AS `Color`,
|
|
`Articles`.`Categoria` AS `Categoria`,
|
|
`p`.`name` AS `Producer`
|
|
FROM
|
|
vn2008.Articles
|
|
LEFT JOIN vn2008.`producer` `p` using(producer_id);
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `barcodes_barcodes_update` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_barcodes_update`()
|
|
BEGIN
|
|
|
|
REPLACE cache.barcodes
|
|
|
|
SELECT
|
|
`barcodes`.`code` AS `code`,
|
|
`barcodes`.`Id_Article` AS `Id_Article`,
|
|
`Articles`.`Article` AS `Article`,
|
|
`Articles`.`Medida` AS `Medida`,
|
|
`Articles`.`Color` AS `Color`,
|
|
`Articles`.`Categoria` AS `Categoria`,
|
|
`p`.`name` AS `Producer`
|
|
FROM
|
|
vn2008.`barcodes`
|
|
JOIN
|
|
vn2008.Articles using(Id_Article)
|
|
LEFT JOIN vn2008.`producer` `p` using(producer_id);
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `barcodes_compres_update` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_compres_update`()
|
|
BEGIN
|
|
|
|
REPLACE cache.barcodes
|
|
|
|
SELECT
|
|
Compres.`Id_Compra` AS `code`,
|
|
Compres.`Id_Article` AS `Id_Article`,
|
|
`Articles`.`Article` AS `Article`,
|
|
`Articles`.`Medida` AS `Medida`,
|
|
`Articles`.`Color` AS `Color`,
|
|
`Articles`.`Categoria` AS `Categoria`,
|
|
producer.`name` AS `Producer`
|
|
|
|
|
|
FROM
|
|
vn2008.Compres
|
|
JOIN vn2008.Articles using(Id_Article)
|
|
LEFT JOIN vn2008.producer using(producer_id)
|
|
JOIN vn2008.Entradas using(Id_Entrada)
|
|
JOIN vn2008.travel on travel.id = travel_id
|
|
WHERE
|
|
landing >= TIMESTAMPADD(WEEK, -2, CURDATE())
|
|
;
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `barcodes_expeditions_update` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_expeditions_update`(IN idExpedition BIGINT)
|
|
BEGIN
|
|
|
|
REPLACE cache.barcodes
|
|
|
|
SELECT
|
|
`e`.`expeditions_id` AS `code`,
|
|
`Tickets`.`Id_Ruta` AS `Id_Article`,
|
|
`Tickets`.`Alias` AS `Article`,
|
|
`Tickets`.`Bultos` AS `Medida`,
|
|
`Tickets`.`Id_Ruta` AS `Color`,
|
|
`w`.`name` AS `Categoria`,
|
|
`a`.`Agencia` AS `Producer`
|
|
FROM
|
|
vn2008.expeditions `e`
|
|
JOIN vn2008.Tickets ON `Tickets`.`Id_Ticket` = `e`.`ticket_id`
|
|
JOIN vn2008.warehouse `w` ON `w`.`id` = `Tickets`.`warehouse_id`
|
|
JOIN vn2008.Rutas `r` ON `r`.`Id_Ruta` = `Tickets`.`Id_Ruta`
|
|
JOIN vn2008.Agencias `a` ON `a`.`Id_Agencia` = `r`.`Id_Agencia`
|
|
WHERE
|
|
idExpedition IN (e.expeditions_id,0)
|
|
AND
|
|
`Tickets`.`Fecha` >= (CURDATE() + INTERVAL -(2) DAY)
|
|
|
|
|
|
;
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `barcodes_update` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_update`()
|
|
BEGIN
|
|
|
|
declare allExpeditions int default 0;
|
|
|
|
call barcodes_articles_update;
|
|
|
|
call barcodes_barcodes_update;
|
|
|
|
call barcodes_compres_update;
|
|
|
|
call barcodes_expeditions_update(allExpeditions);
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `cacheCalcClean` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `cacheCalcClean`()
|
|
BEGIN
|
|
DECLARE vCleanTime DATETIME DEFAULT TIMESTAMPADD(MINUTE, -5, NOW());
|
|
|
|
DELETE FROM cache_calc WHERE expires < vCleanTime;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `cache_calc_end` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `cache_calc_end`(v_calc INT)
|
|
BEGIN
|
|
DECLARE v_cache_name VARCHAR(255);
|
|
DECLARE v_params VARCHAR(255);
|
|
|
|
-- Libera el bloqueo y actualiza la fecha de ultimo refresco.
|
|
|
|
UPDATE cache_calc cc JOIN cache c ON c.id = cc.cache_id
|
|
SET
|
|
cc.last_refresh = NOW(),
|
|
cc.expires = ADDTIME(NOW(), c.lifetime),
|
|
cc.connection_id = NULL
|
|
WHERE cc.id = v_calc;
|
|
|
|
SELECT c.name, ca.params INTO v_cache_name, v_params
|
|
FROM cache c
|
|
JOIN cache_calc ca ON c.id = ca.cache_id
|
|
WHERE ca.id = v_calc;
|
|
|
|
DO RELEASE_LOCK(CONCAT_WS('/', v_cache_name, IFNULL(v_params, '')));
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `cache_calc_start` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `cache_calc_start`(OUT v_calc INT, INOUT v_refresh BOOL, v_cache_name VARCHAR(50), v_params VARCHAR(100))
|
|
proc: BEGIN
|
|
DECLARE v_valid BOOL;
|
|
DECLARE v_lock_id VARCHAR(100);
|
|
DECLARE v_cache_id INT;
|
|
DECLARE v_expires DATETIME;
|
|
DECLARE v_clean_time DATETIME;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
DO RELEASE_LOCK(v_lock_id);
|
|
RESIGNAL;
|
|
END;
|
|
|
|
SET v_params = IFNULL(v_params, '');
|
|
|
|
-- Si el servidor se ha reiniciado invalida todos los calculos.
|
|
|
|
SELECT COUNT(*) > 0 INTO v_valid FROM cache_valid;
|
|
|
|
IF !v_valid
|
|
THEN
|
|
DELETE FROM cache_calc;
|
|
INSERT INTO cache_valid (valid) VALUES (TRUE);
|
|
END IF;
|
|
|
|
-- Obtiene un bloqueo exclusivo para que no haya problemas de concurrencia.
|
|
|
|
SET v_lock_id = CONCAT_WS('/', v_cache_name, v_params);
|
|
|
|
IF !GET_LOCK(v_lock_id, 30)
|
|
THEN
|
|
SET v_calc = NULL;
|
|
SET v_refresh = FALSE;
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
-- Comprueba si el calculo solicitado existe y esta actualizado.
|
|
|
|
SELECT c.id, ca.id, ca.expires
|
|
INTO v_cache_id, v_calc, v_expires
|
|
FROM cache c
|
|
LEFT JOIN cache_calc ca
|
|
ON ca.cache_id = c.id AND ca.params = v_params COLLATE 'utf8_general_ci'
|
|
WHERE c.name = v_cache_name COLLATE 'utf8_general_ci';
|
|
|
|
-- Si existe una calculo valido libera el bloqueo y devuelve su identificador.
|
|
|
|
IF !v_refresh AND NOW() < v_expires
|
|
THEN
|
|
DO RELEASE_LOCK(v_lock_id);
|
|
SET v_refresh = FALSE;
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
-- Si el calculo no existe le crea una entrada en la tabla de calculos.
|
|
|
|
IF v_calc IS NULL
|
|
THEN
|
|
INSERT INTO cache_calc SET
|
|
cache_id = v_cache_id,
|
|
cacheName = v_cache_name,
|
|
params = v_params,
|
|
last_refresh = NULL,
|
|
expires = NULL,
|
|
connection_id = CONNECTION_ID();
|
|
|
|
SET v_calc = LAST_INSERT_ID();
|
|
ELSE
|
|
UPDATE cache_calc
|
|
SET
|
|
last_refresh = NULL,
|
|
expires = NULL,
|
|
connection_id = CONNECTION_ID()
|
|
WHERE id = v_calc;
|
|
END IF;
|
|
|
|
-- Si se debe recalcular mantiene el bloqueo y devuelve su identificador.
|
|
|
|
SET v_refresh = TRUE;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `cache_calc_unlock` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `cache_calc_unlock`(v_calc INT)
|
|
BEGIN
|
|
DECLARE v_cache_name VARCHAR(50);
|
|
DECLARE v_params VARCHAR(100);
|
|
|
|
SELECT c.name, ca.params INTO v_cache_name, v_params
|
|
FROM cache c
|
|
JOIN cache_calc ca ON c.id = ca.cache_id
|
|
WHERE ca.id = v_calc;
|
|
|
|
DELETE FROM cache_calc WHERE id = v_calc;
|
|
|
|
DO RELEASE_LOCK(CONCAT_WS('/', v_cache_name, IFNULL(v_params, '')));
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `clean` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `clean`()
|
|
BEGIN
|
|
|
|
DECLARE vDateShort DATETIME;
|
|
|
|
SET vDateShort = TIMESTAMPADD(MONTH, -1, CURDATE());
|
|
|
|
INSERT INTO cache.dailyTaskLog(state) VALUES('clean START');
|
|
|
|
DELETE FROM cache.departure_limit WHERE Fecha < vDateShort;
|
|
|
|
INSERT INTO cache.dailyTaskLog(state) VALUES('clean END');
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `departure_timing` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `departure_timing`()
|
|
BEGIN
|
|
|
|
DECLARE done BOOL DEFAULT FALSE;
|
|
DECLARE rsDeparture INT;
|
|
DECLARE rsHoras DECIMAL(5,2);
|
|
DECLARE rsInicio DECIMAL(5,2);
|
|
DECLARE resto DECIMAL(5,2);
|
|
DECLARE horasProd DECIMAL(5,2);
|
|
DECLARE inicioProd DECIMAL(5,2) DEFAULT 24.00;
|
|
DECLARE myTime DECIMAL(5,2);
|
|
DECLARE departureLimit INT;
|
|
DECLARE myWarehouse INT;
|
|
DECLARE myMinSpeed DECIMAL(10,2);
|
|
DECLARE vLoadingDelay DECIMAL(5) DEFAULT 2;
|
|
|
|
|
|
DECLARE rs CURSOR FOR
|
|
SELECT Departure
|
|
, Sum(pb.m3)/(GREATEST(v.m3,IFNULL(minSpeed,0))/1.3) AS Horas
|
|
, curDate()+(Departure + vLoadingDelay -(Sum(pb.m3)/(GREATEST(v.m3,IFNULL(minSpeed,0))/1.3))/24) AS InicioPreparacion
|
|
FROM tmp.production_buffer pb
|
|
JOIN vn2008.v_encajado_ultima_hora v ON v.warehouse_id = pb.warehouse_id
|
|
LEFT JOIN cache.departure_limit dp ON dp.warehouse_id = pb.warehouse_id AND dp.fecha = CURDATE()
|
|
WHERE pb.Fecha = CURDATE()
|
|
AND alert_level < 2
|
|
AND IFNULL(Departure,0) > 0
|
|
GROUP BY Departure
|
|
ORDER BY Departure DESC;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
|
|
|
SET myTime = HOUR(now()) + MINUTE(now()) / 60;
|
|
|
|
SELECT warehouse_id INTO myWarehouse
|
|
FROM tmp.production_buffer
|
|
LIMIT 1;
|
|
|
|
OPEN rs;
|
|
|
|
FETCH rs INTO rsDeparture, rsHoras , rsInicio;
|
|
|
|
-- SELECT rsDeparture, rsHoras , rsInicio, myWarehouse;
|
|
|
|
WHILE NOT done DO
|
|
|
|
SET resto = IF(inicioProd < rsDeparture, rsDeparture - inicioProd,0);
|
|
|
|
SET inicioProd = rsDeparture - rsHoras;
|
|
|
|
IF inicioProd - resto < myTime THEN
|
|
|
|
SET done = TRUE;
|
|
|
|
ELSE
|
|
|
|
SET departureLimit = rsDeparture;
|
|
|
|
FETCH rs INTO rsDeparture, rsHoras , rsInicio;
|
|
|
|
-- SELECT rsDeparture, rsHoras , rsInicio;
|
|
|
|
END IF;
|
|
|
|
END WHILE;
|
|
|
|
SET departureLimit = IFNULL(departureLimit,24);
|
|
SET departureLimit = IF(departureLimit = 0, 24, departureLimit);
|
|
|
|
SELECT minSpeed INTO myMinSpeed
|
|
FROM cache.departure_limit
|
|
WHERE warehouse_id = myWarehouse
|
|
AND fecha = CURDATE();
|
|
|
|
REPLACE cache.departure_limit(warehouse_id, fecha, hora, minSpeed)
|
|
VALUES (myWarehouse, CURDATE(), IFNULL(departureLimit,24), IFNULL(myMinSpeed,0));
|
|
|
|
|
|
CLOSE rs;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `departure_timing_beta` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `departure_timing_beta`()
|
|
BEGIN
|
|
|
|
DECLARE done BOOL DEFAULT FALSE;
|
|
DECLARE rsDeparture INT;
|
|
DECLARE rsHoras DECIMAL(5,2);
|
|
DECLARE rsInicio DECIMAL(5,2);
|
|
DECLARE resto DECIMAL(5,2);
|
|
DECLARE horasProd DECIMAL(5,2);
|
|
DECLARE inicioProd DECIMAL(5,2) DEFAULT 24.00;
|
|
DECLARE myTime DECIMAL(5,2);
|
|
DECLARE departureLimit INT;
|
|
DECLARE myWarehouse INT;
|
|
|
|
DECLARE rs CURSOR FOR
|
|
SELECT Departure
|
|
, Sum(pb.m3)/GREATEST(v.m3,IFNULL(minSpeed,0)) AS Horas
|
|
, curDate()+(Departure-(Sum(pb.m3)/GREATEST(v.m3,IFNULL(minSpeed,0)))/24) AS InicioPreparacion
|
|
FROM tmp.production_buffer pb
|
|
JOIN vn2008.v_encajado_ultima_hora v ON v.warehouse_id = pb.warehouse_id
|
|
LEFT JOIN cache.departure_limit dp ON dp.warehouse_id = pb.warehouse_id AND dp.fecha = CURDATE()
|
|
WHERE pb.Fecha = CURDATE()
|
|
AND alert_level < 2
|
|
AND IFNULL(Departure,0) > 0
|
|
GROUP BY Departure
|
|
ORDER BY Departure DESC;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
|
|
|
|
|
|
|
SET myTime = HOUR(now()) + MINUTE(now()) / 60;
|
|
|
|
SELECT warehouse_id INTO myWarehouse
|
|
FROM tmp.production_buffer
|
|
LIMIT 1;
|
|
|
|
OPEN rs;
|
|
|
|
FETCH rs INTO rsDeparture, rsHoras , rsInicio;
|
|
|
|
SELECT rsDeparture, rsHoras , rsInicio, myWarehouse, done;
|
|
|
|
WHILE NOT done DO
|
|
|
|
SET resto = IF(inicioProd < rsDeparture, rsDeparture - inicioProd,0);
|
|
|
|
SET inicioProd = rsDeparture - rsHoras;
|
|
|
|
SELECT rsDeparture, rsHoras , rsInicio, resto,inicioProd;
|
|
|
|
IF inicioProd - resto < myTime THEN
|
|
|
|
SET done = TRUE;
|
|
|
|
ELSE
|
|
|
|
SET departureLimit = rsDeparture;
|
|
|
|
FETCH rs INTO rsDeparture, rsHoras , rsInicio;
|
|
|
|
END IF;
|
|
|
|
END WHILE;
|
|
|
|
SELECT rsDeparture, rsHoras , rsInicio, resto,inicioProd;
|
|
|
|
|
|
SET departureLimit = IFNULL(departureLimit,24);
|
|
|
|
IF departureLimit > 0 THEN
|
|
|
|
REPLACE cache.departure_limit(warehouse_id, fecha, hora, minSpeed)
|
|
VALUES (myWarehouse, CURDATE(), departureLimit, myMinSpeed);
|
|
|
|
END IF;
|
|
|
|
CLOSE rs;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `departure_timing_kk` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `departure_timing_kk`()
|
|
BEGIN
|
|
|
|
DECLARE done BOOL DEFAULT FALSE;
|
|
DECLARE rsDeparture INT;
|
|
DECLARE rsHoras DECIMAL(5,2);
|
|
DECLARE rsInicio DECIMAL(5,2);
|
|
DECLARE resto DECIMAL(5,2);
|
|
DECLARE horasProd DECIMAL(5,2);
|
|
DECLARE inicioProd DECIMAL(5,2) DEFAULT 24.00;
|
|
DECLARE myTime DECIMAL(5,2);
|
|
DECLARE departureLimit INT;
|
|
DECLARE myWarehouse INT;
|
|
DECLARE myMinSpeed DECIMAL(10,2);
|
|
|
|
|
|
DECLARE rs CURSOR FOR
|
|
SELECT Departure
|
|
, Sum(pb.m3)/(GREATEST(v.m3, 100)/1.3) AS Horas
|
|
, curDate()+(Departure-Sum(pb.m3)/(GREATEST(v.m3, 100)/1.3))/24 AS InicioPreparacion
|
|
FROM tmp.production_buffer pb
|
|
JOIN vn2008.v_encajado_ultima_hora v ON v.warehouse_id = pb.warehouse_id
|
|
WHERE Fecha = CURDATE()
|
|
AND alert_level < 2
|
|
AND IFNULL(Departure,0) > 0
|
|
GROUP BY Departure
|
|
ORDER BY Departure DESC;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
|
|
|
SELECT IFNULL(minSpeed,0) INTO myMinSpeed
|
|
FROM cache.departure_limit
|
|
WHERE warehouse_id = myWarehouse
|
|
AND fecha = CURDATE();
|
|
|
|
SET myTime = HOUR(now()) + MINUTE(now()) / 60;
|
|
|
|
SELECT warehouse_id INTO myWarehouse
|
|
FROM tmp.production_buffer
|
|
LIMIT 1;
|
|
|
|
OPEN rs;
|
|
|
|
FETCH rs INTO rsDeparture, rsHoras , rsInicio;
|
|
|
|
WHILE NOT done DO
|
|
|
|
SET resto = IF(inicioProd < rsDeparture, rsDeparture - inicioProd,0);
|
|
|
|
SET inicioProd = rsDeparture - rsHoras;
|
|
|
|
IF inicioProd - resto < myTime THEN
|
|
|
|
SET done = TRUE;
|
|
|
|
ELSE
|
|
|
|
SET departureLimit = rsDeparture;
|
|
|
|
FETCH rs INTO rsDeparture, rsHoras , rsInicio;
|
|
|
|
END IF;
|
|
|
|
END WHILE;
|
|
|
|
IF departureLimit > 0 THEN
|
|
|
|
REPLACE cache.departure_limit(warehouse_id, fecha, hora, minSpeed)
|
|
VALUES (myWarehouse, CURDATE(), departureLimit, myMinSpeed);
|
|
|
|
END IF;
|
|
|
|
CLOSE rs;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `equaliza` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `equaliza`(wh_id INT)
|
|
BEGIN
|
|
-- DEPRECATED usar equalizator_refesh
|
|
|
|
|
|
|
|
CALL equalizator_refresh (FALSE, wh_id);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `equalizator_refresh` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `equalizator_refresh`(v_refresh BOOL, wh_id INT)
|
|
proc: BEGIN
|
|
DECLARE datEQ DATETIME;
|
|
DECLARE timDIF TIME;
|
|
DECLARE v_calc INT;
|
|
/* JGF 2017-03-20 cuelga el sistema
|
|
CALL cache_calc_start (v_calc, v_refresh, 'equalizator', wh_id);
|
|
|
|
IF !v_refresh
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
REPLACE equalizator (warehouse_id, Vista, Encajado, Impreso, Pedido)
|
|
SELECT
|
|
t.warehouse_id,
|
|
Vista,
|
|
sum(IF(t.Factura IS NOT NULL
|
|
OR t.Etiquetasemitidas
|
|
OR IFNULL(ticket_id,0), Cantidad * r.cm3, 0)) as encajado,
|
|
sum(IF(PedidoImpreso, Cantidad * r.cm3,0)) as impreso,
|
|
sum(Cantidad * r.cm3 ) as Pedido
|
|
FROM
|
|
vn2008.Movimientos m
|
|
JOIN
|
|
vn2008.Tickets t USING (Id_Ticket)
|
|
JOIN
|
|
bi.rotacion r on r.warehouse_id = t.warehouse_id and r.Id_Article = m.Id_Article
|
|
JOIN
|
|
vn2008.Agencias a ON t.Id_Agencia = a.Id_Agencia
|
|
JOIN
|
|
vn2008.Clientes C USING (Id_Cliente)
|
|
LEFT JOIN
|
|
(SELECT distinct
|
|
ticket_id
|
|
FROM
|
|
vn2008.expeditions e JOIN vn2008.Tickets t
|
|
ON t.Id_Ticket = e.ticket_id
|
|
WHERE Fecha >= curDate()
|
|
) exp ON ticket_id = Id_Ticket
|
|
WHERE
|
|
invoice And Fecha >= curDate()
|
|
AND wh_id in (0,t.warehouse_id)
|
|
AND fecha < (TIMESTAMPADD(DAY, 1, CURDATE()))
|
|
GROUP BY t.warehouse_id, Vista;
|
|
|
|
-- Reducimos las cantidades para que el grafico tenga sentido
|
|
|
|
UPDATE equalizator SET
|
|
pedido = (pedido - (impreso - encajado) - encajado) / 1000000,
|
|
impreso = (impreso - encajado) / 1000000,
|
|
encajado = encajado / 1000000
|
|
WHERE wh_id in (0,warehouse_id);
|
|
|
|
CALL cache_calc_end (v_calc);
|
|
*/
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `item_range_refresh` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `item_range_refresh`(OUT v_calc INT, v_refresh BOOL, v_warehouse INT, v_date DATE)
|
|
proc: BEGIN
|
|
DECLARE v_params CHAR(100);
|
|
DECLARE v_date_inv DATE;
|
|
|
|
IF v_date < CURDATE()
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
SET v_params = CONCAT_WS('/', v_warehouse, v_date);
|
|
CALL cache_calc_start (v_calc, v_refresh, 'item_range', v_params);
|
|
|
|
IF !v_refresh
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
-- Limpia las caches antiguas
|
|
|
|
DELETE FROM item_range WHERE calc_id NOT IN (
|
|
SELECT cc.id
|
|
FROM `cache` c
|
|
JOIN cache_calc cc ON c.id = cc.cache_id
|
|
WHERE c.`name` = 'item_range');
|
|
|
|
-- Calculos previos
|
|
|
|
CALL last_buy_refresh (FALSE);
|
|
|
|
SET v_date_inv = vn2008.date_inv();
|
|
|
|
-- Calcula el ultimo dia de vida para cada producto
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.item_range;
|
|
CREATE TEMPORARY TABLE tmp.item_range
|
|
(INDEX (item_id))
|
|
ENGINE = MEMORY
|
|
SELECT c.item_id, IF(t.life IS NULL, NULL, TIMESTAMPADD(DAY, t.life + 1, GREATEST(c.landing, b.landing))) AS date_end
|
|
FROM last_buy b
|
|
JOIN (
|
|
SELECT c.Id_Article item_id, MAX(landing) landing
|
|
FROM vn2008.Compres c
|
|
JOIN vn2008.Entradas e ON c.Id_Entrada = e.Id_Entrada
|
|
JOIN vn2008.travel t ON t.id = e.travel_id
|
|
JOIN vn2008.warehouse w ON w.id = t.warehouse_id
|
|
WHERE t.landing BETWEEN v_date_inv AND v_date
|
|
AND t.warehouse_id = v_warehouse
|
|
AND NOT e.Inventario
|
|
AND NOT e.Redada
|
|
GROUP BY item_id
|
|
) c ON c.item_id = b.item_id
|
|
JOIN vn2008.Articles a ON a.Id_Article = b.item_id
|
|
JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id
|
|
WHERE b.warehouse_id = v_warehouse
|
|
HAVING date_end >= v_date OR date_end IS NULL;
|
|
|
|
-- Tabla con el ultimo dia de precios fijados para cada producto
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.fix_range;
|
|
CREATE TEMPORARY TABLE tmp.fix_range
|
|
ENGINE = MEMORY
|
|
SELECT item_id, date_end FROM (
|
|
SELECT p.item_id, p.date_end
|
|
FROM vn2008.price_fixed p
|
|
LEFT JOIN tmp.item_range i USING(item_id)
|
|
WHERE IFNULL(i.date_end, v_date) BETWEEN p.date_start AND p.date_end
|
|
AND warehouse_id IN (0, v_warehouse)
|
|
ORDER BY item_id, warehouse_id DESC, date_end DESC
|
|
) t GROUP BY item_id;
|
|
|
|
-- Calcula los rangos
|
|
|
|
DELETE FROM item_range WHERE calc_id = v_calc;
|
|
|
|
INSERT INTO item_range (calc_id, item_id, date_end)
|
|
SELECT v_calc, item_id, date_end
|
|
FROM (
|
|
SELECT * FROM tmp.fix_range
|
|
UNION ALL
|
|
SELECT * FROM tmp.item_range
|
|
) t
|
|
GROUP BY item_id;
|
|
|
|
-- Limpieza
|
|
|
|
DROP TEMPORARY TABLE tmp.item_range;
|
|
DROP TEMPORARY TABLE tmp.fix_range;
|
|
|
|
CALL cache_calc_end (v_calc);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `last_buy_refresh` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `last_buy_refresh`(v_refresh BOOL)
|
|
proc: BEGIN
|
|
/**
|
|
* Crea o actualiza la cache con la última compra y fecha de cada
|
|
* artículo hasta ayer. Para obtener la última compra hasta una fecha
|
|
* determinada utilizar el procedimiento vn2008.item_last_buy_().
|
|
*
|
|
* @param v_refresh %TRUE para forzar el recálculo de la cache
|
|
**/
|
|
DECLARE v_calc INT;
|
|
DECLARE v_date_ini DATE;
|
|
DECLARE v_date_end DATE;
|
|
DECLARE v_last_refresh DATE;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
CALL cache_calc_unlock (v_calc);
|
|
RESIGNAL;
|
|
END;
|
|
|
|
CALL cache_calc_start (v_calc, v_refresh, 'last_buy', NULL);
|
|
|
|
IF !v_refresh
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
-- TODO: ¿Se puede usar la fecha del ultimo inventario?
|
|
SET v_date_ini = vn2008.date_inv();-- TIMESTAMPADD(DAY, -90, CURDATE());
|
|
SET v_date_end = CURDATE(); -- TIMESTAMPADD(DAY, -1, CURDATE());
|
|
|
|
CALL vn2008.item_last_buy_from_interval (NULL, v_date_ini, v_date_end);
|
|
|
|
DELETE FROM last_buy;
|
|
|
|
INSERT INTO last_buy (item_id, warehouse_id, buy_id, landing)
|
|
SELECT item_id, warehouse_id, buy_id, landing
|
|
FROM tmp.item_last_buy_from_interval;
|
|
|
|
DROP TEMPORARY TABLE tmp.item_last_buy_from_interval;
|
|
|
|
CALL cache_calc_end (v_calc);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `prod_graphic_refresh` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `prod_graphic_refresh`(v_refresh BOOL, wh_id INT)
|
|
proc: BEGIN
|
|
DECLARE datEQ DATETIME;
|
|
DECLARE timDIF TIME;
|
|
DECLARE v_calc INT;
|
|
|
|
CALL cache_calc_start (v_calc, v_refresh, 'prod_graphic', wh_id);
|
|
|
|
IF !v_refresh
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
CALL vn2008.production_control_source(wh_id, 0);
|
|
|
|
DELETE FROM prod_graphic_source;
|
|
|
|
INSERT INTO prod_graphic_source (warehouse_id, alert_level, m3, hora, `order`, Agencia)
|
|
SELECT
|
|
wh_id,
|
|
pb.alert_level,
|
|
m3,
|
|
pb.Hora,
|
|
pb.state_order,
|
|
pb.Agencia
|
|
FROM tmp.production_buffer pb
|
|
WHERE Fecha = CURDATE()
|
|
;
|
|
|
|
|
|
CALL cache_calc_end (v_calc);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sales_refresh` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `sales_refresh`()
|
|
proc:BEGIN
|
|
|
|
DECLARE v_calc INT;
|
|
DECLARE v_refresh BOOL DEFAULT TRUE;
|
|
DECLARE datMONTH INT;
|
|
DECLARE datYEAR INT;
|
|
|
|
CALL cache_calc_start (v_calc, v_refresh, 'sales', NULL);
|
|
|
|
IF !v_refresh
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
|
|
SELECT MONTH(CURDATE()) INTO datMONTH;
|
|
SELECT YEAR(CURDATE()) INTO datYEAR;
|
|
|
|
-- preparamos una tabla con los meses y años que interesan
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.periods;
|
|
CREATE TEMPORARY TABLE tmp.periods
|
|
select distinct month, year(date) as year
|
|
from vn2008.time
|
|
where date <= CURDATE()
|
|
order by year desc, month desc
|
|
limit 3;
|
|
|
|
-- borramos los datos para evitar flecos
|
|
DELETE s.*
|
|
FROM bi.sales s
|
|
join tmp.periods using(year,month);
|
|
|
|
-- insertamos las ventas de cada comercial
|
|
REPLACE bi.sales(Id_Trabajador, year, month, weight, boss_id)
|
|
select v.Id_Trabajador, year, month, round(sum(total)) as weight, IFNULL(j.boss_id,20)
|
|
from bi.v_ticket_total v
|
|
join tmp.periods using(year,month)
|
|
left join (SELECT jerarquia.boss_id, jerarquia.worker_id
|
|
FROM vn2008.jerarquia
|
|
) j on j.worker_id = v.Id_Trabajador
|
|
group by v.Id_Trabajador, year, month;
|
|
|
|
|
|
|
|
-- caso especial: Claudi ajuda a Josep a llegar a los 1200 euros de comision
|
|
/*
|
|
update bi.sales
|
|
set boss_aid = 34285 - weight
|
|
where Id_Trabajador = 378
|
|
and year >= 2015
|
|
and month > datmonth -2;
|
|
|
|
update bi.sales s
|
|
join
|
|
(select year, month, boss_aid
|
|
from bi.sales
|
|
where Id_Trabajador = 378
|
|
and year >= 2015
|
|
and month > datmonth -2) sub using(year,month)
|
|
set s.boss_aid = s.boss_aid - sub.boss_aid
|
|
where Id_Trabajador = 208
|
|
and year >= 2015
|
|
and month > datmonth -2;
|
|
*/
|
|
|
|
|
|
|
|
|
|
-- ahora, las comisiones
|
|
|
|
update bi.sales s
|
|
set comision = weight * 0.029;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.periods;
|
|
|
|
CALL cache_calc_end (v_calc);
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `stock_refresh` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `stock_refresh`(v_refresh BOOL)
|
|
proc: BEGIN
|
|
/**
|
|
* Crea o actualiza la cache con el disponible hasta el día de
|
|
* ayer. Esta cache es usada como base para otros procedimientos
|
|
* como el cáculo del visible o del ATP.
|
|
*
|
|
* @param v_refresh %TRUE para forzar el recálculo de la cache
|
|
**/
|
|
DECLARE v_calc INT;
|
|
DECLARE v_date_inv DATE;
|
|
DECLARE v_curdate DATE;
|
|
DECLARE v_last_refresh DATETIME;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
CALL cache_calc_unlock (v_calc);
|
|
RESIGNAL;
|
|
END;
|
|
|
|
CALL cache_calc_start (v_calc, v_refresh, 'stock', NULL);
|
|
|
|
IF !v_refresh
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
SET v_date_inv = (SELECT FechaInventario FROM vn2008.tblContadores LIMIT 1);
|
|
SET v_curdate = CURDATE();
|
|
|
|
DELETE FROM stock;
|
|
|
|
INSERT INTO stock (item_id, warehouse_id, amount)
|
|
SELECT item_id, warehouse_id, SUM(amount) amount FROM
|
|
(
|
|
SELECT item_id, warehouse_id, amount FROM vn2008.item_out
|
|
WHERE dat >= v_date_inv AND dat < v_curdate
|
|
UNION ALL
|
|
SELECT item_id, warehouse_id, amount FROM vn2008.item_entry_in
|
|
WHERE dat >= v_date_inv AND dat < v_curdate
|
|
UNION ALL
|
|
SELECT item_id ,warehouse_id, amount FROM vn2008.item_entry_out
|
|
WHERE dat >= v_date_inv AND dat < v_curdate
|
|
) t
|
|
GROUP BY item_id, warehouse_id HAVING amount != 0;
|
|
|
|
CALL cache_calc_end (v_calc);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `visible_refresh` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `visible_refresh`(OUT v_calc INT, v_refresh BOOL, v_warehouse INT)
|
|
proc: BEGIN
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
CALL cache_calc_unlock (v_calc);
|
|
RESIGNAL;
|
|
END;
|
|
|
|
CALL cache_calc_start (v_calc, v_refresh, 'visible', v_warehouse);
|
|
|
|
IF !v_refresh
|
|
THEN
|
|
LEAVE proc;
|
|
END IF;
|
|
|
|
-- Limpia las caches antiguas
|
|
|
|
IF TRUE -- GET_LOCK('visible/clean', 1)
|
|
THEN
|
|
DELETE FROM visible WHERE calc_id NOT IN (
|
|
SELECT cc.id
|
|
FROM `cache` c
|
|
JOIN cache_calc cc ON c.id = cc.cache_id
|
|
WHERE c.`name` = 'visible');
|
|
|
|
-- DO RELEASE_LOCK('visible/clean');
|
|
END IF;
|
|
|
|
-- Calculamos el stock hasta ayer
|
|
|
|
CALL `cache`.stock_refresh(false);
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS vn2008.tmp_item;
|
|
CREATE TEMPORARY TABLE vn2008.tmp_item
|
|
(PRIMARY KEY (item_id))
|
|
ENGINE = MEMORY
|
|
SELECT item_id, amount stock, amount visible FROM `cache`.stock
|
|
WHERE warehouse_id = v_warehouse;
|
|
|
|
-- Calculamos los movimientos confirmados de hoy
|
|
|
|
CALL vn2008.item_stock_visible(v_warehouse, NULL);
|
|
|
|
DELETE FROM visible WHERE calc_id = v_calc;
|
|
|
|
INSERT INTO visible (calc_id, item_id,visible)
|
|
SELECT v_calc, item_id, visible FROM vn2008.tmp_item;
|
|
|
|
CALL cache_calc_end (v_calc);
|
|
|
|
DROP TEMPORARY TABLE vn2008.tmp_item;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `weekly_sales_refresh` */;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `weekly_sales_refresh`(v_refresh BOOL)
|
|
BEGIN
|
|
|
|
DECLARE v_week_ini INT;
|
|
|
|
DECLARE v_week_end INT;
|
|
|
|
DECLARE v_date_ini DATE;
|
|
|
|
DECLARE v_date_end DATE;
|
|
|
|
DECLARE v_last_refresh DATE;
|
|
|
|
|
|
|
|
IF GET_LOCK('weekly_sales', 300)
|
|
|
|
THEN
|
|
|
|
SELECT last_refresh INTO v_last_refresh FROM weekly_sales_info;
|
|
|
|
|
|
|
|
IF v_last_refresh IS NULL THEN
|
|
|
|
SET v_refresh = TRUE;
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
IF v_refresh || v_last_refresh < CURDATE()
|
|
|
|
THEN
|
|
|
|
SET v_date_ini = TIMESTAMPADD(DAY, -(366 * 1.5), CURDATE());
|
|
|
|
SET v_date_end = TIMESTAMPADD(DAY, -1, CURDATE());
|
|
|
|
|
|
|
|
IF v_refresh
|
|
|
|
THEN
|
|
|
|
TRUNCATE TABLE weekly_sales;
|
|
|
|
ELSE
|
|
|
|
SET v_week_ini = vn2008.to_weeks (v_date_ini);
|
|
|
|
SET v_date_ini = TIMESTAMPADD(DAY, -WEEKDAY(v_last_refresh) - 7, v_last_refresh);
|
|
|
|
SET v_week_end = vn2008.to_weeks (v_date_ini);
|
|
|
|
|
|
|
|
DELETE FROM weekly_sales
|
|
|
|
WHERE week < v_week_ini OR week >= v_week_end;
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
CALL vn2008.weekly_sales_new (0, v_date_ini, v_date_end);
|
|
|
|
|
|
|
|
INSERT INTO weekly_sales (item_id, week, warehouse_id, amount, price)
|
|
|
|
SELECT item_id, week, warehouse_id, amount, price FROM vn2008.weekly_sales;
|
|
|
|
|
|
|
|
DROP TEMPORARY TABLE vn2008.weekly_sales;
|
|
|
|
|
|
|
|
TRUNCATE TABLE weekly_sales_info;
|
|
|
|
INSERT INTO weekly_sales_info (last_refresh) VALUES (CURDATE());
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
DO RELEASE_LOCK('weekly_sales');
|
|
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
|
|
--
|
|
-- Current Database: `vncontrol`
|
|
--
|
|
|
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `vncontrol` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
|
|
|
|
USE `vncontrol`;
|
|
|
|
--
|
|
-- Table structure for table `accion`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `accion`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `accion` (
|
|
`accion_id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`accion` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`accion_id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `clientes_match`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `clientes_match`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `clientes_match` (
|
|
`Id_cliente` int(11) NOT NULL,
|
|
`odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `dailyTaskLog`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `dailyTaskLog`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `dailyTaskLog` (
|
|
`state` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='No he encontrado el lugar en el que vicente almacena la hora en que se ejecutan las daily tasks, asi que he hecho esta tabla, a eliminar cuando se considere oportuno';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `fallo`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `fallo`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `fallo` (
|
|
`queja_id` int(10) unsigned NOT NULL,
|
|
`accion_id` int(11) NOT NULL,
|
|
PRIMARY KEY (`queja_id`,`accion_id`),
|
|
KEY `accion` (`accion_id`,`queja_id`),
|
|
KEY `fallo` (`queja_id`),
|
|
CONSTRAINT `accion` FOREIGN KEY (`accion_id`) REFERENCES `accion` (`accion_id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `inter`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `inter`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `inter` (
|
|
`inter_id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`state_id` tinyint(3) unsigned NOT NULL,
|
|
`fallo_id` int(10) unsigned NOT NULL DEFAULT '21',
|
|
`nota` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`Id_Ticket` int(11) DEFAULT NULL,
|
|
`Id_Trabajador` int(11) DEFAULT NULL,
|
|
`Id_Supervisor` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`inter_id`),
|
|
KEY `currante` (`Id_Trabajador`),
|
|
KEY `responsable` (`Id_Supervisor`),
|
|
KEY `ticket` (`Id_Ticket`),
|
|
KEY `inter_state` (`state_id`),
|
|
CONSTRAINT `currante` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE,
|
|
CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `inter_state` FOREIGN KEY (`state_id`) REFERENCES `vn2008`.`state` (`id`) ON UPDATE CASCADE,
|
|
CONSTRAINT `responsable` FOREIGN KEY (`Id_Supervisor`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=8428388 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `interBeforeInsert`
|
|
BEFORE INSERT ON `inter` FOR EACH ROW
|
|
BEGIN
|
|
|
|
DECLARE contados INT;
|
|
DECLARE vSupervisor INT;
|
|
|
|
SELECT Id_Trabajador INTO vSupervisor FROM vn2008.Trabajadores WHERE user_id = account.userGetId();
|
|
|
|
SET NEW.Id_Supervisor = IFNULL(vSupervisor,20);
|
|
|
|
IF NEW.state_id = 5
|
|
THEN
|
|
SELECT count(Id_Ticket) INTO contados
|
|
FROM vncontrol.inter
|
|
WHERE state_id = 5
|
|
AND Id_Ticket = NEW.Id_Ticket
|
|
AND IFNULL(Id_Supervisor,-1) <> vSupervisor
|
|
AND TIMESTAMPADD(SECOND, 60, odbc_date) >= NOW();
|
|
|
|
IF contados <> 0 THEN
|
|
CALL util.throw ('FALLO_AL_INSERTAR');
|
|
END IF;
|
|
END IF;
|
|
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vncontrol`.`interAfterInsert`
|
|
AFTER INSERT ON `inter` FOR EACH ROW
|
|
BEGIN
|
|
REPLACE vn2008.Tickets_state(Id_Ticket, inter_id,state_name)
|
|
SELECT NEW.Id_Ticket, NEW.inter_id, s.`name` FROM vn2008.state s WHERE s.id = NEW.state_id;
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vncontrol`.`interAfterUpdate`
|
|
AFTER UPDATE ON `inter` FOR EACH ROW
|
|
BEGIN
|
|
DECLARE intIdTicket INT;
|
|
DECLARE intInterId INT;
|
|
DECLARE strName VARCHAR(15);
|
|
|
|
IF (NEW.state_id <> OLD.state_id) THEN
|
|
REPLACE INTO vn2008.Tickets_state(Id_Ticket, inter_id,state_name)
|
|
SELECT NEW.Id_Ticket, NEW.inter_id, s.`name`
|
|
FROM vn2008.state s WHERE s.id = NEW.state_id;
|
|
END IF;
|
|
IF (NEW.Id_Ticket <> OLD.Id_Ticket) THEN
|
|
|
|
SELECT i.Id_Ticket, i.inter_id, s.`name`
|
|
INTO intIdTicket, intInterId, strName
|
|
FROM vncontrol.inter i
|
|
JOIN vn2008.state s ON i.state_id = s.id
|
|
WHERE Id_Ticket = NEW.Id_Ticket
|
|
ORDER BY odbc_date DESC
|
|
LIMIT 1;
|
|
IF intIdTicket > 0 THEN
|
|
REPLACE INTO vn2008.Tickets_state(Id_Ticket, inter_id,state_name)
|
|
VALUES(intIdTicket, intInterId, strName);
|
|
END IF;
|
|
END IF;
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vncontrol`.`interAfterDelete`
|
|
AFTER DELETE ON `inter` FOR EACH ROW
|
|
BEGIN
|
|
DECLARE intIdTicket INT;
|
|
DECLARE intInterId INT;
|
|
DECLARE strName VARCHAR(15);
|
|
|
|
DECLARE CONTINUE HANDLER FOR SQLSTATE '23000'
|
|
BEGIN
|
|
DELETE FROM vn2008.Tickets_state
|
|
WHERE Id_Ticket = OLD.Id_Ticket;
|
|
END;
|
|
|
|
IF OLD.odbc_date > TIMESTAMPADD(WEEK, -1, CURDATE()) THEN
|
|
|
|
SELECT i.Id_Ticket, i.inter_id, s.`name`
|
|
INTO intIdTicket, intInterId, strName
|
|
FROM vncontrol.inter i
|
|
JOIN vn2008.state s ON i.state_id = s.id
|
|
WHERE Id_Ticket = OLD.Id_Ticket
|
|
ORDER BY odbc_date DESC
|
|
LIMIT 1;
|
|
|
|
IF intIdTicket > 0 THEN
|
|
REPLACE INTO vn2008.Tickets_state(Id_Ticket, inter_id,state_name)
|
|
VALUES (intIdTicket, intInterId, strName);
|
|
END IF;
|
|
|
|
END IF;
|
|
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
--
|
|
-- Dumping events for database 'vncontrol'
|
|
--
|
|
|
|
--
|
|
-- Dumping routines for database 'vncontrol'
|
|
--
|
|
/*!50003 DROP PROCEDURE IF EXISTS `clean` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `clean`()
|
|
BEGIN
|
|
|
|
DECLARE v_date2 DATETIME DEFAULT TIMESTAMPADD(MONTH, -2,CURDATE());
|
|
|
|
INSERT INTO vncontrol.dailyTaskLog(state) VALUES('clean START');
|
|
|
|
DELETE FROM vncontrol.inter WHERE odbc_date <= v_date2;
|
|
|
|
INSERT INTO vncontrol.dailyTaskLog(state) VALUES('clean END');
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ResumenKK` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ResumenKK`()
|
|
BEGIN
|
|
|
|
select accion, CodigoTrabajador, semana, Pedidos, Lineas
|
|
from accion
|
|
join
|
|
(
|
|
SELECT * FROM
|
|
(
|
|
select count(*) as Pedidos, semana, Id_Trabajador, accion_id
|
|
from
|
|
(select distinct *
|
|
from
|
|
(
|
|
select vn2008.semana(odbc_date) as semana
|
|
,Id_Trabajador
|
|
,accion_id
|
|
,Id_Ticket
|
|
from vncontrol.inter
|
|
) sub
|
|
) sub2
|
|
group by semana, Id_Trabajador, accion_id
|
|
) subpedidos
|
|
|
|
inner join
|
|
(
|
|
|
|
select semana, Id_Trabajador, accion_id, count(*) as Lineas
|
|
from vn2008.Movimientos
|
|
inner join
|
|
(
|
|
select distinct vn2008.semana(odbc_date) as semana, Id_Ticket, Id_Trabajador, accion_id from vncontrol.inter
|
|
) vnc using(Id_Ticket)
|
|
group by semana, Id_Trabajador, accion_id
|
|
|
|
) sublineas using(semana, Id_Trabajador, accion_id)
|
|
|
|
) sub3 using(accion_id)
|
|
|
|
join vn2008.Trabajadores using(Id_Trabajador)
|
|
;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
--
|
|
-- Current Database: `edi`
|
|
--
|
|
|
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `edi` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
|
|
|
|
USE `edi`;
|
|
|
|
--
|
|
-- Table structure for table `batch`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `batch`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `batch` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`message_id` int(10) unsigned NOT NULL,
|
|
`type_id` smallint(5) unsigned NOT NULL,
|
|
`buy_edi_id` int(10) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `type_id` (`type_id`,`buy_edi_id`),
|
|
KEY `message_id` (`message_id`),
|
|
KEY `buy_edi_id` (`buy_edi_id`),
|
|
CONSTRAINT `batch_ibfk_1` FOREIGN KEY (`message_id`) REFERENCES `message` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `batch_ibfk_2` FOREIGN KEY (`buy_edi_id`) REFERENCES `vn2008`.`buy_edi` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=266998 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `batch_type`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `batch_type`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `batch_type` (
|
|
`id` mediumint(8) unsigned NOT NULL,
|
|
`description` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `bucket`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `bucket`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `bucket` (
|
|
`bucket_id` int(11) unsigned NOT NULL,
|
|
`bucket_type_id` mediumint(8) unsigned NOT NULL,
|
|
`description` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
`x_size` mediumint(8) unsigned NOT NULL,
|
|
`y_size` mediumint(8) unsigned NOT NULL,
|
|
`z_size` mediumint(8) unsigned NOT NULL,
|
|
`entry_date` date DEFAULT NULL,
|
|
`expiry_date` date DEFAULT NULL,
|
|
`change_date_time` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`bucket_id`),
|
|
KEY `group_id` (`y_size`),
|
|
KEY `plant_id` (`x_size`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/VBN020101/CK090916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `bucket_type`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `bucket_type`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `bucket_type` (
|
|
`bucket_type_id` mediumint(8) unsigned NOT NULL,
|
|
`description` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
`entry_date` date DEFAULT NULL,
|
|
`expiry_date` date DEFAULT NULL,
|
|
`change_date_time` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`bucket_type_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/VBN020101/FB090916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `config`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `config`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `config` (
|
|
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
|
|
`log_mail` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Mail where the log information is sent',
|
|
`presale_id` mediumint(8) unsigned DEFAULT NULL,
|
|
`default_kop` int(10) unsigned DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `presale_id` (`presale_id`),
|
|
CONSTRAINT `config_ibfk_1` FOREIGN KEY (`presale_id`) REFERENCES `batch_type` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Configuration parameters';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `deliveryInformation`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `deliveryInformation`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `deliveryInformation` (
|
|
`ID` int(11) NOT NULL,
|
|
`DeliveryType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Location` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`DeliveryPrice` decimal(10,2) DEFAULT NULL,
|
|
`ChargeAmount` decimal(10,2) DEFAULT NULL,
|
|
`BasisQuantitiy` int(11) DEFAULT NULL,
|
|
`MinimumQuantity` int(11) DEFAULT NULL,
|
|
`MaximumQuantity Integer` int(11) DEFAULT NULL,
|
|
`LatestDeliveryDateTime` datetime DEFAULT NULL,
|
|
`EarliestDespatchDateTime` datetime DEFAULT NULL,
|
|
`FirstOrderDateTime` datetime DEFAULT NULL,
|
|
`LatestOrderDateTime` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`ID`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `feature`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `feature`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `feature` (
|
|
`item_id` int(11) unsigned NOT NULL,
|
|
`feature_type_id` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`feature_value` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`entry_date` date NOT NULL,
|
|
`expiry_date` date NOT NULL,
|
|
`change_date_time` datetime NOT NULL,
|
|
PRIMARY KEY (`item_id`,`feature_type_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FF130916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `file_config`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `file_config`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `file_config` (
|
|
`file_name` varchar(2) COLLATE utf8_unicode_ci NOT NULL,
|
|
`to_table` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
|
`file` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
|
`updated` date DEFAULT NULL,
|
|
PRIMARY KEY (`file_name`),
|
|
UNIQUE KEY `to_table` (`to_table`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ftp_config`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ftp_config`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ftp_config` (
|
|
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
|
|
`host` varchar(255) CHARACTER SET utf8 NOT NULL,
|
|
`user` varchar(50) CHARACTER SET utf8 NOT NULL,
|
|
`password` varchar(50) CHARACTER SET utf8 NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Configuration parameters';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `genus`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `genus`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `genus` (
|
|
`genus_id` mediumint(8) unsigned NOT NULL,
|
|
`latin_genus_name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
`entry_date` date DEFAULT NULL,
|
|
`expiry_date` date DEFAULT NULL,
|
|
`change_date_time` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`genus_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FG130916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `goodCharacteristic`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `goodCharacteristic`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `goodCharacteristic` (
|
|
`supplyResponse` varchar(26) COLLATE utf8_unicode_ci NOT NULL,
|
|
`type` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'edi.type',
|
|
`value` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'edi.value',
|
|
PRIMARY KEY (`supplyResponse`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `imap_config`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `imap_config`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `imap_config` (
|
|
`id` tinyint(3) unsigned NOT NULL,
|
|
`host` varchar(150) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'localhost',
|
|
`user` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`pass` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`clean_period` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'How long the old mails are preserved',
|
|
`success_folder` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`error_folder` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='IMAP configuration parameters';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `item`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `item`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `item` (
|
|
`id` int(11) unsigned NOT NULL,
|
|
`product_name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
`plant_id` mediumint(8) unsigned DEFAULT NULL,
|
|
`group_id` int(11) DEFAULT NULL,
|
|
`entry_date` date DEFAULT NULL,
|
|
`expiry_date` date DEFAULT NULL,
|
|
`change_date_time` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `group_id` (`group_id`),
|
|
KEY `plant_id` (`plant_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FP130916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `item_feature`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `item_feature`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `item_feature` (
|
|
`item_id` int(11) NOT NULL,
|
|
`presentation_order` tinyint(11) unsigned NOT NULL,
|
|
`feature` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`regulation_type` tinyint(3) unsigned NOT NULL,
|
|
`entry_date` date NOT NULL,
|
|
`expiry_date` date DEFAULT NULL,
|
|
`change_date_time` datetime NOT NULL,
|
|
PRIMARY KEY (`item_id`,`presentation_order`,`entry_date`,`change_date_time`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FY130916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `item_feature_bi` BEFORE INSERT ON `item_feature` FOR EACH ROW
|
|
BEGIN
|
|
IF NEW.expiry_date = '0000-00-00' THEN
|
|
SET NEW.expiry_date = NULL;
|
|
END IF;
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
--
|
|
-- Table structure for table `item_group`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `item_group`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `item_group` (
|
|
`group_code` int(11) unsigned NOT NULL,
|
|
`dutch_group_description` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
`entry_date` date NOT NULL,
|
|
`expiry_date` date NOT NULL,
|
|
`change_date_time` datetime NOT NULL,
|
|
PRIMARY KEY (`group_code`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FO130916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `item_track`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `item_track`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `item_track` (
|
|
`item_id` int(10) unsigned NOT NULL,
|
|
`s1` tinyint(3) NOT NULL DEFAULT '0',
|
|
`s2` tinyint(3) NOT NULL DEFAULT '0',
|
|
`s3` tinyint(3) NOT NULL DEFAULT '0',
|
|
`s4` tinyint(3) NOT NULL DEFAULT '0',
|
|
`pac` tinyint(3) NOT NULL DEFAULT '0',
|
|
`cat` tinyint(3) NOT NULL DEFAULT '0',
|
|
`ori` tinyint(3) NOT NULL DEFAULT '0',
|
|
`pro` tinyint(3) NOT NULL DEFAULT '0',
|
|
`package` tinyint(3) NOT NULL DEFAULT '0',
|
|
`s5` tinyint(3) NOT NULL DEFAULT '0',
|
|
`s6` tinyint(3) NOT NULL DEFAULT '0',
|
|
`kop` tinyint(3) NOT NULL DEFAULT '0',
|
|
`sub` tinyint(3) NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`item_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `mail`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `mail`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `mail` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`mail` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
|
|
`kop` int(10) unsigned DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `mail` (`mail`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='List of allowed mailers';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `message`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `message`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `message` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`sender_id` int(10) unsigned DEFAULT NULL,
|
|
`mail_id` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `mail_id` (`mail_id`),
|
|
KEY `sender_id` (`sender_id`),
|
|
CONSTRAINT `message_ibfk_2` FOREIGN KEY (`sender_id`) REFERENCES `mail` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=285868 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `param`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `param`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `param` (
|
|
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
|
`code` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
|
`name` varchar(5) COLLATE utf8_unicode_ci NOT NULL,
|
|
`subname` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`position` tinyint(3) unsigned NOT NULL DEFAULT '1',
|
|
`type` enum('INTEGER','DOUBLE','STRING','DATE','TIME') COLLATE utf8_unicode_ci NOT NULL,
|
|
`required` tinyint(3) unsigned NOT NULL DEFAULT '1',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `name` (`name`,`subname`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Parameters to capture of every exchange';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `plant`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `plant`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `plant` (
|
|
`plant_id` mediumint(8) unsigned NOT NULL,
|
|
`genus_id` mediumint(8) unsigned NOT NULL,
|
|
`specie_id` mediumint(8) unsigned DEFAULT NULL,
|
|
`entry_date` date DEFAULT NULL,
|
|
`expiry_date` date DEFAULT NULL,
|
|
`change_date_time` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`plant_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FT130916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `specie`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `specie`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `specie` (
|
|
`specie_id` mediumint(8) unsigned NOT NULL,
|
|
`genus_id` mediumint(8) unsigned NOT NULL,
|
|
`latin_species_name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
`entry_date` date DEFAULT NULL,
|
|
`expiry_date` date DEFAULT NULL,
|
|
`change_date_time` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`specie_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FS130916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `supplier`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `supplier`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `supplier` (
|
|
`supplier_id` int(10) unsigned NOT NULL COMMENT 'FHRegistrationNr',
|
|
`glnAddressCode` varchar(13) CHARACTER SET utf8 DEFAULT NULL,
|
|
`company_name` varchar(70) COLLATE utf8_unicode_ci NOT NULL,
|
|
`entry_date` date NOT NULL,
|
|
`expiry_date` date NOT NULL,
|
|
`change_date_time` datetime NOT NULL,
|
|
PRIMARY KEY (`supplier_id`),
|
|
KEY `glnaddressCodeidx` (`glnAddressCode`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/FEC010104/CC090916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `supplyResponse`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `supplyResponse`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `supplyResponse` (
|
|
`ID` int(11) NOT NULL,
|
|
`NumberBunchesPerCask` int(11) DEFAULT NULL,
|
|
`SupplierGLN` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`NewItem` tinyint(1) DEFAULT NULL,
|
|
`SendererID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`ItemSupplierID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`TransactionDate` datetime DEFAULT NULL,
|
|
`TransactionNumber` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`AuctionClockNumber` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`SupplierID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`FLA` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`ItemDatesupplyResponsecol` datetime DEFAULT NULL,
|
|
`Item_ArticleCode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`VBNOmschrijving` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`ExtraRemark` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`ArtCodeType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`VBNGroupCode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`VBNGroupDescription` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`TransactionTime` time DEFAULT NULL,
|
|
`SupplierNumber` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`CountryOfOrigin` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`SerialNumber` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`NumberOfItemsPerCask` int(11) DEFAULT NULL,
|
|
`NumberOfLayersPerTrolley` int(11) DEFAULT NULL,
|
|
`NumberOfUnits` int(11) DEFAULT NULL,
|
|
`MinimumNumberToOrder` int(11) DEFAULT NULL,
|
|
`MinimumOrderUnitType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Price` decimal(10,2) DEFAULT NULL,
|
|
`PotSize` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Height` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Length` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Weight` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Quality` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`NumberOfBuds` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`NumberOfBudsPerStem` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`ExaminiationCode1` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`ExaminiationCode2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Diameter` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`PlantDiameter` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Potshape` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`FlowerShape` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`FlowerColor` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`PotColor` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`PotMaterial` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`MaterialHeight` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`MaterialDiameter` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`OtherMaterial` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`OrderUnitType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`EmbalageCode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`PictureReference` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
PRIMARY KEY (`ID`),
|
|
UNIQUE KEY `ID_UNIQUE` (`ID`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `type`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `type`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `type` (
|
|
`type_id` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`type_group_id` tinyint(3) unsigned NOT NULL,
|
|
`description` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
`entry_date` date NOT NULL,
|
|
`expiry_date` date NOT NULL,
|
|
`change_date_time` datetime NOT NULL,
|
|
PRIMARY KEY (`type_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FE130916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `value`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `value`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `value` (
|
|
`type_id` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`type_value` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`type_description` varchar(70) COLLATE utf8_unicode_ci NOT NULL,
|
|
`entry_date` date NOT NULL,
|
|
`expiry_date` date NOT NULL,
|
|
`change_date_time` datetime NOT NULL,
|
|
PRIMARY KEY (`type_id`,`type_value`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FV130916.txt';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Dumping events for database 'edi'
|
|
--
|
|
|
|
--
|
|
-- Dumping routines for database 'edi'
|
|
--
|
|
/*!50003 DROP PROCEDURE IF EXISTS `batchNew` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `batchNew`(
|
|
vMessage INT
|
|
,vItem VARCHAR(255)
|
|
,vType MEDIUMINT
|
|
,vDeliveryNumber BIGINT
|
|
,vDate DATE
|
|
,vHour TIME
|
|
,vRef INT
|
|
,vAgj INT
|
|
,vCat VARCHAR(2)
|
|
,vPac INT
|
|
,vSub MEDIUMINT
|
|
,vKop INT
|
|
,vPtd VARCHAR(6)
|
|
,vPro MEDIUMINT
|
|
,vOrigin VARCHAR(3)
|
|
,vPtj MEDIUMINT
|
|
,vQuantiy INT
|
|
,vPrice DOUBLE
|
|
,vClock SMALLINT
|
|
,vS1 VARCHAR(3)
|
|
,vS2 VARCHAR(3)
|
|
,vS3 VARCHAR(3)
|
|
,vS4 VARCHAR(4)
|
|
,vS5 VARCHAR(3)
|
|
,vS6 VARCHAR(3)
|
|
,vK1 SMALLINT
|
|
,vK2 SMALLINT
|
|
,vP1 TINYINT
|
|
,vP2 TINYINT
|
|
,vAuction SMALLINT
|
|
,vPackage INT
|
|
)
|
|
BEGIN
|
|
/**
|
|
* Añade un nuevo lote, genera su código de barras y
|
|
* inserta/actualiza el registro en la tabla #vn2008.buy_edi
|
|
*/
|
|
DECLARE vEdi INT;
|
|
DECLARE vRewriteKop INT DEFAULT NULL;
|
|
DECLARE vBarcode CHAR(15) DEFAULT NULL;
|
|
DECLARE vIsDuplicated BOOLEAN DEFAULT FALSE;
|
|
DECLARE vUpdateExistent BOOLEAN DEFAULT FALSE;
|
|
|
|
DECLARE CONTINUE HANDLER FOR 1062 -- ER_DUP_KEY
|
|
SET vIsDuplicated = TRUE;
|
|
|
|
-- Genera el código de barras
|
|
|
|
IF vAgj != 0 AND vAgj IS NOT NULL
|
|
THEN
|
|
SET vBarcode = CONCAT(
|
|
LPAD(vAuction, 2, 0),
|
|
LPAD(IFNULL(vClock, 99), 2, 0),
|
|
LPAD(DAYOFYEAR(vDate), 3, 0),
|
|
IF(vClock IS NULL OR vClock = 99,
|
|
LPAD(vAgj, 7, 0),
|
|
CONCAT(LPAD(vAgj, 5, 0), '01')
|
|
),
|
|
'0'
|
|
);
|
|
END IF;
|
|
|
|
-- Reescribe el parámetro kop
|
|
|
|
IF vKop IS NULL
|
|
THEN
|
|
SELECT default_kop INTO vKop FROM config;
|
|
END IF;
|
|
|
|
SELECT e.kop INTO vRewriteKop
|
|
FROM mail e
|
|
JOIN message m ON m.sender_id = e.id
|
|
WHERE m.id = vMessage;
|
|
|
|
SET vKop = IFNULL(vRewriteKop, vKop);
|
|
|
|
-- Inserta el nuevo EKT
|
|
|
|
INSERT INTO vn2008.buy_edi SET
|
|
barcode = IFNULL(vBarcode, barcode)
|
|
,delivery_number = vDeliveryNumber
|
|
,entry_year = YEAR(vDate)
|
|
,fec = vDate
|
|
,hor = vHour
|
|
,ref = vRef
|
|
,item = vItem
|
|
,agj = vAgj
|
|
,cat = vCat
|
|
,pac = vPac
|
|
,sub = vSub
|
|
,kop = vKop
|
|
,ptd = vPtd
|
|
,pro = vPro
|
|
,ori = vOrigin
|
|
,ptj = vPtj
|
|
,qty = vQuantiy
|
|
,pri = vPrice
|
|
,klo = vClock
|
|
,s1 = vS1
|
|
,s2 = vS2
|
|
,s3 = vS3
|
|
,s4 = vS4
|
|
,s5 = vS5
|
|
,s6 = vS6
|
|
,k01 = vK1
|
|
,k02 = vK2
|
|
,k03 = vP1
|
|
,k04 = vP2
|
|
,auction = vAuction
|
|
,package = vPackage;
|
|
|
|
|
|
-- Si el EKT está duplicado y el que habia en la tabla era uno
|
|
-- provisional, lo actualiza con los nuevos valores.
|
|
|
|
IF NOT vIsDuplicated
|
|
THEN
|
|
SET vEdi = LAST_INSERT_ID();
|
|
CALL ediLoad (vEdi);
|
|
|
|
ELSEIF vDeliveryNumber != 0
|
|
AND vDeliveryNumber IS NOT NULL
|
|
THEN
|
|
SELECT id INTO vEdi
|
|
FROM vn2008.buy_edi
|
|
WHERE delivery_number = vDeliveryNumber;
|
|
|
|
SELECT COUNT(*) = 0 INTO vUpdateExistent
|
|
FROM vn2008.buy_edi e
|
|
JOIN batch b ON b.buy_edi_id = e.id
|
|
JOIN config c
|
|
WHERE e.delivery_number = vDeliveryNumber
|
|
AND b.type_id != c.presale_id;
|
|
END IF;
|
|
|
|
IF vUpdateExistent
|
|
THEN
|
|
UPDATE vn2008.buy_edi SET
|
|
barcode = IFNULL(vBarcode, barcode)
|
|
,fec = vDate
|
|
,hor = vHour
|
|
,ref = vRef
|
|
,item = vItem
|
|
,agj = vAgj
|
|
,cat = vCat
|
|
,pac = vPac
|
|
,sub = vSub
|
|
,kop = vKop
|
|
,ptd = vPtd
|
|
,pro = vPro
|
|
,ori = vOrigin
|
|
,ptj = vPtj
|
|
,qty = vQuantiy
|
|
,pri = vPrice
|
|
,klo = vClock
|
|
,s1 = vS1
|
|
,s2 = vS2
|
|
,s3 = vS3
|
|
,s4 = vS4
|
|
,s5 = vS5
|
|
,s6 = vS6
|
|
,k01 = vK1
|
|
,k02 = vK2
|
|
,k03 = vP1
|
|
,k04 = vP2
|
|
,auction = vAuction
|
|
,package = vPackage
|
|
WHERE id = vEdi;
|
|
END IF;
|
|
|
|
-- Registra el lote
|
|
|
|
INSERT INTO batch SET
|
|
message_id = vMessage
|
|
,type_id = vType
|
|
,buy_edi_id = vEdi;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ediLoad` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ediLoad`(vEdi INT)
|
|
BEGIN
|
|
DECLARE vRef INT;
|
|
DECLARE vBuy INT;
|
|
DECLARE vItem INT;
|
|
DECLARE vQty INT;
|
|
DECLARE vPackage INT;
|
|
DECLARE vIsLot BOOLEAN;
|
|
|
|
-- Carga los datos necesarios del EKT
|
|
|
|
SELECT ref, qty, package INTO vRef, vQty, vPackage
|
|
FROM vn2008.buy_edi e
|
|
LEFT JOIN item i ON e.ref = i.id
|
|
WHERE e.id = vEdi;
|
|
|
|
-- Inserta el cubo si no existe
|
|
|
|
IF vPackage = 800
|
|
THEN
|
|
SET vPackage = 800 + vQty;
|
|
|
|
INSERT IGNORE INTO vn2008.Cubos SET
|
|
Id_Cubo = vPackage,
|
|
x = 7200 / vQty,
|
|
y = 1;
|
|
ELSE
|
|
INSERT IGNORE INTO vn2008.Cubos (Id_Cubo, X, Y, Z)
|
|
SELECT bucket_id, ROUND(x_size/10), ROUND(y_size/10), ROUND(z_size/10)
|
|
FROM bucket WHERE bucket_id = vPackage;
|
|
|
|
IF ROW_COUNT() > 0
|
|
THEN
|
|
INSERT INTO vn2008.mail SET
|
|
`subject` = 'Cubo añadido',
|
|
`text` = CONCAT('Se ha añadido el cubo: ', vPackage),
|
|
`to` = 'ekt@verdnatura.es';
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Intenta obtener el artículo en base a los atributos holandeses
|
|
|
|
INSERT IGNORE INTO item_track SET
|
|
item_id = vRef;
|
|
|
|
SELECT c.Id_Compra, c.Id_Article INTO vBuy, vItem
|
|
FROM vn2008.buy_edi e
|
|
JOIN item_track t ON t.item_id = e.ref
|
|
LEFT JOIN vn2008.buy_edi l ON l.ref = e.ref
|
|
LEFT JOIN vn2008.Compres c ON c.buy_edi_id = l.id
|
|
JOIN vn2008.config cfg
|
|
WHERE e.id = vEdi
|
|
AND l.id != vEdi
|
|
AND c.Id_Article != cfg.generic_item
|
|
AND IF(t.s1, l.s1 = e.s1, TRUE)
|
|
AND IF(t.s2, l.s2 = e.s2, TRUE)
|
|
AND IF(t.s3, l.s3 = e.s3, TRUE)
|
|
AND IF(t.s4, l.s4 = e.s4, TRUE)
|
|
AND IF(t.s5, l.s5 = e.s5, TRUE)
|
|
AND IF(t.s6, l.s6 = e.s6, TRUE)
|
|
AND IF(t.kop, l.kop = e.kop, TRUE)
|
|
AND IF(t.pac, l.pac = e.pac, TRUE)
|
|
AND IF(t.cat, l.cat = e.cat, TRUE)
|
|
AND IF(t.ori, l.ori = e.ori, TRUE)
|
|
AND IF(t.pro, l.pro = e.pro, TRUE)
|
|
AND IF(t.sub, l.sub = e.sub, TRUE)
|
|
AND IF(t.package, l.package = e.package, TRUE)
|
|
AND c.Id_Article < 170000
|
|
ORDER BY l.now DESC, c.Id_Compra ASC LIMIT 1;
|
|
|
|
-- Determina si el articulo se vende por lotes
|
|
|
|
IF vItem
|
|
THEN
|
|
SELECT COUNT(*) > 0 INTO vIsLot
|
|
FROM vn2008.Articles a
|
|
LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id
|
|
WHERE a.Id_Article = vItem
|
|
AND t.`transaction`;
|
|
|
|
-- Si el articulo se vende por lotes se inserta un nuevo artículo
|
|
|
|
IF vIsLot
|
|
THEN
|
|
INSERT INTO vn2008.Articles (
|
|
Article
|
|
,Medida
|
|
,Categoria
|
|
,Id_Origen
|
|
,iva_group_id
|
|
,Foto
|
|
,Color
|
|
,Codintrastat
|
|
,tipo_id
|
|
,Tallos
|
|
)
|
|
SELECT
|
|
i.`name`
|
|
,IFNULL(e.s1, e.pac)
|
|
,e.cat
|
|
,IFNULL(o.id, 17)
|
|
,IFNULL(a.iva_group_id, 1)
|
|
,a.Foto
|
|
,a.Color
|
|
,a.Codintrastat
|
|
,IFNULL(a.tipo_id, 10)
|
|
,IF(a.tipo_id = 15, 0, 1)
|
|
FROM vn2008.buy_edi e
|
|
LEFT JOIN item i ON i.id = e.ref
|
|
LEFT JOIN vn2008.Origen o ON o.Abreviatura = e.ori
|
|
LEFT JOIN vn2008.Articles a ON a.Id_Article = vItem
|
|
WHERE e.id = vEdi;
|
|
|
|
SET vItem = LAST_INSERT_ID();
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Inserta la compra asociada al EKT
|
|
|
|
INSERT INTO vn2008.Compres
|
|
(
|
|
Id_Entrada
|
|
,buy_edi_id
|
|
,Costefijo
|
|
,Id_Article
|
|
,grouping
|
|
,caja
|
|
,Packing
|
|
,Cantidad
|
|
,Productor
|
|
,Etiquetas
|
|
,Id_Cubo
|
|
)
|
|
SELECT
|
|
cfg.edi_entry
|
|
,vEdi
|
|
,(@t := IF(a.Tallos, a.Tallos, 1)) * e.pri
|
|
,IFNULL(vItem, cfg.generic_item)
|
|
,IFNULL(c.grouping, e.pac)
|
|
,IFNULL(c.caja, TRUE)
|
|
,@pac := e.pac / @t
|
|
,@pac * e.qty
|
|
,s.company_name
|
|
,e.qty
|
|
,IFNULL(c.Id_Cubo, e.package)
|
|
FROM vn2008.buy_edi e
|
|
LEFT JOIN vn2008.Compres c ON c.Id_Compra = vBuy
|
|
LEFT JOIN vn2008.Articles a ON a.Id_Article = c.Id_Article
|
|
LEFT JOIN supplier s ON e.pro = s.supplier_id
|
|
JOIN vn2008.config cfg
|
|
WHERE e.id = vEdi
|
|
LIMIT 1;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `messageNew` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `messageNew`(
|
|
vMailId VARCHAR(100)
|
|
,vSender VARCHAR(150)
|
|
,OUT vMessageId INT
|
|
)
|
|
BEGIN
|
|
/**
|
|
* Registra un correo electronico.
|
|
*
|
|
* @param vMailId Message-ID del correo electrónico
|
|
* @param vSender Id del correo electrónio del remitente
|
|
*/
|
|
DECLARE vSenderId INT;
|
|
|
|
SELECT id INTO vSenderId FROM mail
|
|
WHERE mail = vSender;
|
|
|
|
INSERT IGNORE INTO message SET
|
|
sender_id = vSenderId
|
|
,mail_id = vMailId;
|
|
|
|
SET vMessageId = LAST_INSERT_ID();
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
--
|
|
-- Current Database: `bi`
|
|
--
|
|
|
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `bi` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
|
|
|
|
USE `bi`;
|
|
|
|
--
|
|
-- Table structure for table `Equalizator`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Equalizator`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `Equalizator` (
|
|
`Vista` int(11) NOT NULL,
|
|
`Pedido` int(11) DEFAULT NULL,
|
|
`Impreso` int(11) DEFAULT NULL,
|
|
`Encajado` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`Vista`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `Greuge_Evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Greuge_Evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `Greuge_Evolution` (
|
|
`Id_Cliente` int(11) NOT NULL,
|
|
`Fecha` date NOT NULL,
|
|
`Greuge` decimal(10,2) NOT NULL DEFAULT '0.00',
|
|
`Ventas` decimal(10,2) NOT NULL DEFAULT '0.00',
|
|
`Fosil` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'greuge fósil, correspondiente a los clientes muertos',
|
|
`Recobro` decimal(10,2) NOT NULL DEFAULT '0.00',
|
|
PRIMARY KEY (`Id_Cliente`,`Fecha`),
|
|
KEY `greuge_evolution_idx1` (`Fecha`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacenamos la evolucion del greuge de los ultimos dias ';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `Greuge_comercial_recobro`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Greuge_comercial_recobro`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `Greuge_comercial_recobro` (
|
|
`Id_Trabajador` int(11) NOT NULL,
|
|
`recobro` decimal(10,2) NOT NULL DEFAULT '0.00',
|
|
`peso_cartera` decimal(10,2) NOT NULL DEFAULT '0.00',
|
|
PRIMARY KEY (`Id_Trabajador`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `Greuges_comercial_detail`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Greuges_comercial_detail`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `Greuges_comercial_detail` (
|
|
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`Id_Trabajador` int(10) unsigned NOT NULL,
|
|
`Comentario` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
|
|
`Importe` decimal(10,2) NOT NULL,
|
|
`Fecha` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`Id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=FIXED;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `Last_buy_id`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Last_buy_id`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `Last_buy_id` (
|
|
`Id_Article` int(11) NOT NULL DEFAULT '90',
|
|
`Id_Compra` int(11) NOT NULL DEFAULT '0',
|
|
`warehouse_id` smallint(6) unsigned NOT NULL,
|
|
PRIMARY KEY (`warehouse_id`,`Id_Article`),
|
|
UNIQUE KEY `Id_Compra_UNIQUE` (`Id_Compra`),
|
|
CONSTRAINT `Id_CompraFK` FOREIGN KEY (`Id_Compra`) REFERENCES `vn2008`.`Compres` (`Id_Compra`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `Last_buy_idBackUp`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Last_buy_idBackUp`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `Last_buy_idBackUp` (
|
|
`Id_Article` int(11) NOT NULL DEFAULT '90',
|
|
`Id_Compra` int(11) NOT NULL DEFAULT '0',
|
|
`warehouse_id` smallint(6) unsigned NOT NULL,
|
|
PRIMARY KEY (`Id_Article`,`warehouse_id`),
|
|
UNIQUE KEY `Id_Compra_UNIQUE` (`Id_Compra`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `Radar`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Radar`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `Radar` (
|
|
`Propio` int(1) NOT NULL DEFAULT '0',
|
|
`Credito` double NOT NULL DEFAULT '0',
|
|
`Riesgo` double(19,2) DEFAULT NULL,
|
|
`Greuge` double DEFAULT NULL,
|
|
`Id_Ticket` int(11) NOT NULL DEFAULT '0',
|
|
`wh` smallint(6) unsigned NOT NULL DEFAULT '1',
|
|
`Fecha` datetime NOT NULL,
|
|
`Alias` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Vista` int(11) DEFAULT '0',
|
|
`Tipo` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'RECOGIDA',
|
|
`Id_Trabajador` int(11) DEFAULT '20',
|
|
`Solucion` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Localizacion` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Estado` varchar(15) CHARACTER SET utf8 DEFAULT NULL,
|
|
`Fecha_Simple` date DEFAULT NULL,
|
|
`Id_Comercial` int(11) DEFAULT '20',
|
|
`Risk` double NOT NULL DEFAULT '0',
|
|
`Rojo` bigint(21) DEFAULT '0',
|
|
`Naranja` bigint(21) DEFAULT '0',
|
|
`Amarillo` bigint(21) DEFAULT '0'
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `Ticket_Portes`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Ticket_Portes`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `Ticket_Portes` (
|
|
`Id_Ticket` int(11) NOT NULL,
|
|
`rate` tinyint(4) NOT NULL COMMENT 'Tarifa',
|
|
`real_amount` double NOT NULL COMMENT 'Cantidad pactada con la agencia',
|
|
`payed_amount` double NOT NULL COMMENT 'Cantidad reflejada en el Ticket',
|
|
PRIMARY KEY (`Id_Ticket`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `VelocityKK`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `VelocityKK`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `VelocityKK` (
|
|
`tipo_id` int(11) NOT NULL,
|
|
`Fecha` datetime NOT NULL,
|
|
`Disponible` int(11) DEFAULT NULL,
|
|
`Visible` int(11) DEFAULT NULL,
|
|
`velocity_id` int(11) NOT NULL AUTO_INCREMENT,
|
|
PRIMARY KEY (`velocity_id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `XDiario_ALL`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `XDiario_ALL`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `XDiario_ALL` (
|
|
`empresa_id` int(5) NOT NULL,
|
|
`SUBCTA` varchar(11) COLLATE utf8_unicode_ci NOT NULL,
|
|
`Eurodebe` double DEFAULT NULL,
|
|
`Eurohaber` double DEFAULT NULL,
|
|
`Fecha` date DEFAULT NULL,
|
|
`FECHA_EX` date DEFAULT NULL,
|
|
KEY `Cuenta` (`SUBCTA`),
|
|
KEY `empresa` (`empresa_id`),
|
|
KEY `Fecha` (`Fecha`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `analisis_grafico_simple`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_grafico_simple`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `analisis_grafico_simple` (
|
|
`Año` smallint(5) unsigned NOT NULL,
|
|
`Semana` tinyint(3) unsigned NOT NULL,
|
|
`Importe` double DEFAULT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `analisis_grafico_ventas`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_grafico_ventas`;
|
|
/*!50001 DROP VIEW IF EXISTS `analisis_grafico_ventas`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `analisis_grafico_ventas` AS SELECT
|
|
1 AS `Año`,
|
|
1 AS `Semana`,
|
|
1 AS `Importe`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `analisis_ventas`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_ventas`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `analisis_ventas` (
|
|
`Familia` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
|
`Reino` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
|
|
`Comercial` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`Comprador` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`Provincia` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
|
`almacen` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
|
|
`Año` smallint(5) unsigned NOT NULL,
|
|
`Mes` tinyint(3) unsigned NOT NULL,
|
|
`Semana` tinyint(3) unsigned NOT NULL,
|
|
`Vista` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`Importe` double NOT NULL,
|
|
KEY `Año` (`Año`,`Semana`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `analisis_ventas_almacen_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_ventas_almacen_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `analisis_ventas_almacen_evolution` (
|
|
`Semana` int(11) NOT NULL,
|
|
`Almacen` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
|
|
`Ventas` int(11) NOT NULL,
|
|
`Año` int(11) NOT NULL,
|
|
`Periodo` int(11) NOT NULL,
|
|
KEY `Almacen` (`Almacen`,`Periodo`),
|
|
KEY `Periodo` (`Periodo`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `analisis_ventas_comprador_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_ventas_comprador_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `analisis_ventas_comprador_evolution` (
|
|
`semana` int(11) NOT NULL,
|
|
`comprador` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`ventas` int(11) NOT NULL,
|
|
`año` int(11) NOT NULL,
|
|
`periodo` int(11) NOT NULL,
|
|
UNIQUE KEY `comprador` (`comprador`,`periodo`),
|
|
KEY `periodo` (`periodo`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `analisis_ventas_familia_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_ventas_familia_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `analisis_ventas_familia_evolution` (
|
|
`semana` int(11) NOT NULL,
|
|
`familia` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`ventas` int(11) NOT NULL,
|
|
`año` int(11) NOT NULL,
|
|
`periodo` int(11) NOT NULL,
|
|
KEY `familia` (`familia`,`periodo`),
|
|
KEY `periodo` (`periodo`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `analisis_ventas_provincia_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_ventas_provincia_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `analisis_ventas_provincia_evolution` (
|
|
`semana` int(11) NOT NULL,
|
|
`provincia` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
|
`ventas` int(11) NOT NULL,
|
|
`año` int(11) NOT NULL,
|
|
`periodo` int(11) NOT NULL,
|
|
UNIQUE KEY `provincia` (`provincia`,`periodo`),
|
|
KEY `periodo` (`periodo`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `analisis_ventas_reino_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_ventas_reino_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `analisis_ventas_reino_evolution` (
|
|
`semana` int(11) NOT NULL,
|
|
`reino` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
|
|
`ventas` int(11) NOT NULL,
|
|
`año` int(11) NOT NULL,
|
|
`periodo` int(11) NOT NULL,
|
|
UNIQUE KEY `reino` (`reino`,`periodo`),
|
|
KEY `periodo` (`periodo`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `analisis_ventas_simple`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_ventas_simple`;
|
|
/*!50001 DROP VIEW IF EXISTS `analisis_ventas_simple`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `analisis_ventas_simple` AS SELECT
|
|
1 AS `Año`,
|
|
1 AS `Semana`,
|
|
1 AS `Importe`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `analisis_ventas_vendedor_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_ventas_vendedor_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `analisis_ventas_vendedor_evolution` (
|
|
`semana` int(11) NOT NULL,
|
|
`vendedor` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`ventas` int(11) NOT NULL,
|
|
`año` int(11) NOT NULL,
|
|
`periodo` int(11) NOT NULL,
|
|
UNIQUE KEY `vendedor` (`vendedor`,`periodo`),
|
|
KEY `periodo` (`periodo`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `analisis_ventas_vista_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `analisis_ventas_vista_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `analisis_ventas_vista_evolution` (
|
|
`semana` int(11) NOT NULL,
|
|
`vista` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
|
|
`ventas` int(11) NOT NULL,
|
|
`año` int(11) NOT NULL,
|
|
`periodo` int(11) NOT NULL,
|
|
UNIQUE KEY `vista` (`vista`,`periodo`),
|
|
KEY `periodo` (`periodo`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `calidad_detalle`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `calidad_detalle`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `calidad_detalle` (
|
|
`Id_Cliente` int(11) NOT NULL,
|
|
`calidad_parametros_id` int(2) NOT NULL,
|
|
`valor` int(3) DEFAULT NULL,
|
|
PRIMARY KEY (`Id_Cliente`,`calidad_parametros_id`),
|
|
KEY `calidad_parametros_detalle_idx` (`calidad_parametros_id`),
|
|
CONSTRAINT `calidad_parametros_detalle` FOREIGN KEY (`calidad_parametros_id`) REFERENCES `calidad_parametros` (`calidad_parametros_id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `calidad_parametros`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `calidad_parametros`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `calidad_parametros` (
|
|
`calidad_parametros_id` int(2) NOT NULL,
|
|
`descripcion` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`calidad_parametros_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `claims_ratio`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `claims_ratio`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `claims_ratio` (
|
|
`Id_Cliente` int(11) NOT NULL DEFAULT '0',
|
|
`Consumo` decimal(10,2) DEFAULT NULL,
|
|
`Reclamaciones` decimal(10,2) DEFAULT NULL,
|
|
`Ratio` decimal(5,2) DEFAULT NULL,
|
|
`recobro` decimal(5,2) DEFAULT NULL,
|
|
`inflacion` decimal(5,2) NOT NULL DEFAULT '1.00',
|
|
PRIMARY KEY (`Id_Cliente`),
|
|
CONSTRAINT `claims_ratio_ibfk_1` FOREIGN KEY (`Id_Cliente`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `comparativa_clientes`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `comparativa_clientes`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `comparativa_clientes` (
|
|
`Fecha` date NOT NULL DEFAULT '0000-00-00',
|
|
`Id_Cliente` int(11) NOT NULL DEFAULT '0',
|
|
`Propietario` int(11) DEFAULT NULL,
|
|
`titular` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`suplente` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
|
|
`trabajador` int(11) DEFAULT NULL,
|
|
`actual` double DEFAULT NULL,
|
|
`pasado` double DEFAULT NULL,
|
|
`concepto` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '',
|
|
KEY `cc_data_indez` (`Fecha`),
|
|
KEY `cc_Id_Cliente_index` (`Id_Cliente`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `customerDebtInventory`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `customerDebtInventory`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `customerDebtInventory` (
|
|
`Id_Cliente` int(11) NOT NULL,
|
|
`Debt` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'CREATE TABLE bi.customerDebtInventory\n\nSELECT Id_Cliente, sum(Euros) as Debt\n\nFROM \n(\nSELECT Id_Cliente, Entregado as Euros\n\nFROM Recibos \n\nWHERE Fechacobro < ''2017-01-01\n''\nUNION ALL\n\nSELECT Id_Cliente, - Importe \nFROM Facturas\nWHERE Fecha < ''2017-01-01''\n) sub \nGROUP BY Id_Cliente',
|
|
PRIMARY KEY (`Id_Cliente`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `customerRiskOverdue`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `customerRiskOverdue`;
|
|
/*!50001 DROP VIEW IF EXISTS `customerRiskOverdue`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `customerRiskOverdue` AS SELECT
|
|
1 AS `customer_id`,
|
|
1 AS `amount`,
|
|
1 AS `company_id`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `customer_risk`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `customer_risk`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `customer_risk` (
|
|
`customer_id` int(11) NOT NULL DEFAULT '0',
|
|
`company_id` smallint(6) unsigned NOT NULL DEFAULT '0',
|
|
`amount` decimal(10,2) DEFAULT NULL,
|
|
PRIMARY KEY (`customer_id`,`company_id`),
|
|
KEY `company_id` (`company_id`),
|
|
CONSTRAINT `customer_risk_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `customer_risk_ibfk_2` FOREIGN KEY (`company_id`) REFERENCES `vn2008`.`empresa` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Saldo de apertura < 2015-01-01';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `dailyTaskLog`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `dailyTaskLog`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `dailyTaskLog` (
|
|
`state` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='No he encontrado el lugar en el que vicente almacena la hora en que se ejecutan las daily tasks, asi que he hecho esta tabla, a eliminar cuando se considere oportuno';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `defaulters`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `defaulters`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `defaulters` (
|
|
`client` int(11) NOT NULL,
|
|
`date` date NOT NULL,
|
|
`amount` double NOT NULL DEFAULT '0',
|
|
`defaulterSince` date DEFAULT NULL,
|
|
`hasChanged` tinyint(1) DEFAULT NULL,
|
|
PRIMARY KEY (`client`,`date`),
|
|
KEY `client` (`client`),
|
|
KEY `date` (`date`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `defaulting`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `defaulting`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `defaulting` (
|
|
`date` date NOT NULL,
|
|
`amount` double NOT NULL,
|
|
PRIMARY KEY (`date`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `f_tvc`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `f_tvc`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `f_tvc` (
|
|
`Id_Ticket` int(11) NOT NULL,
|
|
PRIMARY KEY (`Id_Ticket`),
|
|
CONSTRAINT `id_ticket_to_comisionantes` FOREIGN KEY (`Id_Ticket`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacenamos la lista de tickets para agilizar la consulta. Corresponde a los clientes REAL y en los almacenes COMISIONANTES';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `facturacion_media_anual`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `facturacion_media_anual`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `facturacion_media_anual` (
|
|
`Id_Cliente` int(11) NOT NULL,
|
|
`Consumo` double(17,0) DEFAULT NULL,
|
|
PRIMARY KEY (`Id_Cliente`),
|
|
CONSTRAINT `fmaId_Cliente` FOREIGN KEY (`Id_Cliente`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `last_Id_Cubo`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `last_Id_Cubo`;
|
|
/*!50001 DROP VIEW IF EXISTS `last_Id_Cubo`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `last_Id_Cubo` AS SELECT
|
|
1 AS `Id_Compra`,
|
|
1 AS `Id_Article`,
|
|
1 AS `warehouse_id`,
|
|
1 AS `Id_Cubo`,
|
|
1 AS `Packing`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `lastaction`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `lastaction`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `lastaction` (
|
|
`Id_Cliente` int(11) unsigned NOT NULL,
|
|
`Cliente` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`Ultima_accion` date DEFAULT NULL,
|
|
`Comercial` varchar(3) CHARACTER SET utf8 DEFAULT NULL,
|
|
PRIMARY KEY (`Id_Cliente`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `live_counter`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `live_counter`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `live_counter` (
|
|
`odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`amount` double NOT NULL,
|
|
PRIMARY KEY (`odbc_date`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `mana_inventory_kk`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `mana_inventory_kk`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `mana_inventory_kk` (
|
|
`Id_Trabajador` int(11) NOT NULL,
|
|
`mana` double NOT NULL DEFAULT '0',
|
|
`dated` date NOT NULL,
|
|
PRIMARY KEY (`Id_Trabajador`,`dated`),
|
|
CONSTRAINT `fk_trabajador_mana_inventory` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `movimientos_log`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `movimientos_log`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `movimientos_log` (
|
|
`idmovimientos_log` int(11) NOT NULL AUTO_INCREMENT,
|
|
`Id_Movimiento` int(11) NOT NULL,
|
|
`odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
`Id_Trabajador` int(11) NOT NULL,
|
|
`field_name` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`new_value` double DEFAULT NULL,
|
|
PRIMARY KEY (`idmovimientos_log`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=13371133 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `partitioning_information`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `partitioning_information`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `partitioning_information` (
|
|
`schema_name` varchar(10) CHARACTER SET utf8 NOT NULL,
|
|
`table_name` varchar(20) CHARACTER SET utf8 NOT NULL,
|
|
`date_field` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
|
|
`table_depending` varchar(15) CHARACTER SET utf8 DEFAULT NULL,
|
|
`execution_order` tinyint(3) unsigned NOT NULL,
|
|
PRIMARY KEY (`schema_name`,`table_name`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `primer_pedido`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `primer_pedido`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `primer_pedido` (
|
|
`Id_Cliente` int(11) NOT NULL,
|
|
`Id_Ticket` int(11) NOT NULL,
|
|
`month` tinyint(1) NOT NULL,
|
|
`year` smallint(2) NOT NULL,
|
|
`total` decimal(10,2) NOT NULL DEFAULT '0.00',
|
|
PRIMARY KEY (`Id_Cliente`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `rotacion`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `rotacion`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `rotacion` (
|
|
`Id_Article` int(11) NOT NULL,
|
|
`warehouse_id` smallint(6) unsigned NOT NULL,
|
|
`total` int(10) NOT NULL DEFAULT '0',
|
|
`rotacion` decimal(10,4) NOT NULL DEFAULT '0.0000',
|
|
`cm3` int(11) NOT NULL DEFAULT '0',
|
|
`almacenaje` decimal(10,4) NOT NULL DEFAULT '0.0000',
|
|
`manipulacion` decimal(10,4) NOT NULL DEFAULT '0.0000',
|
|
`auxiliar` decimal(10,4) NOT NULL DEFAULT '0.0000',
|
|
`mermas` decimal(10,4) NOT NULL DEFAULT '0.0000',
|
|
PRIMARY KEY (`Id_Article`,`warehouse_id`),
|
|
KEY `id_article_rotacion_idx` (`Id_Article`),
|
|
KEY `warehouse_id_rotacion_idx` (`warehouse_id`),
|
|
CONSTRAINT `id_article_rotaci` FOREIGN KEY (`Id_Article`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `warehouse_id_rotaci` FOREIGN KEY (`warehouse_id`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los valores de rotacion en los ultimos 365 dias';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `saldos_bancos`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `saldos_bancos`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `saldos_bancos` (
|
|
`Semana` int(2) NOT NULL,
|
|
`Mes` int(2) NOT NULL,
|
|
`Año` int(4) NOT NULL,
|
|
`Entrada` double DEFAULT NULL,
|
|
`Salida` decimal(32,2) DEFAULT NULL,
|
|
`Saldo` double DEFAULT NULL,
|
|
`Id_Banco` int(11) NOT NULL DEFAULT '0',
|
|
`empresa_id` int(5) unsigned NOT NULL DEFAULT '0',
|
|
`Empresa` varchar(3) CHARACTER SET utf8 NOT NULL DEFAULT ''
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `saldos_bancos_pordia`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `saldos_bancos_pordia`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `saldos_bancos_pordia` (
|
|
`Fecha` date NOT NULL,
|
|
`Entrada` double DEFAULT NULL,
|
|
`Salida` decimal(32,2) DEFAULT NULL,
|
|
`Saldo` double DEFAULT NULL,
|
|
`Id_Banco` int(11) NOT NULL DEFAULT '0',
|
|
`empresa_id` int(5) unsigned NOT NULL DEFAULT '0',
|
|
`Empresa` varchar(3) CHARACTER SET utf8 NOT NULL DEFAULT '',
|
|
`Año` int(4) NOT NULL,
|
|
`Mes` int(2) NOT NULL,
|
|
`Dia` int(2) NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `sales`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `sales`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `sales` (
|
|
`Id_Trabajador` int(10) unsigned NOT NULL,
|
|
`year` int(10) unsigned NOT NULL,
|
|
`month` int(10) unsigned NOT NULL,
|
|
`weight` int(11) NOT NULL DEFAULT '0',
|
|
`boss_aid` int(10) NOT NULL DEFAULT '0',
|
|
`boss_id` int(10) NOT NULL DEFAULT '0',
|
|
`comision` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`Id_Trabajador`,`year`,`month`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tarifa_componentes`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tarifa_componentes`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tarifa_componentes` (
|
|
`Id_Componente` int(11) NOT NULL AUTO_INCREMENT,
|
|
`Componente` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
|
|
`tarifa_componentes_series_id` int(11) NOT NULL,
|
|
`tarifa_class` smallint(6) DEFAULT NULL,
|
|
`tax` double DEFAULT NULL,
|
|
`is_renewable` tinyint(2) NOT NULL DEFAULT '1',
|
|
PRIMARY KEY (`Id_Componente`),
|
|
KEY `series_componentes_idx` (`tarifa_componentes_series_id`),
|
|
KEY `comp` (`tarifa_class`),
|
|
CONSTRAINT `serie_componente` FOREIGN KEY (`tarifa_componentes_series_id`) REFERENCES `tarifa_componentes_series` (`tarifa_componentes_series_id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tarifa_componentes_series`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tarifa_componentes_series`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tarifa_componentes_series` (
|
|
`tarifa_componentes_series_id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`Serie` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
|
|
`base` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Marca aquellas series que se utilizan para calcular el precio base de las ventas, a efectos estadisticos',
|
|
`margen` tinyint(4) NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`tarifa_componentes_series_id`),
|
|
UNIQUE KEY `Serie_UNIQUE` (`Serie`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Permite organizar de forma ordenada los distintos componentes';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tarifa_premisas`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tarifa_premisas`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tarifa_premisas` (
|
|
`Id_Premisa` int(11) NOT NULL AUTO_INCREMENT,
|
|
`premisa` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`Id_Premisa`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tarifa_warehouse`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tarifa_warehouse`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tarifa_warehouse` (
|
|
`Id_Tarifa_Warehouse` int(11) NOT NULL AUTO_INCREMENT,
|
|
`warehouse_id` int(11) NOT NULL,
|
|
`Id_Premisa` int(11) NOT NULL,
|
|
`Valor` double NOT NULL,
|
|
PRIMARY KEY (`Id_Tarifa_Warehouse`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los valores de gasto por almacen';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `v_clientes_jerarquia`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `v_clientes_jerarquia`;
|
|
/*!50001 DROP VIEW IF EXISTS `v_clientes_jerarquia`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `v_clientes_jerarquia` AS SELECT
|
|
1 AS `Id_Cliente`,
|
|
1 AS `Cliente`,
|
|
1 AS `Comercial`,
|
|
1 AS `Jefe`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `v_ventas_contables`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `v_ventas_contables`;
|
|
/*!50001 DROP VIEW IF EXISTS `v_ventas_contables`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `v_ventas_contables` AS SELECT
|
|
1 AS `year`,
|
|
1 AS `month`,
|
|
1 AS `importe`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `variablesKK`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `variablesKK`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `variablesKK` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`variable` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`value` double DEFAULT NULL,
|
|
`date` datetime DEFAULT NULL,
|
|
`text` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Dumping events for database 'bi'
|
|
--
|
|
|
|
--
|
|
-- Dumping routines for database 'bi'
|
|
--
|
|
/*!50003 DROP FUNCTION IF EXISTS `nz` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` FUNCTION `nz`(dblCANTIDAD DOUBLE) RETURNS double
|
|
BEGIN
|
|
|
|
DECLARE dblRESULT DOUBLE;
|
|
|
|
SET dblRESULT = IFNULL(dblCANTIDAD,0);
|
|
|
|
RETURN dblRESULT;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `analisis_ventas_evolution_add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `analisis_ventas_evolution_add`()
|
|
BEGIN
|
|
DECLARE vPreviousPeriod INT;
|
|
DECLARE vCurrentPeriod INT;
|
|
DECLARE vLastPeriod INT;
|
|
DECLARE vMinPeriod INT DEFAULT 201400;
|
|
DECLARE vMaxPeriod INT DEFAULT vn2008.vnperiod(CURDATE());
|
|
|
|
DECLARE vYear INT;
|
|
DECLARE vWeek INT;
|
|
|
|
-- Almacen
|
|
|
|
SET vCurrentPeriod = IFNULL(vLastPeriod, vMinPeriod);
|
|
|
|
WHILE vCurrentPeriod < vMaxPeriod
|
|
DO
|
|
SELECT MAX(Periodo) INTO vPreviousPeriod
|
|
FROM bi.analisis_ventas_almacen_evolution
|
|
WHERE Periodo < vMaxPeriod;
|
|
|
|
SELECT MIN(period) INTO vCurrentPeriod
|
|
FROM vn2008.time
|
|
WHERE period > vPreviousPeriod;
|
|
|
|
SET vYear = FLOOR(vCurrentPeriod / 100);
|
|
SET vWeek = vCurrentPeriod - (vYear * 100);
|
|
|
|
DELETE FROM bi.analisis_ventas_almacen_evolution
|
|
WHERE Periodo = vCurrentPeriod;
|
|
|
|
REPLACE bi.analisis_ventas_almacen_evolution(Almacen, Ventas, Semana,Año, Periodo)
|
|
SELECT Almacen, sum(Ventas) AS Ventas, vWeek, vYear, vCurrentPeriod
|
|
FROM (
|
|
SELECT almacen, sum(Importe) AS Ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear = Año
|
|
AND vWeek = Semana
|
|
GROUP BY almacen
|
|
UNION ALL
|
|
SELECT almacen, - sum(Importe) AS Ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear - 1 = Año
|
|
AND vWeek = Semana
|
|
GROUP BY almacen
|
|
UNION ALL
|
|
SELECT Almacen, Ventas
|
|
FROM bi.analisis_ventas_almacen_evolution
|
|
WHERE Periodo = vPreviousPeriod
|
|
) sub
|
|
GROUP BY Almacen;
|
|
END WHILE;
|
|
|
|
-- Reino
|
|
|
|
SET vCurrentPeriod = vMinPeriod;
|
|
|
|
WHILE vCurrentPeriod < vMaxPeriod
|
|
DO
|
|
SELECT MAX(periodo) INTO vPreviousPeriod
|
|
FROM bi.analisis_ventas_reino_evolution
|
|
WHERE periodo < vMaxPeriod;
|
|
|
|
SELECT MIN(period) INTO vCurrentPeriod
|
|
FROM vn2008.time
|
|
WHERE period > vPreviousPeriod;
|
|
|
|
SET vYear = FLOOR(vCurrentPeriod / 100);
|
|
SET vWeek = vCurrentPeriod - (vYear * 100);
|
|
|
|
DELETE FROM bi.analisis_ventas_reino_evolution
|
|
WHERE Periodo = vCurrentPeriod;
|
|
|
|
REPLACE bi.analisis_ventas_reino_evolution(reino, ventas, semana,año, periodo)
|
|
SELECT reino, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod
|
|
FROM (
|
|
SELECT Reino, sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Reino
|
|
UNION ALL
|
|
SELECT Reino, - sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear - 1 = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Reino
|
|
UNION ALL
|
|
SELECT reino, ventas
|
|
FROM bi.analisis_ventas_reino_evolution
|
|
WHERE Periodo = vPreviousPeriod
|
|
) sub
|
|
GROUP BY reino;
|
|
END WHILE;
|
|
|
|
-- Familia
|
|
|
|
SET vCurrentPeriod = vMinPeriod;
|
|
|
|
WHILE vCurrentPeriod < vMaxPeriod
|
|
DO
|
|
SELECT MAX(periodo) INTO vPreviousPeriod
|
|
FROM bi.analisis_ventas_familia_evolution
|
|
WHERE periodo < vMaxPeriod;
|
|
|
|
SELECT MIN(period) INTO vCurrentPeriod
|
|
FROM vn2008.time
|
|
WHERE period > vPreviousPeriod;
|
|
|
|
SET vYear = FLOOR(vCurrentPeriod / 100);
|
|
SET vWeek = vCurrentPeriod - (vYear * 100);
|
|
|
|
DELETE FROM bi.analisis_ventas_familia_evolution
|
|
WHERE Periodo = vCurrentPeriod;
|
|
|
|
REPLACE bi.analisis_ventas_familia_evolution(familia, ventas, semana,año, periodo)
|
|
SELECT Familia, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod
|
|
FROM (
|
|
SELECT Familia, sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear = Año
|
|
AND vWeek = Semana
|
|
GROUP BY familia
|
|
UNION ALL
|
|
SELECT Familia, - sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear - 1 = Año
|
|
AND vWeek = Semana
|
|
GROUP BY familia
|
|
UNION ALL
|
|
SELECT familia, ventas
|
|
FROM bi.analisis_ventas_familia_evolution
|
|
WHERE Periodo = vPreviousPeriod
|
|
) sub
|
|
GROUP BY Familia;
|
|
END WHILE;
|
|
|
|
-- Comprador
|
|
-- FIXME: Bucle infinito porque la tabla está vacía
|
|
/*
|
|
SET vCurrentPeriod = vMinPeriod;
|
|
|
|
WHILE vCurrentPeriod < vMaxPeriod
|
|
DO
|
|
SELECT IFNULL(MAX(periodo),vMinPeriod) INTO vPreviousPeriod
|
|
FROM bi.analisis_ventas_comprador_evolution
|
|
WHERE periodo < vMaxPeriod;
|
|
|
|
SELECT MIN(period) INTO vCurrentPeriod
|
|
FROM vn2008.time
|
|
WHERE period > vPreviousPeriod;
|
|
|
|
SET vYear = FLOOR(vCurrentPeriod / 100);
|
|
SET vWeek = vCurrentPeriod - (vYear * 100);
|
|
|
|
DELETE FROM bi.analisis_ventas_comprador_evolution
|
|
WHERE Periodo = vCurrentPeriod;
|
|
|
|
REPLACE bi.analisis_ventas_comprador_evolution(comprador, ventas, semana,año, periodo)
|
|
SELECT Comprador, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod
|
|
FROM (
|
|
SELECT Comprador, sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Comprador
|
|
UNION ALL
|
|
SELECT Comprador, - sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear - 1 = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Comprador
|
|
UNION ALL
|
|
SELECT comprador, IFNULL(ventas,0)
|
|
FROM bi.analisis_ventas_comprador_evolution
|
|
WHERE Periodo = vPreviousPeriod
|
|
) sub
|
|
GROUP BY Comprador;
|
|
END WHILE;
|
|
*/
|
|
-- Provincia
|
|
|
|
SET vCurrentPeriod = vMinPeriod;
|
|
|
|
WHILE vCurrentPeriod < vMaxPeriod
|
|
DO
|
|
SELECT MAX(periodo) INTO vPreviousPeriod
|
|
FROM bi.analisis_ventas_provincia_evolution
|
|
WHERE periodo < vMaxPeriod;
|
|
|
|
SELECT MIN(period) INTO vCurrentPeriod
|
|
FROM vn2008.time
|
|
WHERE period > vPreviousPeriod;
|
|
|
|
SET vYear = FLOOR(vCurrentPeriod / 100);
|
|
SET vWeek = vCurrentPeriod - (vYear * 100);
|
|
|
|
DELETE FROM bi.analisis_ventas_provincia_evolution
|
|
WHERE Periodo = vCurrentPeriod;
|
|
|
|
REPLACE bi.analisis_ventas_provincia_evolution(provincia, ventas, semana,año, periodo)
|
|
SELECT Provincia, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod
|
|
FROM (
|
|
SELECT Provincia, sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Provincia
|
|
UNION ALL
|
|
SELECT Provincia, - sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear - 1 = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Provincia
|
|
UNION ALL
|
|
SELECT provincia, ventas
|
|
FROM bi.analisis_ventas_provincia_evolution
|
|
WHERE Periodo = vPreviousPeriod
|
|
) sub
|
|
GROUP BY Provincia;
|
|
END WHILE;
|
|
|
|
-- Vista
|
|
|
|
SET vCurrentPeriod = vMinPeriod;
|
|
|
|
WHILE vCurrentPeriod < vMaxPeriod
|
|
DO
|
|
SELECT MAX(periodo) INTO vPreviousPeriod
|
|
FROM bi.analisis_ventas_vista_evolution
|
|
WHERE periodo < vMaxPeriod;
|
|
|
|
SELECT MIN(period) INTO vCurrentPeriod
|
|
FROM vn2008.time
|
|
WHERE period > vPreviousPeriod;
|
|
|
|
SET vYear = FLOOR(vCurrentPeriod / 100);
|
|
SET vWeek = vCurrentPeriod - (vYear * 100);
|
|
|
|
DELETE FROM bi.analisis_ventas_vista_evolution
|
|
WHERE Periodo = vCurrentPeriod;
|
|
|
|
REPLACE bi.analisis_ventas_vista_evolution(vista, ventas, semana,año, periodo)
|
|
SELECT vista, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod
|
|
FROM (
|
|
SELECT Vista, sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Vista
|
|
UNION ALL
|
|
SELECT Vista, - sum(Importe) AS ventas
|
|
FROM bi.analisis_ventas
|
|
WHERE vYear - 1 = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Vista
|
|
UNION ALL
|
|
SELECT vista, ventas
|
|
FROM bi.analisis_ventas_vista_evolution
|
|
WHERE Periodo = vPreviousPeriod
|
|
) sub
|
|
GROUP BY Vista;
|
|
END WHILE;
|
|
|
|
-- Vendedor
|
|
|
|
SET vCurrentPeriod = vMinPeriod;
|
|
|
|
WHILE vCurrentPeriod < vMaxPeriod
|
|
DO
|
|
SELECT MAX(periodo) INTO vPreviousPeriod
|
|
FROM bi.analisis_ventas_vendedor_evolution
|
|
WHERE periodo < vMaxPeriod;
|
|
|
|
SELECT MIN(period) INTO vCurrentPeriod
|
|
FROM vn2008.time
|
|
WHERE period > vPreviousPeriod;
|
|
|
|
SET vYear = FLOOR(vCurrentPeriod / 100);
|
|
SET vWeek = vCurrentPeriod - (vYear * 100);
|
|
|
|
DELETE FROM bi.analisis_ventas_vendedor_evolution
|
|
WHERE Periodo = vCurrentPeriod;
|
|
|
|
REPLACE bi.analisis_ventas_vendedor_evolution(vendedor, ventas, semana,año, periodo)
|
|
SELECT Comercial AS vendedor, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod
|
|
FROM (
|
|
SELECT Comercial, sum(Importe) AS ventas
|
|
from bi.analisis_ventas
|
|
WHERE vYear = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Comercial
|
|
UNION ALL
|
|
SELECT Comercial, - sum(Importe) AS ventas
|
|
from bi.analisis_ventas
|
|
WHERE vYear - 1 = Año
|
|
AND vWeek = Semana
|
|
GROUP BY Comercial
|
|
UNION ALL
|
|
SELECT vendedor, ventas
|
|
FROM bi.analisis_ventas_vendedor_evolution
|
|
WHERE Periodo = vPreviousPeriod
|
|
) sub
|
|
GROUP BY vendedor;
|
|
END WHILE;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `analisis_ventas_simple` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `analisis_ventas_simple`()
|
|
BEGIN
|
|
|
|
TRUNCATE bi.analisis_grafico_simple;
|
|
|
|
INSERT INTO bi.analisis_grafico_simple SELECT * FROM bi.analisis_grafico_ventas;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `analisis_ventas_update` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `analisis_ventas_update`()
|
|
BEGIN
|
|
|
|
DECLARE vLastMonth DATE;
|
|
|
|
SET vLastMonth = util.firstDayOfMonth(TIMESTAMPADD(MONTH, -1, CURDATE()));
|
|
|
|
DELETE FROM bi.analisis_ventas
|
|
WHERE Año > YEAR(vLastMonth)
|
|
OR (Año = YEAR(vLastMonth) AND Mes >= MONTH(vLastMonth));
|
|
|
|
INSERT INTO bi.analisis_ventas
|
|
|
|
SELECT
|
|
`tp`.`Tipo` AS `Familia`,
|
|
`r`.`reino` AS `Reino`,
|
|
`tr`.`CodigoTrabajador` AS `Comercial`,
|
|
`tr2`.`CodigoTrabajador` AS `Comprador`,
|
|
`p`.`name` AS `Provincia`,
|
|
`w`.`name` AS `almacen`,
|
|
`time`.`year` AS `Año`,
|
|
`time`.`month` AS `Mes`,
|
|
`time`.`week` AS `Semana`,
|
|
`v`.`vista` AS `Vista`,
|
|
`bt`.`importe` AS `Importe`
|
|
FROM
|
|
(((((((((`bs`.`ventas` `bt`
|
|
LEFT JOIN `vn2008`.`Tipos` `tp` ON ((`tp`.`tipo_id` = `bt`.`tipo_id`)))
|
|
LEFT JOIN `vn2008`.`reinos` `r` ON ((`r`.`id` = `tp`.`reino_id`)))
|
|
LEFT JOIN `vn2008`.`Clientes` c on c.Id_Cliente = bt.Id_Cliente
|
|
LEFT JOIN `vn2008`.`Trabajadores` `tr` ON ((`tr`.`Id_Trabajador` = `c`.`Id_Trabajador`)))
|
|
LEFT JOIN `vn2008`.`Trabajadores` `tr2` ON ((`tr2`.`Id_Trabajador` = `tp`.`Id_Trabajador`)))
|
|
JOIN vn2008.time on time.date = bt.fecha
|
|
JOIN vn2008.Movimientos m on m.Id_Movimiento = bt.Id_Movimiento
|
|
LEFT JOIN `vn2008`.`Tickets` `t` ON ((`t`.`Id_Ticket` = `m`.`Id_Ticket`)))
|
|
JOIN vn2008.Agencias a on a.Id_Agencia = t.Id_Agencia
|
|
LEFT JOIN `vn2008`.`Vistas` `v` ON ((`v`.`vista_id` = `a`.`Vista`)))
|
|
LEFT JOIN `vn2008`.`Consignatarios` `cs` ON ((`cs`.`Id_Consigna` = `t`.`Id_Consigna`)))
|
|
LEFT JOIN `vn2008`.`province` `p` ON ((`p`.`province_id` = `cs`.`province_id`)))
|
|
LEFT JOIN `vn2008`.`warehouse` `w` ON ((`w`.`id` = `t`.`warehouse_id`)))
|
|
WHERE bt.fecha >= vLastMonth AND r.mercancia;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `call_add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `call_add`()
|
|
BEGIN
|
|
|
|
DECLARE datSTART DATETIME DEFAULT '2012-03-01'/*CURDATE()*/;
|
|
-- control
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('bi.call_add');
|
|
|
|
-- Seleccionamos la ultima fecha introducida
|
|
SELECT MAX(Fecha) INTO datSTART FROM `call`;
|
|
|
|
|
|
-- Borramos todas las entradas del dia datSTART por si hubiese registros nuevos
|
|
DELETE FROM `call` WHERE Fecha = datSTART;
|
|
|
|
INSERT INTO bi.`call`(CodTrabajadorCartera,CodTrabajadorTelefono,dur_in,dur_out,Fecha,`year`,`month`,`week`,`hour`,phone)
|
|
SELECT vn2008.Averiguar_ComercialCliente(pb.Id_Cliente,Fecha) CodTrabajadorCartera,ll.CodigoTrabajador, dur_in,
|
|
dur_out, ll.Fecha,YEAR(ll.Fecha) `year`, MONTH(ll.Fecha) `month`,WEEK(ll.Fecha,7) `week`, Hora,phone
|
|
FROM
|
|
(
|
|
SELECT Id_Trabajador,CodigoTrabajador, IFNULL(billsec,0) dur_in, 0 dur_out, 1 as Recibidas, NULL as Emitidas, calldate as Fecha,
|
|
hour(calldate) as Hora,src as phone
|
|
FROM vn2008.Trabajadores T
|
|
INNER JOIN vn2008.cdr C ON C.dstchannel LIKE CONCAT('%', T.extension, '%')
|
|
WHERE calldate >= datSTART AND LENGTH(C.src) >=9 AND disposition = 'ANSWERED' AND duration
|
|
UNION ALL
|
|
SELECT Id_Trabajador,CodigoTrabajador,0 dur_in, IFNULL(billsec,0) dur_out, NULL as Recibidas, 1 as Emitidas, date(calldate), hour(calldate),dst
|
|
FROM vn2008.Trabajadores T
|
|
INNER JOIN vn2008.cdr C ON C.src = T.extension
|
|
WHERE calldate >= datSTART AND LENGTH(C.dst) >=9 AND disposition = 'ANSWERED' AND duration
|
|
) ll
|
|
INNER JOIN vn2008.Permisos USING(Id_Trabajador)
|
|
LEFT JOIN vn2008.v_phonebook pb ON pb.Telefono = ll.phone
|
|
WHERE Id_Grupo = 6;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `claim_ratio_routine` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `claim_ratio_routine`()
|
|
BEGIN
|
|
|
|
DECLARE vMonthToRefund INT DEFAULT 4;
|
|
|
|
-- control
|
|
INSERT INTO vn2008.daily_task_log(consulta)
|
|
VALUES('bi.claim_ratio_routine START');
|
|
|
|
/*
|
|
* PAK 2015-11-20
|
|
* Se trata de añadir a la tabla Greuges todos los
|
|
* cargos que luego vamos a utilizar para calcular el recobro
|
|
*/
|
|
|
|
-- descuentos comerciales COD 11
|
|
|
|
INSERT INTO vn2008.Greuges(Fecha, Id_Cliente, Comentario, Importe, Id_Ticket)
|
|
SELECT Fecha, Id_Cliente, Concat('COD11 : ',Concepte), - round(Cantidad *
|
|
Preu * (100 - Descuento) / 100 ,2) AS Importe, t.Id_Ticket
|
|
FROM vn2008.Tickets t
|
|
JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket
|
|
WHERE Id_Article = 11
|
|
AND Concepte NOT LIKE '$%'
|
|
AND Fecha > '2014-01-01'
|
|
HAVING nz(Importe) <> 0;
|
|
|
|
DELETE mc.*
|
|
FROM vn2008.Movimientos_componentes mc
|
|
JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento
|
|
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
|
WHERE m.Id_Article = 11
|
|
AND m.Concepte NOT LIKE '$%'
|
|
AND t.Fecha > '2017-01-01';
|
|
|
|
INSERT INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor)
|
|
SELECT m.Id_Movimiento, 34, round(m.Preu * (100 - m.Descuento)/100,4)
|
|
FROM vn2008.Movimientos m
|
|
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
|
WHERE m.Id_Article = 11
|
|
AND m.Concepte NOT LIKE '$%'
|
|
AND t.Fecha > '2017-01-01';
|
|
|
|
UPDATE vn2008.Movimientos m
|
|
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
|
SET Concepte = CONCAT('$ ',Concepte)
|
|
WHERE Id_Article = 11
|
|
AND Concepte NOT LIKE '$%'
|
|
AND Fecha > '2014-01-01';
|
|
|
|
-- Reclamaciones demasiado sensibles
|
|
|
|
INSERT INTO vn2008.Greuges(Fecha, Id_Cliente, Comentario,
|
|
Importe, Greuges_type_id,Id_Ticket)
|
|
SELECT cm.Fecha
|
|
, cm.Id_Cliente
|
|
, concat('Claim ',cm.id,' : ', m.Concepte)
|
|
,round( -1 * ((sensib -1)/4) * Cantidad *
|
|
Preu * (100 - Descuento) / 100, 2) AS Reclamaciones
|
|
, 4
|
|
, m.Id_Ticket
|
|
FROM vn2008.Movimientos m
|
|
JOIN vn2008.cl_act ca USING(Id_Movimiento)
|
|
JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id
|
|
WHERE ca.cl_sol_id NOT IN (1,5)
|
|
AND ca.greuge = 0
|
|
AND cm.cl_est_id = 3;
|
|
|
|
-- Reclamaciones que pasan a Maná
|
|
|
|
INSERT INTO vn2008.Greuges(Fecha, Id_Cliente, Comentario,
|
|
Importe , Greuges_type_id,Id_Ticket)
|
|
SELECT cm.Fecha
|
|
, cm.Id_Cliente
|
|
, concat('Claim_mana ',cm.id,' : ', m.Concepte)
|
|
,round( ((sensib -1)/4) * Cantidad * Preu * (100 - Descuento) / 100, 2)
|
|
AS Reclamaciones
|
|
,3
|
|
,m.Id_Ticket
|
|
FROM vn2008.Movimientos m
|
|
JOIN vn2008.cl_act ca USING(Id_Movimiento)
|
|
JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id
|
|
WHERE ca.cl_sol_id NOT IN (1,5)
|
|
AND ca.greuge = 0
|
|
AND cm.cl_est_id = 3
|
|
AND cm.mana;
|
|
|
|
-- Marcamos para no repetir
|
|
UPDATE vn2008.cl_act ca
|
|
JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id
|
|
SET greuge = 1
|
|
WHERE ca.cl_sol_id NOT IN (1,5)
|
|
AND ca.greuge = 0
|
|
AND cm.cl_est_id = 3;
|
|
|
|
|
|
|
|
-- Recobros
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
|
|
CREATE TEMPORARY TABLE tmp.ticket_list
|
|
(PRIMARY KEY (Id_Ticket))
|
|
SELECT DISTINCT t.Id_Ticket
|
|
FROM vn2008.Movimientos_componentes mc
|
|
JOIN vn2008.Movimientos m ON mc.Id_Movimiento = m.Id_Movimiento
|
|
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
|
JOIN vn2008.Tickets_state ts ON ts.Id_Ticket = t.Id_Ticket
|
|
JOIN vncontrol.inter i ON i.inter_id = ts.inter_id
|
|
JOIN vn2008.state s ON s.id = i.state_id
|
|
WHERE mc.Id_Componente = 17
|
|
AND mc.greuge = 0
|
|
AND t.Fecha >= '2016-10-01'
|
|
AND t.Fecha < CURDATE()
|
|
AND t.warehouse_id <> 41
|
|
AND s.alert_level >= 3;
|
|
|
|
DELETE g.*
|
|
FROM vn2008.Greuges g
|
|
JOIN tmp.ticket_list t ON g.Id_Ticket = t.Id_Ticket
|
|
WHERE Greuges_type_id = 2;
|
|
|
|
INSERT INTO vn2008.Greuges (Id_Cliente,Comentario,Importe,Fecha,
|
|
Greuges_type_id, Id_Ticket)
|
|
SELECT Id_Cliente
|
|
,concat('recobro ', m.Id_Ticket), - round(SUM(mc.Valor*Cantidad),2)
|
|
AS dif
|
|
,date(t.Fecha)
|
|
, 2
|
|
,tt.Id_Ticket
|
|
FROM vn2008.Movimientos m
|
|
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
|
JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.Id_Ticket
|
|
JOIN vn2008.Movimientos_componentes mc
|
|
ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = 17
|
|
GROUP BY t.Id_Ticket
|
|
HAVING ABS(dif) > 1;
|
|
|
|
UPDATE vn2008.Movimientos_componentes mc
|
|
JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento
|
|
JOIN tmp.ticket_list tt ON tt.Id_Ticket = m.Id_Ticket
|
|
SET greuge = 1
|
|
WHERE Id_Componente = 17;
|
|
|
|
/*
|
|
* Recalculamos la ratio de las reclamaciones, que luego
|
|
* se va a utilizar en el recobro
|
|
*/
|
|
|
|
DELETE FROM bi.claims_ratio;
|
|
|
|
REPLACE bi.claims_ratio(Id_Cliente, Consumo, Reclamaciones, Ratio, recobro)
|
|
SELECT fm.Id_Cliente, 12 * fm.Consumo, Reclamaciones,
|
|
round(Reclamaciones / (12*fm.Consumo),4) AS Ratio, 0
|
|
FROM bi.facturacion_media_anual fm
|
|
LEFT JOIN(
|
|
SELECT cm.Id_Cliente, round(sum(-1 * ((sensib -1)/4) *
|
|
Cantidad * Preu * (100 - Descuento) / 100))
|
|
AS Reclamaciones
|
|
FROM vn2008.Movimientos m
|
|
JOIN vn2008.cl_act ca
|
|
ON ca.Id_Movimiento = m.Id_Movimiento
|
|
JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id
|
|
WHERE ca.cl_sol_id NOT IN (1,5)
|
|
AND cm.cl_est_id = 3
|
|
AND cm.Fecha >= TIMESTAMPADD(YEAR, -1, CURDATE())
|
|
GROUP BY cm.Id_Cliente
|
|
) claims ON claims.Id_Cliente = fm.Id_Cliente;
|
|
|
|
|
|
-- Calculamos el porcentaje del recobro para añadirlo al precio de venta
|
|
UPDATE bi.claims_ratio cr
|
|
JOIN (
|
|
SELECT Id_Cliente, nz(SUM(Importe)) AS Greuge
|
|
FROM vn2008.Greuges
|
|
WHERE Fecha <= CURDATE()
|
|
GROUP BY Id_Cliente
|
|
) g ON g.Id_Cliente = cr.Id_Cliente
|
|
SET recobro = GREATEST(0,round(nz(Greuge) /
|
|
(nz(Consumo) * vMonthToRefund / 12 ) ,3));
|
|
|
|
-- control
|
|
INSERT INTO vn2008.daily_task_log(consulta)
|
|
VALUES('bi.claim_ratio_routine END');
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `clean` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `clean`()
|
|
BEGIN
|
|
DECLARE vDateShort DATETIME;
|
|
DECLARE vDateLong DATETIME;
|
|
|
|
SET vDateShort = TIMESTAMPADD(MONTH, -2, CURDATE());
|
|
SET vDateLong = TIMESTAMPADD(MONTH, -18,CURDATE());
|
|
|
|
INSERT INTO bi.dailyTaskLog(state) VALUES('clean START');
|
|
|
|
DELETE FROM bi.comparativa_clientes WHERE Fecha < vDateLong;
|
|
DELETE FROM bi.Greuge_Evolution WHERE Fecha < vDateShort AND weekday(Fecha) != 1;
|
|
|
|
INSERT INTO bi.dailyTaskLog(state) VALUES('clean END');
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `clean_launcher` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `clean_launcher`()
|
|
BEGIN
|
|
|
|
call vn2008.clean(0);
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `comparativa_add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `comparativa_add`()
|
|
BEGIN
|
|
DECLARE lastCOMP INT; # Se trata de una variable para almacenar el ultimo valor del Periodo
|
|
|
|
SELECT MAX(Periodo) INTO lastCOMP FROM vn2008.Comparativa;
|
|
-- Fijaremos las ventas con más de un mes de antiguedad en la tabla Comparativa
|
|
|
|
IF lastCOMP < vn2008.vnperiod(CURDATE())- 3 AND vn2008.vnweek(CURDATE()) > 3 THEN
|
|
|
|
REPLACE vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price)
|
|
SELECT tm.period as Periodo, m.Id_Article, t.warehouse_id, sum(m.Cantidad), sum(v.importe)
|
|
FROM bs.ventas v
|
|
JOIN vn2008.time tm ON tm.date = v.fecha
|
|
JOIN vn2008.Movimientos m ON m.Id_Movimiento = v.Id_Movimiento
|
|
JOIN vn2008.Articles a ON a.Id_Article = m.Id_Article
|
|
JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id
|
|
JOIN vn2008.reinos r ON r.id = tp.reino_id
|
|
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
|
WHERE tm.period BETWEEN lastCOMP AND vn2008.vnperiod(CURDATE())- 3
|
|
AND t.Id_Cliente NOT IN(400,200)
|
|
AND r.display <> 0
|
|
AND t.warehouse_id NOT IN (0,13)
|
|
GROUP BY Id_Article, Periodo, warehouse_id;
|
|
|
|
|
|
/*
|
|
REPLACE vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price)
|
|
SELECT vn2008.vnperiod(T.Fecha) AS Periodo
|
|
, Id_Article
|
|
, warehouse_id
|
|
, SUM(Cantidad) AS Total
|
|
, SUM(Cantidad * Preu * (100 - Descuento) / 100) precio
|
|
FROM vn2008.Movimientos M
|
|
JOIN vn2008.Tickets T USING (Id_Ticket)
|
|
JOIN vn2008.Articles A USING (Id_Article)
|
|
LEFT JOIN vn2008.Tipos ti ON ti.tipo_id = A.tipo_id
|
|
LEFT JOIN vn2008.reinos r ON r.id = ti.reino_id
|
|
WHERE T.Fecha BETWEEN TIMESTAMPADD(DAY,-60,CURDATE()) AND TIMESTAMPADD(DAY,-30,CURDATE())
|
|
AND T.Id_Cliente NOT IN(400,200)
|
|
AND display <> 0 AND warehouse_id NOT IN (0,13)
|
|
GROUP BY Id_Article, Periodo, warehouse_id;
|
|
*/
|
|
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `comparativa_add_manual` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `comparativa_add_manual`(IN dat_START DATE, IN dat_END DATE)
|
|
BEGIN
|
|
|
|
DECLARE datINI DATETIME;
|
|
DECLARE datFIN DATETIME;
|
|
|
|
-- Seleccionamos la fecha minima/maxima del periodo que vamos a consultar
|
|
SELECT MIN(`date`) INTO datINI FROM vn2008.`time` WHERE period = vn2008.vnperiod(dat_START);
|
|
SELECT TIMESTAMP(MAX(`date`),'23:59:59') INTO datFIN FROM vn2008.`time` WHERE period = vn2008.vnperiod(dat_END);
|
|
|
|
DELETE FROM vn2008.Comparativa WHERE Periodo BETWEEN vn2008.vnperiod(dat_START) and vn2008.vnperiod(dat_END);
|
|
|
|
REPLACE vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price)
|
|
SELECT tm.period AS Periodo
|
|
, M.Id_Article
|
|
, t.warehouse_id
|
|
, SUM(Cantidad) AS Total
|
|
, sum(v.importe) AS precio
|
|
FROM vn2008.Movimientos M
|
|
JOIN vn2008.Tickets t on t.Id_Ticket = M.Id_Ticket
|
|
JOIN bs.ventas v on v.Id_Movimiento = M.Id_Movimiento
|
|
JOIN vn2008.time tm on tm.date = v.fecha
|
|
JOIN vn2008.Tipos tp on v.tipo_id = tp.tipo_id
|
|
LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id
|
|
WHERE v.fecha BETWEEN datINI and datFIN
|
|
AND r.display <> 0 AND t.warehouse_id NOT IN (0,13)
|
|
GROUP BY Id_Article, Periodo, t.warehouse_id;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `customer_risk_update` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `customer_risk_update`(v_customer INT, v_company INT, v_amount DECIMAL(10,2))
|
|
BEGIN
|
|
IF v_amount IS NOT NULL
|
|
THEN
|
|
INSERT INTO bi.customer_risk
|
|
SET
|
|
customer_id = v_customer,
|
|
company_id = v_company,
|
|
amount = v_amount
|
|
ON DUPLICATE KEY UPDATE
|
|
amount = amount + VALUES(amount);
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `defaultersFromDate` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `defaultersFromDate`(IN vDate DATE)
|
|
BEGIN
|
|
|
|
SELECT t1.*, c.Cliente, w.workerCode, c.pay_met_id,c.Vencimiento
|
|
FROM (
|
|
-- Filtramos aquellos clientes cuyo saldo se ha incrementado de ayer a hoy
|
|
select * from(
|
|
select today.client, today.amount todayAmount, yesterday.amount yesterdayAmount, round(yesterday.amount - today.amount,2) as difference, defaulterSince
|
|
from
|
|
(select client, amount, defaulterSince
|
|
from defaulters
|
|
where date = vDate and hasChanged) today
|
|
join
|
|
(select client, amount
|
|
from defaulters
|
|
where date = TIMESTAMPADD(DAY,-1,vDate)) yesterday using(client)
|
|
|
|
having today.amount > 0 and difference <> 0
|
|
) newDefaulters
|
|
)t1 left join vn2008.Clientes c ON t1.client = c.Id_Cliente
|
|
left join vn.worker w ON w.id = c.Id_Trabajador;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `defaulting` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `defaulting`(IN vDate DATE)
|
|
BEGIN
|
|
DECLARE vDone BOOLEAN;
|
|
DECLARE vClient INT;
|
|
DECLARE vAmount INT;
|
|
DECLARE vDateInvoice DATE;
|
|
DECLARE vAmountInvoice DECIMAL(10,2);
|
|
DECLARE vDueDay INT;
|
|
DECLARE vGraceDays INT;
|
|
DECLARE defaulters CURSOR FOR
|
|
SELECT client, amount, Vencimiento, graceDays FROM bi.defaulters d
|
|
JOIN vn2008.Clientes c ON c.Id_Cliente = d.client
|
|
JOIN vn2008.pay_met pm ON pm.id = c.pay_met_id
|
|
WHERE hasChanged AND date = vDate;
|
|
|
|
DECLARE invoices CURSOR FOR
|
|
SELECT Fecha, importe FROM vn2008.Facturas f
|
|
WHERE f.Fecha >= '2016-01-01' AND f.Id_Cliente = vClient ORDER BY f.Fecha DESC;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE;
|
|
-- Control
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('defaulting');
|
|
|
|
DELETE FROM bi.defaulters WHERE date = vDate;
|
|
|
|
INSERT INTO bi.defaulters(client, date, amount)
|
|
SELECT customer_id, vDate, FLOOR(SUM(amount)) AS amount
|
|
FROM bi.customerRiskOverdue
|
|
GROUP BY customer_id;
|
|
|
|
-- marcamos si ha cambiado y heredamos la fecha defaulterSince
|
|
UPDATE bi.defaulters d
|
|
JOIN (
|
|
SELECT * FROM(
|
|
SELECT client, amount , defaulterSince FROM bi.defaulters
|
|
WHERE date <= TIMESTAMPADD(DAY,-1, vDate)
|
|
ORDER BY date DESC) t GROUP BY client
|
|
) yesterday using(client)
|
|
SET d.hasChanged = IF(d.amount <> yesterday.amount, 1, 0),
|
|
d.defaulterSince = yesterday.defaulterSince
|
|
WHERE d.date = vDate ;
|
|
|
|
OPEN defaulters;
|
|
defaulters: LOOP
|
|
SET vDone = FALSE;
|
|
SET vAmount = 0;
|
|
FETCH defaulters INTO vClient,vAmount, vDueDay, vGraceDays;
|
|
IF vDone THEN
|
|
LEAVE defaulters;
|
|
END IF;
|
|
OPEN invoices;
|
|
invoices:LOOP
|
|
|
|
FETCH invoices INTO vDateInvoice, vAmountInvoice;
|
|
IF vDone THEN
|
|
LEAVE invoices;
|
|
END IF;
|
|
|
|
IF TIMESTAMPADD(DAY, vGraceDays, vn2008.paymentday(vDateInvoice, vDueDay)) <= vDate THEN
|
|
SET vAmount = vAmount - vAmountInvoice;
|
|
IF vAmount <= 0 THEN
|
|
UPDATE defaulters SET defaulterSince = vn2008.paymentday(vDateInvoice, vDueDay)
|
|
WHERE client = vClient and date = vDate;
|
|
|
|
SET vAmount = 0;
|
|
LEAVE invoices;
|
|
END IF;
|
|
END IF;
|
|
END LOOP;
|
|
CLOSE invoices;
|
|
END LOOP;
|
|
CLOSE defaulters;
|
|
DELETE FROM bi.defaulting WHERE date = vDate;
|
|
|
|
INSERT INTO bi.defaulting(date, amount)
|
|
SELECT vDate, SUM(amount)
|
|
FROM bi.defaulters
|
|
WHERE date = vDate and amount > 0;
|
|
|
|
CALL vn.clientFreeze();
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `defaultingkk` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `defaultingkk`(IN vDate DATE)
|
|
BEGIN
|
|
DECLARE done BIT DEFAULT 0;
|
|
DECLARE vClient INT;
|
|
DECLARE vAmount INT;
|
|
DECLARE vDateInvoice DATE;
|
|
DECLARE vAmountInvoice DECIMAL(10,2);
|
|
DECLARE vDueDay INT;
|
|
DECLARE vGraceDays INT;
|
|
DECLARE defaulters CURSOR FOR
|
|
SELECT client, amount, Vencimiento, graceDays FROM bi.defaulters d
|
|
JOIN vn2008.Clientes c ON c.Id_Cliente = d.client
|
|
JOIN vn2008.pay_met pm ON pm.id = c.pay_met_id
|
|
WHERE hasChanged AND date = vDate;
|
|
|
|
DECLARE invoices CURSOR FOR
|
|
SELECT Fecha, importe FROM vn2008.Facturas f
|
|
WHERE f.Fecha >= '2016-01-01' AND f.Id_Cliente = vClient ORDER BY f.Fecha DESC;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
|
|
-- Control
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('defaulting');
|
|
|
|
DELETE FROM bi.defaulters WHERE date = vDate;
|
|
|
|
INSERT INTO bi.defaulters(client, date, amount)
|
|
SELECT customer_id, vDate, FLOOR(SUM(amount)) AS amount
|
|
FROM bi.customerRiskOverdue
|
|
GROUP BY customer_id;
|
|
|
|
-- marcamos si ha cambiado y heredamos la fecha defaulterSince
|
|
UPDATE bi.defaulters d
|
|
JOIN (
|
|
SELECT client, amount , defaulterSince FROM bi.defaulters
|
|
WHERE date = TIMESTAMPADD(DAY,-1, vDate)
|
|
GROUP BY client
|
|
) yesterday using(client)
|
|
SET d.hasChanged = IF(d.amount <> yesterday.amount, 1, 0),
|
|
d.defaulterSince = yesterday.defaulterSince
|
|
WHERE d.date = vDate ;
|
|
|
|
OPEN defaulters;
|
|
defaulters: BEGIN
|
|
REPEAT
|
|
FETCH defaulters INTO vClient,vAmount, vDueDay, vGraceDays;
|
|
OPEN invoices;
|
|
invoices:BEGIN
|
|
REPEAT
|
|
|
|
FETCH invoices INTO vDateInvoice, vAmountInvoice;
|
|
IF TIMESTAMPADD(DAY, vGraceDays, vn2008.paymentday(vDateInvoice, vDueDay)) <= vDate THEN
|
|
SET vAmount = vAmount - vAmountInvoice;
|
|
IF vAmount < 0 THEN
|
|
UPDATE defaulters SET defaulterSince = vn2008.paymentday(vDateInvoice, vDueDay)
|
|
WHERE client = vClient and date = vDate;
|
|
SET vAmount = 0;
|
|
LEAVE invoices;
|
|
END IF;
|
|
END IF;
|
|
UNTIL done END REPEAT;
|
|
END invoices;
|
|
CLOSE invoices;
|
|
UNTIL done OR vClient IS NULL END REPEAT;
|
|
END defaulters;
|
|
CLOSE defaulters;
|
|
DELETE FROM bi.defaulting WHERE date = vDate;
|
|
|
|
INSERT INTO bi.defaulting(date, amount)
|
|
SELECT vDate, SUM(amount)
|
|
FROM bi.defaulters
|
|
WHERE date = vDate and amount > 0;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `defaulting_launcher` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `defaulting_launcher`()
|
|
BEGIN
|
|
|
|
CALL bi.defaulting(curdate());
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `equaliza` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `equaliza`(IN wh_id INT)
|
|
BEGIN
|
|
|
|
DECLARE datEQ DATETIME;
|
|
/* JGF 2017-03-20 cuelga el sistema
|
|
|
|
SELECT `date` INTO datEQ FROM bi.variables WHERE variable = IF(wh_id = 17,'eq_mcf','equalizator');
|
|
|
|
|
|
IF TIMEDIFF(now(), datEQ) > '00:05:00' THEN
|
|
|
|
UPDATE bi.Equalizator e
|
|
JOIN
|
|
(
|
|
SELECT
|
|
Vista,
|
|
sum(1) as pedido,
|
|
sum(PedidoImpreso) as impreso,
|
|
sum(t.Factura IS NOT NULL
|
|
OR t.Etiquetasemitidas
|
|
OR nz(ticket_id) <> 0) as encajado
|
|
FROM
|
|
vn2008.Movimientos
|
|
JOIN
|
|
vn2008.Tickets t USING (Id_Ticket)
|
|
JOIN
|
|
vn2008.Agencias a ON t.Id_Agencia = a.Id_Agencia
|
|
JOIN
|
|
vn2008.Clientes C USING (Id_Cliente)
|
|
LEFT JOIN
|
|
(SELECT distinct
|
|
ticket_id
|
|
FROM
|
|
vn2008.expeditions e JOIN vn2008.Tickets t ON t.Id_Ticket = e.ticket_id WHERE Fecha >= curDate()) exp ON ticket_id = Id_Ticket
|
|
WHERE
|
|
invoice And Fecha >= curDate()
|
|
AND t.warehouse_id = wh_id
|
|
AND fecha < (TIMESTAMPADD(DAY, 1, CURDATE()))
|
|
GROUP BY Vista) sub using(Vista)
|
|
SET e.Pedido = sub.pedido, e.Impreso = sub.impreso, e.Encajado = sub.encajado;
|
|
|
|
UPDATE bi.variables SET `date`= now() WHERE variable = IF(wh_id = 17,'eq_mcf','equalizator');
|
|
|
|
|
|
END IF;
|
|
*/
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `facturacion_media_anual_update` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `facturacion_media_anual_update`()
|
|
BEGIN
|
|
|
|
-- control
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('bi.facturacion_media_anual_update');
|
|
|
|
TRUNCATE TABLE bi.facturacion_media_anual;
|
|
|
|
REPLACE bi.facturacion_media_anual(Id_Cliente, Consumo)
|
|
select Id_Cliente, avg(Consumo)
|
|
from (
|
|
Select Id_Cliente, YEAR(fecha) year, MONTH(fecha) month, sum(importe) as Consumo
|
|
from bs.ventas
|
|
where fecha >= TIMESTAMPADD(YEAR,-1,CURDATE())
|
|
group by Id_Cliente, year, month
|
|
) vol
|
|
group by Id_Cliente;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `greuge_dif_porte_add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `greuge_dif_porte_add`()
|
|
BEGIN
|
|
|
|
DECLARE datSTART DATETIME DEFAULT TIMESTAMPADD(DAY,-10,CURDATE());
|
|
DECLARE datEND DATETIME DEFAULT TIMESTAMPADD(DAY,-1,CURDATE());
|
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.dp;
|
|
|
|
CREATE TEMPORARY TABLE tmp.dp
|
|
(PRIMARY KEY (Id_Ticket))
|
|
ENGINE = MEMORY
|
|
SELECT
|
|
t.Id_Ticket,
|
|
SUM(az.price * IF(
|
|
e.EsBulto = 71
|
|
AND ISNULL(e.Id_Article)
|
|
AND a.Vista = 2,
|
|
0.75,
|
|
1
|
|
)
|
|
) AS teorico,
|
|
00000.00 as practico,
|
|
00000.00 as greuge
|
|
FROM
|
|
vn2008.Tickets t
|
|
JOIN vn2008.Clientes cli ON cli.Id_cliente = t.Id_Cliente
|
|
LEFT JOIN vn2008.expeditions e ON e.ticket_id = t.Id_Ticket
|
|
JOIN vn2008.Consignatarios c ON c.Id_Consigna = t.Id_Consigna
|
|
JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia
|
|
JOIN vn2008.Agencias_province ap ON t.warehouse_id = ap.warehouse_id
|
|
AND ap.province_id = c.province_id
|
|
AND ap.agency_id = a.agency_id
|
|
JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = t.Id_Agencia
|
|
AND az.zona = ap.zona
|
|
AND t.warehouse_id = az.warehouse_id
|
|
AND az.Id_Article = e.EsBulto
|
|
WHERE
|
|
t.Fecha between datSTART AND datEND
|
|
AND cli.`real`
|
|
AND t.empresa_id IN (442 , 567)
|
|
GROUP BY t.Id_Ticket;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.dp_aux;
|
|
|
|
CREATE TEMPORARY TABLE tmp.dp_aux
|
|
(PRIMARY KEY (Id_Ticket))
|
|
ENGINE = MEMORY
|
|
SELECT t.Id_Ticket, sum(freight) as porte
|
|
FROM tmp.dp
|
|
JOIN vn2008.Tickets t ON t.Id_Ticket = dp.Id_Ticket
|
|
JOIN vn2008.Rutas r on r.Id_Ruta = t.Id_Ruta
|
|
JOIN vn2008.Agencias a on a.Id_Agencia = r.Id_Agencia
|
|
JOIN (
|
|
SELECT
|
|
M.Id_Ticket,
|
|
(M.Cantidad * r.cm3 / cb.Volumen ) * az.price AS freight
|
|
FROM
|
|
vn2008.Movimientos M
|
|
JOIN vn2008.Tickets t ON t.Id_Ticket = M.Id_Ticket
|
|
JOIN vn2008.Consignatarios c ON c.Id_Consigna = t.Id_Consigna
|
|
JOIN bi.rotacion r ON M.Id_Article = r.Id_Article
|
|
AND t.warehouse_id = r.warehouse_id
|
|
JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia
|
|
JOIN vn2008.Agencias_province ap ON t.warehouse_id = ap.warehouse_id
|
|
AND ap.province_id = c.province_id
|
|
AND ap.agency_id = a.agency_id
|
|
JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = t.Id_Agencia
|
|
AND az.zona = ap.zona
|
|
AND t.warehouse_id = az.warehouse_id
|
|
AND az.Id_Article = 71
|
|
JOIN vn2008.Cubos cb ON Id_Cubo = 94
|
|
WHERE t.Fecha between datSTART AND datEND
|
|
) vmv ON vmv.Id_Ticket = t.Id_Ticket
|
|
WHERE a.is_volumetric
|
|
GROUP BY t.Id_Ticket;
|
|
|
|
UPDATE tmp.dp
|
|
JOIN tmp.dp_aux using(Id_Ticket)
|
|
SET teorico = porte;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.dp_aux;
|
|
|
|
CREATE TEMPORARY TABLE tmp.dp_aux
|
|
(PRIMARY KEY (Id_Ticket))
|
|
ENGINE = MEMORY
|
|
SELECT dp.Id_Ticket, sum(Cantidad * Valor) as valor
|
|
FROM tmp.dp
|
|
JOIN vn2008.Movimientos m using(Id_Ticket)
|
|
JOIN vn2008.Movimientos_componentes mc using(Id_Movimiento)
|
|
WHERE mc.Id_Componente = 15
|
|
GROUP BY m.Id_Ticket;
|
|
|
|
UPDATE tmp.dp
|
|
JOIN tmp.dp_aux using(Id_Ticket)
|
|
SET practico = valor;
|
|
|
|
DROP TEMPORARY TABLE tmp.dp_aux;
|
|
|
|
CREATE TEMPORARY TABLE tmp.dp_aux
|
|
(PRIMARY KEY (Id_Ticket))
|
|
ENGINE = MEMORY
|
|
SELECT dp.Id_Ticket, sum(Importe) Importe
|
|
FROM tmp.dp
|
|
JOIN vn2008.Greuges g using(Id_Ticket)
|
|
WHERE Greuges_type_id = 1
|
|
GROUP BY Id_Ticket;
|
|
|
|
UPDATE tmp.dp
|
|
JOIN tmp.dp_aux using(Id_Ticket)
|
|
SET greuge = Importe;
|
|
|
|
|
|
INSERT INTO vn2008.Greuges (Id_Cliente,Comentario,Importe,Fecha, Greuges_type_id, Id_Ticket)
|
|
SELECT t.Id_Cliente
|
|
, concat('dif_porte ', dp.Id_Ticket)
|
|
, round(teorico - practico - greuge,2) as Importe
|
|
, date(t.Fecha)
|
|
, 1
|
|
,t.Id_Ticket
|
|
FROM tmp.dp
|
|
JOIN vn2008.Tickets t on dp.Id_Ticket = t.Id_Ticket
|
|
WHERE ABS(teorico - practico - greuge) > 1;
|
|
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `Greuge_Evolution_Add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `Greuge_Evolution_Add`()
|
|
BEGIN
|
|
|
|
/*
|
|
|
|
Inserta en la tabla Greuge_Evolution el saldo acumulado de cada cliente, así como las ventas acumuladas en los ultimos 365 dias
|
|
, para poder controlar su evolucion
|
|
|
|
*/
|
|
|
|
DECLARE datFEC DATE;
|
|
DECLARE datFEC_TOMORROW DATE;
|
|
DECLARE datFEC_LASTYEAR DATE;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN
|
|
|
|
GET DIAGNOSTICS CONDITION 2 @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT;
|
|
SELECT CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto'));
|
|
INSERT INTO vn2008.mail (`to`,`subject`,`text`) VALUES ('jgallego@verdnatura.es', 'Greuge_Evolution_Add' ,CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto')));
|
|
INSERT INTO vn2008.mail (`to`,`subject`,`text`) VALUES ('pako@verdnatura.es', 'Greuge_Evolution_Add' ,CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto')));
|
|
|
|
END;
|
|
|
|
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('Greuge Evolution Add START');
|
|
|
|
SELECT TIMESTAMPADD(DAY,1,MAX(Fecha)),
|
|
TIMESTAMPADD(DAY,2,MAX(Fecha))
|
|
INTO datFEC,
|
|
datFEC_TOMORROW
|
|
FROM bi.Greuge_Evolution;
|
|
|
|
SET datFEC_LASTYEAR = TIMESTAMPADD(YEAR,-1,datFEC);
|
|
|
|
DELETE FROM bi.Greuge_Evolution WHERE Fecha >= datFEC;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS maxInvoice;
|
|
|
|
CREATE TEMPORARY TABLE maxInvoice
|
|
(PRIMARY KEY (Id_Cliente))
|
|
ENGINE = MEMORY
|
|
SELECT DISTINCT Id_Cliente, max(Fecha) as maxFecha
|
|
FROM vn2008.Facturas
|
|
GROUP BY Id_Cliente
|
|
HAVING maxFecha < timestampadd(month,-2,datFEC);
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('Greuge Evolution Add MIDDLE');
|
|
|
|
WHILE datFEC < CURDATE() DO
|
|
|
|
REPLACE bi.Greuge_Evolution(Id_Cliente, Fecha, Greuge, Ventas)
|
|
|
|
SELECT Id_Cliente, datFEC as Fecha, Greuge, Ventas
|
|
|
|
FROM
|
|
|
|
(
|
|
SELECT Id_Cliente, sum(Importe) as Greuge
|
|
FROM vn2008.Greuges
|
|
where Fecha <= datFEC
|
|
group by Id_Cliente
|
|
|
|
) sub
|
|
|
|
RIGHT JOIN
|
|
|
|
(
|
|
|
|
SELECT Id_Cliente, sum(Ventas) as Ventas
|
|
FROM
|
|
(
|
|
|
|
SELECT Id_Cliente, IF (fecha != datFEC, -1,1) * (importe + recargo) as Ventas
|
|
FROM bs.ventas
|
|
WHERE fecha = datFEC or fecha = datFEC_LASTYEAR
|
|
|
|
UNION ALL
|
|
|
|
SELECT Id_Cliente, Ventas
|
|
FROM bi.Greuge_Evolution
|
|
WHERE Fecha = TIMESTAMPADD(DAY, -1, datFEC)
|
|
|
|
) sub
|
|
group by Id_Cliente
|
|
|
|
) v using(Id_Cliente)
|
|
;
|
|
|
|
|
|
-- Ahora calcularemos el greuge muerto
|
|
|
|
--
|
|
UPDATE bi.Greuge_Evolution ge
|
|
JOIN maxInvoice m using(Id_Cliente)
|
|
SET FOSIL = GREUGE
|
|
WHERE m.maxFecha < TIMESTAMPADD(MONTH,-2,ge.Fecha);
|
|
|
|
|
|
-- Recobro
|
|
|
|
UPDATE bi.Greuge_Evolution ge
|
|
JOIN (
|
|
SELECT cs.Id_Cliente, sum(Valor * Cantidad) as Importe
|
|
FROM vn2008.Tickets t
|
|
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna
|
|
JOIN vn2008.Movimientos m on m.Id_Ticket = t.Id_Ticket
|
|
JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento
|
|
WHERE t.Fecha >= datFEC
|
|
AND t.Fecha < datFEC_TOMORROW
|
|
AND mc.Id_Componente = 17 -- Recobro
|
|
GROUP BY cs.Id_Cliente
|
|
) sub using(Id_Cliente)
|
|
SET Recobro = Importe
|
|
WHERE ge.Fecha = datFEC;
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES(CONCAT('Greuge Evolution ',datFEC));
|
|
|
|
SET datFEC = datFEC_TOMORROW;
|
|
SET datFEC_TOMORROW = TIMESTAMPADD(DAY,1,datFEC_TOMORROW);
|
|
SET datFEC_LASTYEAR = TIMESTAMPADD(YEAR,-1,datFEC);
|
|
|
|
|
|
END WHILE;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS maxInvoice;
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('Greuge Evolution Add END');
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `last_buy_id_add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `last_buy_id_add`()
|
|
BEGIN
|
|
|
|
-- control
|
|
-- INSERT INTO vn2008.daily_task_log(consulta) VALUES('bi.last_buy_id_add');
|
|
|
|
-- DELETE FROM bi.Last_buy_id;
|
|
TRUNCATE TABLE bi.Last_buy_id;
|
|
|
|
|
|
-- Primero metemos las del futuro, por si no hay en el presente
|
|
|
|
INSERT INTO bi.Last_buy_id SELECT * FROM
|
|
(SELECT
|
|
Id_Article, Id_Compra, warehouse_id
|
|
FROM
|
|
vn2008.Compres c
|
|
JOIN vn2008.Entradas e USING (Id_Entrada)
|
|
JOIN vn2008.travel tr ON tr.id = e.travel_id
|
|
WHERE
|
|
Novincular = FALSE AND tarifa2 > 0 AND NOT Redada
|
|
AND landing > curdate()
|
|
ORDER BY landing DESC) t1
|
|
GROUP BY Id_Article , warehouse_id;
|
|
|
|
-- Ahora el presente machaca al futuro
|
|
|
|
REPLACE bi.Last_buy_id SELECT * FROM
|
|
(SELECT
|
|
Id_Article, Id_Compra, warehouse_id
|
|
FROM
|
|
vn2008.Compres c
|
|
JOIN vn2008.Entradas e USING (Id_Entrada)
|
|
JOIN vn2008.travel tr ON tr.id = e.travel_id
|
|
WHERE
|
|
Novincular = FALSE AND tarifa2 > 0 AND NOT Redada
|
|
AND landing BETWEEN vn2008.date_inv() AND curdate()
|
|
ORDER BY landing DESC) t1
|
|
GROUP BY Id_Article , warehouse_id;
|
|
|
|
TRUNCATE TABLE bi.Last_buy_idBackUp;
|
|
INSERT INTO bi.Last_buy_idBackUp
|
|
SELECT * FROM Last_buy_id;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `margenes` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `margenes`()
|
|
BEGIN
|
|
|
|
TRUNCATE TABLE bi.margenes;
|
|
|
|
INSERT INTO bi.margenes
|
|
SELECT Id_Article, Cantidad as Unidades, Cantidad * round(nz(Costefijo) + nz(Embalajefijo) + nz(Comisionfija) + nz(Portefijo),3) as Coste , w.name as almacen, month(landing) as Mes, year(landing) as Year, 0 as Venta
|
|
FROM vn2008.Compres C
|
|
JOIN vn2008.Entradas E using(Id_Entrada)
|
|
JOIN vn2008.travel tr on tr.id = travel_id
|
|
JOIN vn2008.warehouse w on w.id = tr.warehouse_id
|
|
LEFT JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos TP using(tipo_id)
|
|
WHERE landing between '2013-01-01' and ' 2013-12-31'
|
|
AND E.Id_Proveedor <> 4
|
|
AND not redada
|
|
AND not inventario
|
|
union all
|
|
SELECT Id_Article, Cantidad as Unidades, 0 as Coste , w.name, month(Fecha) as Mes, year(Fecha) as Year, Cantidad * round(Preu * (100 - M.Descuento) / 100,2) as Venta
|
|
FROM vn2008.Movimientos M
|
|
JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos TP using(tipo_id)
|
|
JOIN vn2008.Tickets T using(Id_Ticket)
|
|
JOIN vn2008.Clientes C using(Id_Cliente)
|
|
JOIN vn2008.warehouse w on w.id = warehouse_id
|
|
WHERE Fecha between '2013-01-01' and ' 2013-12-31'
|
|
AND (Id_Cliente = 31 or invoice)
|
|
AND Id_Cliente NOT IN (2066,2067,2068);
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `nightly_tasks` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `nightly_tasks`()
|
|
BEGIN
|
|
|
|
call bi.analisis_ventas_evolution_add;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `nigthlyAnalisisVentas` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `nigthlyAnalisisVentas`()
|
|
BEGIN
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('analisis ventas START');
|
|
|
|
CALL bi.analisis_ventas_update;
|
|
CALL bi.analisis_ventas_simple;
|
|
CALL bi.analisis_ventas_evolution_add;
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('analisis ventas END');
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `partitioning` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `partitioning`(IN intyear INT)
|
|
BEGIN
|
|
|
|
DECLARE v_sql TEXT;
|
|
DECLARE strSquemaName VARCHAR(10);
|
|
DECLARE strTableName VARCHAR(20);
|
|
DECLARE strFieldName VARCHAR(20);
|
|
DECLARE strDateField VARCHAR(20);
|
|
DECLARE strTableDependingOn VARCHAR(20);
|
|
DECLARE strFieldDependingOn VARCHAR(20);
|
|
DECLARE done BIT DEFAULT 0;
|
|
DECLARE strCacheSchema VARCHAR(5);
|
|
DECLARE dat_start,dat_end DATE;
|
|
DECLARE cur1 CURSOR FOR
|
|
SELECT `schema_name`,`table_name` FROM `cache`.partitioning_information ORDER BY execution_order;
|
|
DECLARE cur2 CURSOR FOR
|
|
SELECT `schema_name`,`table_name`,`date_field` FROM `cache`.partitioning_information WHERE date_field > '' ORDER BY execution_order;
|
|
DECLARE cur3 CURSOR FOR
|
|
SELECT `schema_name`,`table_name`,`table_depending` FROM `cache`.partitioning_information WHERE table_depending > '' ORDER BY execution_order;
|
|
DECLARE cur4 CURSOR FOR
|
|
SELECT `schema_name`,`table_name`,`table_depending` FROM `cache`.partitioning_information WHERE table_depending > '' ORDER BY execution_order DESC;
|
|
DECLARE cur5 CURSOR FOR
|
|
SELECT `schema_name`,`table_name`,`date_field` FROM `cache`.partitioning_information WHERE date_field > '' ORDER BY execution_order DESC;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
|
|
|
|
SET FOREIGN_KEY_CHECKS=0;
|
|
IF LENGTH(intyear) <> 4 THEN
|
|
CALL el_año_debe_contener_4_caracteres_yyyy();
|
|
END IF;
|
|
SET dat_start = STR_TO_DATE(CONCAT('01,01,',intyear),'%d,%m,%Y');
|
|
SET dat_end = STR_TO_DATE(CONCAT('31,12,',intyear),'%d,%m,%Y');
|
|
SET strCacheSchema = CONCAT('vn_',right(intyear,2));
|
|
SET v_sql = sql_printf ('CREATE SCHEMA IF NOT EXISTS %t',strCacheSchema);
|
|
CALL util.exec (v_sql);
|
|
|
|
-- Insertamos en las tablas del cur1
|
|
OPEN cur1;
|
|
FETCH cur1 INTO strSquemaName,strTableName;
|
|
WHILE NOT done DO
|
|
SET v_sql = sql_printf ('CREATE TABLE IF NOT EXISTS %t.%t LIKE %t.%t',
|
|
strCacheSchema,
|
|
strTableName,
|
|
strSquemaName,
|
|
strTableName);
|
|
|
|
CALL util.exec (v_sql);
|
|
|
|
FETCH cur1 INTO strSquemaName,strTableName;
|
|
|
|
END WHILE;
|
|
CLOSE cur1;
|
|
|
|
-- Insertamos en las tablas del cur2
|
|
OPEN cur2;
|
|
FETCH cur2 INTO strSquemaName,strTableName,strDateField;
|
|
WHILE NOT done DO
|
|
SET v_sql = sql_printf ('REPLACE INTO %t.%t SELECT * FROM %t.%t WHERE %t BETWEEN %v AND %v',
|
|
strCacheSchema,
|
|
strTableName,
|
|
strSquemaName,
|
|
strTableName,
|
|
strDateField,
|
|
dat_start,
|
|
dat_end);
|
|
|
|
SELECT v_sql;
|
|
CALL util.exec (v_sql);
|
|
|
|
FETCH cur2 INTO strSquemaName,strTableName,strDateField;
|
|
|
|
END WHILE;
|
|
CLOSE cur2;
|
|
|
|
-- Insertamos en las tablas del cur3
|
|
OPEN cur3;
|
|
SET done = 0;
|
|
FETCH cur3 INTO strSquemaName,strTableName,strTableDependingOn;
|
|
WHILE NOT done DO
|
|
|
|
|
|
-- Torna la columna per la qual vincular amb el seu pare
|
|
SELECT kcu.column_name INTO strFieldName
|
|
FROM information_schema.key_column_usage kcu
|
|
WHERE table_schema = CONVERT(strSquemaName USING utf8) COLLATE utf8_general_ci
|
|
AND REFERENCED_TABLE_NAME = CONVERT(strTableDependingOn USING utf8) COLLATE utf8_general_ci
|
|
AND table_name = CONVERT(strTableName USING utf8) COLLATE utf8_general_ci;
|
|
|
|
-- Torna la columna per la qual vincular amb el seu fill
|
|
SELECT kcu.column_name INTO strFieldDependingOn
|
|
FROM information_schema.key_column_usage kcu
|
|
WHERE table_schema = CONVERT(strSquemaName USING utf8) COLLATE utf8_general_ci -- FIX mirar l'esquema del pare
|
|
AND constraint_name = 'PRIMARY'
|
|
AND table_name = CONVERT(strTableDependingOn USING utf8) COLLATE utf8_general_ci;
|
|
|
|
SET v_sql = sql_printf ('REPLACE INTO %t.%t SELECT a.* FROM %t.%t a JOIN %t.%t b ON a.%t = b.%t',
|
|
strCacheSchema,
|
|
strTableName,
|
|
strSquemaName,
|
|
strTableName,
|
|
strCacheSchema,
|
|
strTableDependingOn,
|
|
strFieldName,
|
|
strFieldDependingOn);
|
|
select v_sql;
|
|
CALL util.exec (v_sql);
|
|
|
|
FETCH cur3 INTO strSquemaName,strTableName,strTableDependingOn;
|
|
END WHILE;
|
|
|
|
CLOSE cur3;
|
|
|
|
-- Borramos en las tablas del cur4 que es igual que el dos pero en sentido descendente
|
|
-- para evitar errores con las foreign key
|
|
OPEN cur4;
|
|
SET done = 0;
|
|
FETCH cur4 INTO strSquemaName,strTableName,strTableDependingOn;
|
|
WHILE NOT done DO
|
|
|
|
|
|
-- Torna la columna per la qual vincular amb el seu pare
|
|
SELECT kcu.column_name INTO strFieldName
|
|
FROM information_schema.key_column_usage kcu
|
|
WHERE table_schema = CONVERT(strSquemaName USING utf8) COLLATE utf8_general_ci
|
|
AND REFERENCED_TABLE_NAME = CONVERT(strTableDependingOn USING utf8) COLLATE utf8_general_ci
|
|
AND table_name = CONVERT(strTableName USING utf8) COLLATE utf8_general_ci;
|
|
|
|
-- Torna la columna per la qual vincular amb el seu fill
|
|
SELECT kcu.column_name INTO strFieldDependingOn
|
|
FROM information_schema.key_column_usage kcu
|
|
WHERE table_schema = CONVERT(strSquemaName USING utf8) COLLATE utf8_general_ci
|
|
AND constraint_name = 'PRIMARY'
|
|
AND table_name = CONVERT(strTableDependingOn USING utf8) COLLATE utf8_general_ci;
|
|
|
|
SELECT v_sql;
|
|
SET v_sql = sql_printf ('DELETE a.* FROM %t.%t a JOIN %t.%t b ON a.%t = b.%t',
|
|
strSquemaName,
|
|
strTableName,
|
|
strCacheSchema,
|
|
strTableDependingOn,
|
|
strFieldName,
|
|
strFieldDependingOn);
|
|
CALL util.exec (v_sql);
|
|
|
|
FETCH cur4 INTO strSquemaName,strTableName,strTableDependingOn;
|
|
END WHILE;
|
|
|
|
CLOSE cur4;
|
|
|
|
-- Borramos en las tablas del cur5
|
|
OPEN cur5;
|
|
SET done = 0;
|
|
FETCH cur5 INTO strSquemaName,strTableName,strDateField;
|
|
WHILE NOT done DO
|
|
|
|
SET v_sql = sql_printf ('DELETE FROM %t WHERE %t BETWEEN %v AND %v',
|
|
strTableName,
|
|
strDateField,
|
|
dat_start,
|
|
dat_end);
|
|
CALL util.exec (v_sql);
|
|
|
|
FETCH cur5 INTO strSquemaName,strTableName,strDateField;
|
|
|
|
END WHILE;
|
|
CLOSE cur5;
|
|
SET FOREIGN_KEY_CHECKS=1;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `primer_pedido_add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `primer_pedido_add`()
|
|
BEGIN
|
|
INSERT IGNORE INTO bi.primer_pedido(Id_Ticket, Id_Cliente, month, year, total)
|
|
SELECT *
|
|
FROM
|
|
(SELECT
|
|
`m`.`Id_Ticket` ,
|
|
`v`.`Id_Cliente` ,
|
|
`t`.`month`,
|
|
`t`.`year`,
|
|
v.importe + v.recargo as total
|
|
FROM
|
|
bs.ventas v
|
|
JOIN
|
|
vn2008.Movimientos m on m.Id_Movimiento = v.Id_Movimiento
|
|
JOIN
|
|
vn2008.time t on t.date = v.fecha
|
|
WHERE
|
|
fecha > CURDATE() + INTERVAL -(1) YEAR
|
|
ORDER BY fecha) `s`
|
|
GROUP BY `s`.`Id_Cliente`;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `regularidad` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `regularidad`()
|
|
BEGIN
|
|
|
|
select Id_Cliente, Meses, IF(Antiguedad = 13,12,Antiguedad) , Meses / IF(Antiguedad = 13,12,Antiguedad) as Regularidad from (
|
|
SELECT Id_Cliente, count(*) as Meses, FLOOR(DATEDIFF('2012-07-31', IF(Created < '2011-08-01','2011-08-01', Created)) / 30) +1 as Antiguedad from
|
|
(
|
|
|
|
SELECT DISTINCT Id_Cliente, Periodo(Fecha) as periodo from Facturas
|
|
where Fecha between '2011-08-01' AND '2012-07-31'
|
|
|
|
) sub
|
|
|
|
join Clientes using(Id_Cliente)
|
|
where Created <= '2012-07-31'
|
|
|
|
group by Id_Cliente
|
|
having Antiguedad > 0
|
|
|
|
) sub44
|
|
order by Antiguedad ;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `rotacion_update` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `rotacion_update`()
|
|
BEGIN
|
|
|
|
-- control
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('bi.rotation_update');
|
|
|
|
-- Sólo hace la consulta gorda los sábados de madrugada. Necesita casi dos horas.
|
|
|
|
call rotacion_update_manual(1, 999999, TIMESTAMPADD(WEEK,-1,CURDATE()), CURDATE()) ;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `rotacion_update_manual` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `rotacion_update_manual`(IN intART_DESDE INT, IN intART_HASTA INT, IN datSTART DATE, IN datEND DATE)
|
|
BEGIN
|
|
|
|
|
|
DECLARE intLAPSO INT DEFAULT DATEDIFF(datEND,datSTART );
|
|
|
|
|
|
|
|
|
|
REPLACE bi.rotacion(Id_Article,warehouse_id,total,rotacion)
|
|
SELECT Id_Article, warehouse_id, Total, round((sum(Saldo_Ponderado)/Total),2) as rotacion -- round(avg(Saldo_Ponderado) / (Total / intLAPSO),1) as Rotacion
|
|
FROM
|
|
(
|
|
SELECT Id_Article, warehouse_id,
|
|
@intervalo:= IF(warehouse_id = @wh AND Id_Article = @art , DATEDIFF(Fecha, @fec),1) as Dias,
|
|
IF(warehouse_id = @wh AND Id_Article = @art , IF(@sd < 0,0,@sd) * @intervalo, IF(Unidades<0,0,Unidades)) as Saldo_Ponderado,
|
|
IF(warehouse_id = @wh AND Id_Article = @art , @sd:= @sd + Unidades, @sd:= Unidades) as Saldo
|
|
|
|
, @fec:= Fecha, @art:= Id_Article, @wh:= warehouse_id
|
|
FROM
|
|
(
|
|
SELECT Id_Article, landing as Fecha, sum(Cantidad) as Unidades, warehouse_id, @fec:= datSTART, @art := 0, @d := 0, @sd:= 0, @wh := 0, @intervalo := 0
|
|
FROM
|
|
(
|
|
SELECT Id_Article, landing, Cantidad, warehouse_id
|
|
FROM vn2008.Compres C
|
|
JOIN vn2008.Entradas E using(Id_Entrada)
|
|
JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos tp ON tp.tipo_id = A.tipo_id
|
|
LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id
|
|
JOIN vn2008.travel tr on tr.id = travel_id
|
|
JOIN vn2008.warehouse w on w.id = tr.warehouse_id
|
|
WHERE landing between datSTART and datEND
|
|
AND Id_Article between intART_DESDE and intART_HASTA
|
|
AND Id_Proveedor <> 4
|
|
AND r.display <> 0
|
|
AND NOT E.Inventario
|
|
AND NOT fuente
|
|
AND NOT redada
|
|
UNION ALL
|
|
SELECT Id_Article, shipment, -Cantidad, warehouse_id_out
|
|
FROM vn2008.Compres C
|
|
JOIN vn2008.Entradas E using(Id_Entrada)
|
|
JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos tp ON tp.tipo_id = A.tipo_id
|
|
LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id
|
|
JOIN vn2008.travel tr on tr.id = travel_id
|
|
JOIN vn2008.warehouse w on w.id = tr.warehouse_id_out
|
|
WHERE shipment between datSTART and datEND
|
|
AND Id_Article between intART_DESDE and intART_HASTA
|
|
AND Id_Proveedor <> 4
|
|
AND r.display <> 0
|
|
AND NOT fuente
|
|
AND NOT E.Inventario
|
|
AND NOT redada
|
|
UNION ALL
|
|
SELECT Id_Article, date(Fecha), -Cantidad, warehouse_id
|
|
FROM vn2008.Movimientos M
|
|
JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos tp ON tp.tipo_id = A.tipo_id
|
|
LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id
|
|
JOIN vn2008.Tickets t using(Id_Ticket)
|
|
JOIN vn2008.warehouse w on w.id = t.warehouse_id
|
|
WHERE Fecha between datSTART and datEND
|
|
AND r.display <> 0
|
|
AND NOT fuente
|
|
AND Id_Article between intART_DESDE and intART_HASTA
|
|
AND Id_Cliente NOT IN (2066,2067,2068)
|
|
) sub
|
|
GROUP BY Id_Article, warehouse_id, Fecha
|
|
) sub2
|
|
) sub4
|
|
JOIN
|
|
(
|
|
SELECT Id_Article, sum(Cantidad) as Total, warehouse_id
|
|
FROM vn2008.Compres C
|
|
JOIN vn2008.Entradas E using(Id_Entrada)
|
|
JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos tp ON tp.tipo_id = A.tipo_id
|
|
LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id
|
|
JOIN vn2008.travel tr on tr.id = travel_id
|
|
JOIN vn2008.warehouse w on w.id = tr.warehouse_id
|
|
WHERE landing between datSTART and datEND
|
|
AND Id_Article between intART_DESDE and intART_HASTA
|
|
AND Id_Proveedor <> 4
|
|
AND NOT E.Inventario
|
|
AND r.display <> 0
|
|
AND NOT redada
|
|
AND NOT fuente
|
|
GROUP BY Id_Article, warehouse_id
|
|
) sub3 using(Id_Article, warehouse_id)
|
|
|
|
GROUP BY Id_Article, warehouse_id;
|
|
|
|
|
|
|
|
CALL vn2008.item_last_buy_(NULL,datSTART);
|
|
|
|
-- Añadimos el volumen por unidad de venta
|
|
update bi.rotacion r
|
|
JOIN vn2008.t_item_last_buy b ON r.Id_Article = b.item_id AND r.warehouse_id = b.warehouse_id
|
|
join vn2008.Compres ON Id_Compra = b.buy_id
|
|
set cm3 = vn2008.cm3_2(Id_Cubo, r.Id_Article) / Packing
|
|
where r.Id_Article between intART_DESDE and intART_HASTA;
|
|
|
|
-- Añadimos el coste de almacenamiento y manipulacion
|
|
UPDATE bi.rotacion
|
|
JOIN (
|
|
SELECT warehouse_id, sum(total*rotacion*cm3) as Operacion
|
|
FROM bi.rotacion
|
|
WHERE Id_Article between intART_DESDE and intART_HASTA
|
|
GROUP BY warehouse_id
|
|
) sub using(warehouse_id)
|
|
|
|
JOIN (
|
|
SELECT warehouse_id, sum(Valor) as Coste_Auxiliar
|
|
FROM bi.tarifa_warehouse
|
|
WHERE Id_Premisa = 1
|
|
GROUP BY warehouse_id
|
|
) sub2 using(warehouse_id)
|
|
|
|
JOIN (
|
|
SELECT warehouse_id, sum(Valor) as Coste_Operativo
|
|
FROM bi.tarifa_warehouse
|
|
WHERE Id_Premisa IN (2,3)
|
|
GROUP BY warehouse_id
|
|
) sub3 using(warehouse_id)
|
|
|
|
JOIN (
|
|
SELECT warehouse_id, sum(Valor) as Coste_Manipulacion
|
|
FROM bi.tarifa_warehouse
|
|
WHERE Id_Premisa = 4
|
|
GROUP BY warehouse_id
|
|
) sub4 using(warehouse_id)
|
|
|
|
SET auxiliar = if(rotacion < 0,0,round(rotacion *cm3 * Coste_Auxiliar / Operacion,4))
|
|
,almacenaje = if(rotacion < 0,0,round(rotacion *cm3 * Coste_Operativo / Operacion,4))
|
|
, manipulacion = if(rotacion < 0,0,round(rotacion *cm3 * Coste_Manipulacion / Operacion,4))
|
|
WHERE Id_Article between intART_DESDE and intART_HASTA;
|
|
|
|
|
|
-- Añadimos todos los productos de los que no tenemos histórico, con la media de su familia como valor por defecto
|
|
|
|
INSERT INTO bi.rotacion(Id_Article, warehouse_id, rotacion, cm3, almacenaje, manipulacion, auxiliar, mermas)
|
|
SELECT a.Id_Article, warehouse_id, rotacion_m, cm3_m, alm_m, man_m, aux_m, merm_m
|
|
FROM vn2008.Articles a
|
|
JOIN (SELECT tipo_id, warehouse_id, Id_Tipo, avg(rotacion) rotacion_m, avg(cm3) cm3_m, avg(almacenaje) alm_m, avg(manipulacion) man_m
|
|
, avg(auxiliar) aux_m, avg(mermas) merm_m
|
|
from bi.rotacion
|
|
join vn2008.Articles a using(Id_Article)
|
|
join vn2008.Tipos tp using(tipo_id)
|
|
group by tipo_id, warehouse_id) sub using(tipo_id)
|
|
|
|
WHERE a.Id_Article between intART_DESDE and intART_HASTA
|
|
ON DUPLICATE KEY UPDATE rotacion = rotacion;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `rotacion_update_manual_PCA` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `rotacion_update_manual_PCA`(IN datSTART DATE, IN datEND DATE)
|
|
BEGIN
|
|
|
|
|
|
DECLARE intLAPSO INT DEFAULT DATEDIFF(datEND,datSTART );
|
|
DECLARE intART_DESDE BIGINT DEFAULT 1;
|
|
DECLARE intART_HASTA BIGINT DEFAULT 100;
|
|
|
|
WHILE intART_HASTA < 999999 DO
|
|
|
|
IF intART_HASTA MOD 1000 = 0 THEN
|
|
|
|
SELECT intART_HASTA;
|
|
|
|
END IF;
|
|
|
|
REPLACE bi.rotacion(Id_Article,warehouse_id,total,rotacion)
|
|
SELECT Id_Article, warehouse_id, Total, round((sum(Saldo_Ponderado)/Total),2) as rotacion -- round(avg(Saldo_Ponderado) / (Total / intLAPSO),1) as Rotacion
|
|
FROM
|
|
(
|
|
SELECT Id_Article, warehouse_id,
|
|
@intervalo:= IF(warehouse_id = @wh AND Id_Article = @art , DATEDIFF(Fecha, @fec),1) as Dias,
|
|
IF(warehouse_id = @wh AND Id_Article = @art , IF(@sd < 0,0,@sd) * @intervalo, IF(Unidades<0,0,Unidades)) as Saldo_Ponderado,
|
|
IF(warehouse_id = @wh AND Id_Article = @art , @sd:= @sd + Unidades, @sd:= Unidades) as Saldo
|
|
|
|
, @fec:= Fecha, @art:= Id_Article, @wh:= warehouse_id
|
|
FROM
|
|
(
|
|
SELECT Id_Article, landing as Fecha, sum(Cantidad) as Unidades, warehouse_id, @fec:= datSTART, @art := 0, @d := 0, @sd:= 0, @wh := 0, @intervalo := 0
|
|
FROM
|
|
(
|
|
SELECT Id_Article, landing, Cantidad, warehouse_id
|
|
FROM vn2008.Compres C
|
|
JOIN vn2008.Entradas E using(Id_Entrada)
|
|
JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos using(tipo_id)
|
|
JOIN vn2008.travel tr on tr.id = travel_id
|
|
JOIN vn2008.warehouse w on w.id = tr.warehouse_id
|
|
WHERE landing between datSTART and datEND
|
|
AND warehouse_id = 44
|
|
AND Id_Article between intART_DESDE and intART_HASTA
|
|
AND Id_Proveedor <> 4
|
|
AND reino_id IN (3,4)
|
|
AND NOT E.Inventario
|
|
AND NOT fuente
|
|
AND NOT redada
|
|
UNION ALL
|
|
SELECT Id_Article, shipment, -Cantidad, warehouse_id_out
|
|
FROM vn2008.Compres C
|
|
JOIN vn2008.Entradas E using(Id_Entrada)
|
|
JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos using(tipo_id)
|
|
JOIN vn2008.travel tr on tr.id = travel_id
|
|
JOIN vn2008.warehouse w on w.id = tr.warehouse_id_out
|
|
WHERE shipment between datSTART and datEND
|
|
AND warehouse_id_out = 44
|
|
AND Id_Article between intART_DESDE and intART_HASTA
|
|
AND Id_Proveedor <> 4
|
|
AND reino_id IN (3,4)
|
|
AND NOT fuente
|
|
AND NOT E.Inventario
|
|
AND NOT redada
|
|
UNION ALL
|
|
SELECT Id_Article, date(Fecha), -Cantidad, warehouse_id
|
|
FROM vn2008.Movimientos M
|
|
JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos using(tipo_id)
|
|
JOIN vn2008.Tickets t using(Id_Ticket)
|
|
JOIN vn2008.warehouse w on w.id = t.warehouse_id
|
|
WHERE Fecha between datSTART and datEND
|
|
AND t.warehouse_id = 44
|
|
AND reino_id IN (3,4)
|
|
AND NOT fuente
|
|
AND Id_Article between intART_DESDE and intART_HASTA
|
|
AND Id_Cliente NOT IN (2066,2067,2068)
|
|
) sub
|
|
GROUP BY Id_Article, warehouse_id, Fecha
|
|
) sub2
|
|
) sub4
|
|
JOIN
|
|
(
|
|
SELECT Id_Article, sum(Cantidad) as Total, warehouse_id
|
|
FROM vn2008.Compres C
|
|
JOIN vn2008.Entradas E using(Id_Entrada)
|
|
JOIN vn2008.Articles A using(Id_Article)
|
|
JOIN vn2008.Tipos using(tipo_id)
|
|
JOIN vn2008.travel tr on tr.id = travel_id
|
|
JOIN vn2008.warehouse w on w.id = tr.warehouse_id
|
|
WHERE landing between datSTART and datEND
|
|
AND warehouse_id = 44
|
|
AND Id_Article between intART_DESDE and intART_HASTA
|
|
AND Id_Proveedor <> 4
|
|
AND NOT E.Inventario
|
|
AND reino_id IN (3,4)
|
|
AND NOT redada
|
|
AND NOT fuente
|
|
GROUP BY Id_Article, warehouse_id
|
|
) sub3 using(Id_Article, warehouse_id)
|
|
GROUP BY Id_Article, warehouse_id;
|
|
|
|
SET intART_DESDE = intART_DESDE + 100;
|
|
SET intART_DESDE = intART_HASTA + 100;
|
|
|
|
END WHILE;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `rotacion_volumen_update` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`z-developer`@`%` PROCEDURE `rotacion_volumen_update`()
|
|
BEGIN
|
|
|
|
CALL vn2008.item_last_buy_(NULL,curdate());
|
|
|
|
-- Añadimos el volumen por unidad de venta
|
|
update bi.rotacion r
|
|
JOIN vn2008.t_item_last_buy b ON r.Id_Article = b.item_id AND r.warehouse_id = b.warehouse_id
|
|
join vn2008.Compres ON Id_Compra = b.buy_id
|
|
set cm3 = vn2008.cm3_2(Id_Cubo, r.Id_Article) / Packing;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `rutas_m3_add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `rutas_m3_add`()
|
|
BEGIN
|
|
|
|
DECLARE datSTART DATE DEFAULT TIMESTAMPADD(DAY,-90,CURDATE());
|
|
DECLARE datEND DATE DEFAULT CURDATE();
|
|
DECLARE datFEC DATE;
|
|
|
|
IF hour(now()) between 5 and 24 then
|
|
|
|
SET datSTART = CURDATE();
|
|
SET datEND = TIMESTAMPADD(DAY,1,CURDATE());
|
|
|
|
end if;
|
|
|
|
SET datFEC = datSTART;
|
|
|
|
CALL vn2008.item_last_buy_(NULL,CURDATE());
|
|
WHILE datFEC <= datEND DO
|
|
|
|
UPDATE vn2008.Rutas R
|
|
JOIN (SELECT R.Id_Ruta, sum(Cantidad * vn2008.cm3_unidad(b.buy_id)) / 1000000 as m3
|
|
from vn2008.Rutas R
|
|
join vn2008.Tickets t using(Id_Ruta)
|
|
join vn2008.Movimientos m using(Id_Ticket)
|
|
join vn2008.t_item_last_buy b ON Id_Article = b.item_id AND b.warehouse_id = t.warehouse_id
|
|
where R.Fecha = datFEC AND R.m3 IS NULL
|
|
group by R.Id_Ruta
|
|
) t using(Id_Ruta)
|
|
SET R.m3 = t.m3
|
|
WHERE R.m3 IS NULL;
|
|
|
|
SET datFEC = TIMESTAMPADD(DAY,1,datFEC);
|
|
|
|
END WHILE;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ticket_add2kk` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ticket_add2kk`(intNUMDAYS INTEGER)
|
|
BEGIN
|
|
|
|
DECLARE datSTART,datEND DATETIME;
|
|
-- Seleccionamos los tickets a tratar añadiendolos a la tabla bi.ticket
|
|
|
|
SET @@session.max_sp_recursion_depth=250; -- Habilito la recursión en mysql hasta un límite de 250.
|
|
SET datSTART = TIMESTAMPADD(DAY, -intNUMDAYS, CURDATE());
|
|
|
|
|
|
SET datEND = vn2008.DAYEND(datSTART);
|
|
|
|
|
|
|
|
|
|
-- Actualiza el valor de costfixat en Movimientos a efectos estadisticos
|
|
update vn2008.Movimientos m
|
|
join
|
|
(
|
|
select Id_Movimiento, round(IFNULL(sum(Valor) , IFNULL( Preu * (100 - m.Descuento) /100,0 ) ),2) as Cost
|
|
from vn2008.Tickets t
|
|
join vn2008.Movimientos m using(Id_Ticket)
|
|
left join vn2008.Movimientos_componentes mc using(Id_Movimiento)
|
|
join bi.tarifa_componentes tc using(Id_Componente)
|
|
join bi.tarifa_componentes_series tcs on tcs.tarifa_componentes_series_id = tc.tarifa_componentes_series_id AND tcs.base
|
|
where t.Fecha between datSTART AND datEND
|
|
group by Id_Movimiento
|
|
) sub using(Id_Movimiento)
|
|
set CostFixat = Cost;
|
|
|
|
|
|
|
|
|
|
REPLACE INTO bi.ticket(Id_Ticket,Id_Cliente,`date`, tipo_id, `year`,`week`,`month`,`day`,`view`,amount,Id_Trabajador,Id_propietario )
|
|
SELECT t.Id_Ticket,c.Id_Cliente,t.Fecha `date`,tipo_id, year(Fecha) as `year`, vn2008.vnweek(Fecha) as `week`,
|
|
month(Fecha) as `month`,vn2008.vnday(Fecha) as `day`, A.Vista `view`,
|
|
IFNULL( round( sum(cantidad * Preu * (100 - m.Descuento)/100) ,2) ,0) as amount,
|
|
c.Id_Trabajador, c.Id_Trabajador
|
|
FROM vn2008.Tickets t
|
|
JOIN vn2008.Consignatarios cs using(Id_Consigna)
|
|
JOIN vn2008.warehouse W ON W.id = t.warehouse_id
|
|
INNER JOIN vn2008.Clientes c on cs.Id_Cliente = c.Id_Cliente
|
|
INNER JOIN vn2008.Movimientos m USING(Id_Ticket)
|
|
INNER JOIN vn2008.Articles USING(Id_Article)
|
|
INNER JOIN vn2008.Agencias A on A.Id_Agencia = t.Id_Agencia
|
|
INNER JOIN vn2008.Tipos TP USING(tipo_id)
|
|
WHERE Fecha BETWEEN datSTART AND datEND
|
|
AND NOT W.fuente
|
|
AND c.`Real`
|
|
AND (reino_id <> 6 OR m.Id_Article IN (95,98))
|
|
GROUP BY t.Id_Ticket,tipo_id ;
|
|
|
|
/*
|
|
UPDATE bi.ticket
|
|
JOIN vn2008.Tickets using(Id_Ticket)
|
|
JOIN vn2008.Agencias using(Id_Agencia)
|
|
JOIN vn2008.agency_warehouse aw using(agency_id,warehouse_id)
|
|
SET `view` = aw.Vista
|
|
WHERE Tickets.Fecha BETWEEN datSTART AND datEND;
|
|
*/
|
|
|
|
|
|
|
|
IF (intNUMDAYS>0) THEN
|
|
CALL `bi`.`ticket_add2` (intNUMDAYS-1);
|
|
END IF;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ticket_addkk` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ticket_addkk`(intNUMDAYS INTEGER)
|
|
BEGIN
|
|
|
|
DECLARE datSTART DATETIME;
|
|
|
|
IF (intNUMDAYS > 0) THEN
|
|
SET datSTART = TIMESTAMPADD(DAY, -intNUMDAYS, CURDATE());
|
|
DELETE FROM bi.ticket where `date` >= datSTART ;
|
|
CALL `bi`.`ticket_add2` (intNUMDAYS);
|
|
DELETE FROM bi.ticket where `date` < '2001-01-01';
|
|
END IF;
|
|
|
|
UPDATE bi.ticket bt
|
|
JOIN vn2008.Tickets USING(Id_Ticket)
|
|
JOIN vn2008.Consignatarios C USING(Id_Consigna)
|
|
SET bt.Id_Cliente = C.Id_Cliente
|
|
, bt.Id_Trabajador = @idT := vn2008.Averiguar_ComercialCliente_Id(C.Id_Cliente,bt.date)
|
|
, bt.Id_propietario = @idT
|
|
WHERE Tickets.Id_Cliente = 31 AND bt.date >= datSTART;
|
|
|
|
|
|
-- Almacena los tickets que comisionan, para consultas rapidas
|
|
|
|
truncate table bi.f_tvc;
|
|
|
|
insert into bi.f_tvc
|
|
select Id_Ticket
|
|
from vn2008.Tickets t
|
|
join vn2008.Consignatarios cs using(Id_Consigna)
|
|
join vn2008.Clientes c on c.Id_Cliente = cs.Id_Cliente
|
|
join vn2008.warehouse w on w.id = t.warehouse_id
|
|
where c.`Real` = TRUE
|
|
and w.comisionantes = TRUE;
|
|
|
|
|
|
|
|
|
|
-- Quita las horas de los tickets del mes anterior
|
|
IF DAY(CURDATE()) = 15 THEN
|
|
update vn2008.Tickets
|
|
set Fecha = date(Fecha)
|
|
where Fecha between TIMESTAMPADD(DAY,-46,CURDATE()) and TIMESTAMPADD(DAY, -1 - DAY(CURDATE()), CURDATE());
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ticket_add_bydaykk` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ticket_add_bydaykk`(datFEC DATE)
|
|
BEGIN
|
|
|
|
DECLARE datSTART DATETIME;
|
|
DECLARE datEND DATETIME;
|
|
|
|
-- Seleccionamos los tickets a tratar añadiendolos a la tabla bi.ticket
|
|
|
|
SET @@session.max_sp_recursion_depth=2500; -- Habilito la recursión en mysql hasta un límite de 2500.
|
|
|
|
SET datSTART = DATE(datFEC);
|
|
SET datEND = TIMESTAMPADD(DAY,30,datSTART);
|
|
|
|
DELETE FROM bi.ticket WHERE `date` between datSTART and datEND;
|
|
|
|
INSERT INTO bi.ticket(Id_Ticket,`date`, tipo_id, `year`,`week`,`month`,`view`,amount,Id_Trabajador, Id_Cliente, Id_Propietario )
|
|
SELECT t.Id_Ticket,t.Fecha `date`,tipo_id, vn2008.vnyear(Fecha) as `year`, vn2008.vnweek(Fecha) as `week`,
|
|
vn2008.vnmonth(Fecha) as `month`, A.Vista `view`, IFNULL(round(sum(cantidad * preu * (100 - m.Descuento)/100),2),0) as amount,
|
|
c.Id_Trabajador, c.Id_Cliente, ifnull(c.Id_Trabajador,20)
|
|
FROM vn2008.Tickets t
|
|
JOIN vn2008.Consignatarios cs using(Id_Consigna)
|
|
JOIN vn2008.warehouse W ON W.id = t.warehouse_id
|
|
INNER JOIN vn2008.Clientes c on c.Id_Cliente = cs.Id_Cliente
|
|
INNER JOIN vn2008.Movimientos m USING(Id_Ticket)
|
|
INNER JOIN vn2008.Articles USING(Id_Article)
|
|
INNER JOIN vn2008.Agencias A on A.Id_Agencia = t.Id_Agencia
|
|
INNER JOIN vn2008.Tipos TP USING(tipo_id)
|
|
LEFT JOIN vn2008.reinos r ON r.id = TP.reino_id
|
|
WHERE Fecha >= datSTART
|
|
AND Fecha < datEND
|
|
AND NOT W.fuente
|
|
AND (invoice or t.Id_Cliente in (5,31))
|
|
AND r.display <> 0
|
|
GROUP BY t.Id_Ticket,tipo_id
|
|
ON DUPLICATE KEY UPDATE amount = amount,
|
|
`view` = `view`,
|
|
`date` = `date`,
|
|
`week` = `week`,
|
|
`year` = `year`,
|
|
`month` = `month`,
|
|
tipo_id = tipo_id,
|
|
Id_Trabajador = Id_Trabajador,
|
|
Id_Cliente = Id_Cliente,
|
|
Id_Propietario = ifnull(Id_Trabajador,20);
|
|
|
|
UPDATE bi.ticket
|
|
JOIN vn2008.Tickets using(Id_Ticket)
|
|
JOIN vn2008.Agencias using(Id_Agencia)
|
|
JOIN vn2008.agency_warehouse aw using(agency_id,warehouse_id)
|
|
SET `view` = aw.Vista
|
|
WHERE Tickets.Fecha BETWEEN datSTART AND datEND;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `Ultima_Accion` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `Ultima_Accion`()
|
|
BEGIN
|
|
|
|
REPLACE INTO bi.lastaction(Id_Cliente, Cliente, Ultima_accion, Comercial)
|
|
|
|
SELECT Id_Cliente, Cliente, Ultima_accion, Comercial
|
|
FROM vn2008.Clientes
|
|
JOIN
|
|
(
|
|
SELECT Id_Cliente, MAX(calldate) as Ultima_accion, vn2008.Averiguar_ComercialCliente(Id_Cliente, CURDATE()) as Comercial
|
|
FROM
|
|
(
|
|
SELECT Id_Cliente, calldate
|
|
FROM vn2008.cdr
|
|
JOIN vn2008.Contactos CT on CT.Telefono = dst
|
|
JOIN vn2008.Relaciones using(Id_Contacto)
|
|
WHERE Id_Cliente IS NOT NULL
|
|
AND duration > 30
|
|
UNION ALL
|
|
SELECT Id_Cliente, calldate
|
|
FROM vn2008.cdr
|
|
JOIN vn2008.Contactos CT on CT.Movil = dst
|
|
JOIN vn2008.Relaciones using(Id_Contacto)
|
|
WHERE Id_Cliente IS NOT NULL
|
|
AND duration > 30
|
|
UNION ALL
|
|
SELECT Id_Cliente, calldate
|
|
FROM vn2008.cdr
|
|
JOIN vn2008.Clientes CT on CT.Telefono = dst
|
|
WHERE duration > 30
|
|
UNION ALL
|
|
SELECT Id_Cliente, calldate
|
|
FROM vn2008.cdr
|
|
JOIN vn2008.Clientes CT on CT.Movil = dst
|
|
WHERE duration > 30
|
|
UNION ALL
|
|
SELECT C.Id_Cliente, Fecha
|
|
FROM vn2008.Tickets JOIN vn2008.Consignatarios C using(Id_Consigna)
|
|
) sub
|
|
GROUP BY Id_Cliente ) sub2 USING(Id_Cliente);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `Velocity_Add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `Velocity_Add`()
|
|
BEGIN
|
|
|
|
DECLARE bol_EXISTS BOOL;
|
|
DECLARE datMAX DATETIME;
|
|
DECLARE v_buffer VARCHAR(11);
|
|
DECLARE v_sql VARCHAR(255);
|
|
|
|
|
|
|
|
SELECT MAX(Fecha) INTO datMAX FROM bi.Velocity;
|
|
|
|
IF Date(datMAX) = CURDATE() AND hour(datMAX) > hour(now()) THEN
|
|
|
|
|
|
SET v_buffer = vn2008.buffer_name(CURDATE(),1);
|
|
|
|
SELECT count(*) INTO bol_EXISTS FROM information_schema.`TABLES`
|
|
WHERE TABLE_NAME = CONVERT(v_buffer using utf8) collate utf8_general_ci;
|
|
|
|
IF bol_EXISTS THEN
|
|
|
|
SET v_sql = sql_printf (
|
|
'INSERT INTO bi.Velocity(tipo_id, Fecha, Disponible, Visible)
|
|
SELECT A.tipo_id, NOW(), sum(avalaible), sum(visible)
|
|
FROM vn2008.%t b
|
|
JOIN Articles A ON b.item_id = A.Id_Article GROUP BY tipo_id;
|
|
',
|
|
v_buffer
|
|
);
|
|
|
|
|
|
CALL util.exec (v_sql);
|
|
|
|
END IF;
|
|
|
|
END IF;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
--
|
|
-- Current Database: `pbx`
|
|
--
|
|
|
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `pbx` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
|
|
|
|
USE `pbx`;
|
|
|
|
--
|
|
-- Table structure for table `blacklist`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `blacklist`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `blacklist` (
|
|
`phone` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`phone`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Hangup input calls from this list';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`blacklistBeforeInsert`
|
|
BEFORE INSERT ON `blacklist` FOR EACH ROW
|
|
BEGIN
|
|
CALL phoneIsValid (NEW.phone);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`blacklistBerforeUpdate`
|
|
BEFORE UPDATE ON `blacklist` FOR EACH ROW
|
|
BEGIN
|
|
CALL phoneIsValid (NEW.phone);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
|
|
--
|
|
-- Table structure for table `cdr`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `cdr`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `cdr` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`call_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`clid` varchar(80) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`src` varchar(80) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`dst` varchar(80) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`dcontext` varchar(80) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`channel` varchar(80) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`dst_channel` varchar(80) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`last_app` varchar(80) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`last_data` varchar(80) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`duration` int(11) NOT NULL DEFAULT '0',
|
|
`billsec` int(11) NOT NULL DEFAULT '0',
|
|
`disposition` varchar(45) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`ama_flags` int(11) NOT NULL DEFAULT '0',
|
|
`account_code` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`unique_id` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
`user_field` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
|
|
PRIMARY KEY (`id`),
|
|
KEY `calldate` (`call_date`),
|
|
KEY `dst` (`dst`),
|
|
KEY `accountcode` (`account_code`),
|
|
KEY `dstchannel` (`dst_channel`),
|
|
KEY `disposition` (`disposition`),
|
|
KEY `src` (`src`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=172800 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `cdrConf`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `cdrConf`;
|
|
/*!50001 DROP VIEW IF EXISTS `cdrConf`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `cdrConf` AS SELECT
|
|
1 AS `calldate`,
|
|
1 AS `clid`,
|
|
1 AS `src`,
|
|
1 AS `dst`,
|
|
1 AS `dcontext`,
|
|
1 AS `channel`,
|
|
1 AS `dstchannel`,
|
|
1 AS `lastapp`,
|
|
1 AS `lastdata`,
|
|
1 AS `duration`,
|
|
1 AS `billsec`,
|
|
1 AS `disposition`,
|
|
1 AS `amaflags`,
|
|
1 AS `accountcode`,
|
|
1 AS `uniqueid`,
|
|
1 AS `userfield`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `config`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `config`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `config` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`sundayFestive` tinyint(4) NOT NULL,
|
|
`countryPrefix` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global configuration';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `followme`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `followme`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `followme` (
|
|
`extension` varchar(128) CHARACTER SET utf8 NOT NULL,
|
|
`phone` varchar(20) CHARACTER SET utf8 NOT NULL,
|
|
PRIMARY KEY (`extension`),
|
|
CONSTRAINT `followme_ibfk_1` FOREIGN KEY (`extension`) REFERENCES `sip` (`extension`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`followmeBeforeInsert`
|
|
BEFORE INSERT ON `followme` FOR EACH ROW
|
|
BEGIN
|
|
CALL pbx.phoneIsValid (NEW.phone);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`followmeBeforeUpdate`
|
|
BEFORE UPDATE ON `followme` FOR EACH ROW
|
|
BEGIN
|
|
CALL pbx.phoneIsValid (NEW.phone);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
|
|
--
|
|
-- Temporary view structure for view `followmeConf`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `followmeConf`;
|
|
/*!50001 DROP VIEW IF EXISTS `followmeConf`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `followmeConf` AS SELECT
|
|
1 AS `name`,
|
|
1 AS `music`,
|
|
1 AS `context`,
|
|
1 AS `takecall`,
|
|
1 AS `declinecall`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `followmeConfig`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `followmeConfig`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `followmeConfig` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`music` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
|
|
`context` varchar(50) CHARACTER SET utf8 NOT NULL,
|
|
`takeCall` char(1) CHARACTER SET utf8 NOT NULL,
|
|
`declineCall` char(1) CHARACTER SET utf8 NOT NULL,
|
|
`timeout` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `followmeNumberConf`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `followmeNumberConf`;
|
|
/*!50001 DROP VIEW IF EXISTS `followmeNumberConf`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `followmeNumberConf` AS SELECT
|
|
1 AS `name`,
|
|
1 AS `ordinal`,
|
|
1 AS `phonenumber`,
|
|
1 AS `timeout`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `queue`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `queue`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `queue` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`description` varchar(128) CHARACTER SET utf8 NOT NULL,
|
|
`name` varchar(128) CHARACTER SET utf8 NOT NULL,
|
|
`config` int(10) unsigned NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `name` (`name`),
|
|
UNIQUE KEY `description` (`description`),
|
|
KEY `config` (`config`),
|
|
CONSTRAINT `queue_ibfk_1` FOREIGN KEY (`config`) REFERENCES `queueConfig` (`id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Queues';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`queueBeforeInsert`
|
|
BEFORE INSERT ON `queue` FOR EACH ROW
|
|
BEGIN
|
|
CALL queueIsValid (NEW.name);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`queueBeforeUpdate`
|
|
BEFORE UPDATE ON `queue` FOR EACH ROW
|
|
BEGIN
|
|
CALL queueIsValid (NEW.name);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
|
|
--
|
|
-- Temporary view structure for view `queueConf`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `queueConf`;
|
|
/*!50001 DROP VIEW IF EXISTS `queueConf`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `queueConf` AS SELECT
|
|
1 AS `name`,
|
|
1 AS `strategy`,
|
|
1 AS `timeout`,
|
|
1 AS `retry`,
|
|
1 AS `weight`,
|
|
1 AS `maxlen`,
|
|
1 AS `ringinuse`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `queueConfig`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `queueConfig`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `queueConfig` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`strategy` varchar(128) CHARACTER SET utf8 NOT NULL,
|
|
`timeout` int(10) unsigned NOT NULL,
|
|
`retry` int(10) unsigned NOT NULL,
|
|
`weight` int(10) unsigned NOT NULL,
|
|
`maxLen` int(10) unsigned NOT NULL,
|
|
`ringInUse` tinyint(4) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Default values for queues configuration';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `queueMember`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `queueMember`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `queueMember` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`queue` varchar(128) CHARACTER SET utf8 NOT NULL,
|
|
`extension` varchar(128) CHARACTER SET utf8 NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `queue` (`queue`,`extension`),
|
|
KEY `extension` (`extension`),
|
|
CONSTRAINT `queueMember_ibfk_1` FOREIGN KEY (`queue`) REFERENCES `queue` (`name`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `queueMember_ibfk_2` FOREIGN KEY (`extension`) REFERENCES `sip` (`extension`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=723 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Queue members';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `queueMemberConf`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `queueMemberConf`;
|
|
/*!50001 DROP VIEW IF EXISTS `queueMemberConf`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `queueMemberConf` AS SELECT
|
|
1 AS `uniqueid`,
|
|
1 AS `queue_name`,
|
|
1 AS `interface`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `queuePhone`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `queuePhone`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `queuePhone` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`queue` varchar(128) CHARACTER SET utf8 NOT NULL,
|
|
`phone` varchar(128) CHARACTER SET utf8 NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `queue` (`queue`,`phone`),
|
|
CONSTRAINT `queuePhone_ibfk_1` FOREIGN KEY (`queue`) REFERENCES `queue` (`name`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1003 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`queuePhoneBeforeInsert`
|
|
BEFORE INSERT ON `queuePhone` FOR EACH ROW
|
|
BEGIN
|
|
CALL phoneIsValid (NEW.phone);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`queuePhoneBeforeUpdate`
|
|
BEFORE UPDATE ON `queuePhone` FOR EACH ROW
|
|
BEGIN
|
|
CALL phoneIsValid (NEW.phone);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
|
|
--
|
|
-- Table structure for table `schedule`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `schedule`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `schedule` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`weekDay` tinyint(3) unsigned NOT NULL COMMENT '0 = Monday, 6 = Sunday',
|
|
`timeStart` time NOT NULL,
|
|
`timeEnd` time NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `sip`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `sip`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `sip` (
|
|
`user_id` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`extension` varchar(128) CHARACTER SET utf8 NOT NULL,
|
|
`secret` varchar(80) CHARACTER SET utf8 NOT NULL,
|
|
`caller_id` varchar(80) CHARACTER SET utf8 NOT NULL,
|
|
PRIMARY KEY (`user_id`),
|
|
UNIQUE KEY `extension` (`extension`),
|
|
CONSTRAINT `sip_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='SIP accounts';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`sipBeforeInsert`
|
|
BEFORE INSERT ON `sip` FOR EACH ROW
|
|
BEGIN
|
|
CALL extensionIsValid (NEW.extension);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `sipAfterInsert`
|
|
AFTER INSERT ON `sip` FOR EACH ROW
|
|
BEGIN
|
|
INSERT INTO sipReg (userId) VALUES (NEW.user_id);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `pbx`.`sipBeforeUpdate`
|
|
BEFORE UPDATE ON `sip` FOR EACH ROW
|
|
BEGIN
|
|
CALL extensionIsValid (NEW.extension);
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
|
|
--
|
|
-- Temporary view structure for view `sipConf`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `sipConf`;
|
|
/*!50001 DROP VIEW IF EXISTS `sipConf`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `sipConf` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `secret`,
|
|
1 AS `callerid`,
|
|
1 AS `host`,
|
|
1 AS `deny`,
|
|
1 AS `permit`,
|
|
1 AS `type`,
|
|
1 AS `context`,
|
|
1 AS `incominglimit`,
|
|
1 AS `pickupgroup`,
|
|
1 AS `careinvite`,
|
|
1 AS `ipaddr`,
|
|
1 AS `regseconds`,
|
|
1 AS `port`,
|
|
1 AS `defaultuser`,
|
|
1 AS `useragent`,
|
|
1 AS `lastms`,
|
|
1 AS `fullcontact`,
|
|
1 AS `regserver`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `sipConfig`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `sipConfig`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `sipConfig` (
|
|
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
|
`host` varchar(40) CHARACTER SET utf8 DEFAULT NULL,
|
|
`deny` varchar(95) CHARACTER SET utf8 NOT NULL,
|
|
`permit` varchar(95) CHARACTER SET utf8 NOT NULL,
|
|
`type` enum('user','peer','friend') CHARACTER SET utf8 NOT NULL,
|
|
`context` varchar(80) CHARACTER SET utf8 NOT NULL,
|
|
`incomingLimit` varchar(10) CHARACTER SET utf8 NOT NULL,
|
|
`pickupGroup` varchar(10) CHARACTER SET utf8 NOT NULL,
|
|
`careInvite` varchar(10) CHARACTER SET utf8 NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Default values for SIP accounts';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `sipReg`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `sipReg`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `sipReg` (
|
|
`userId` int(10) unsigned NOT NULL,
|
|
`ipAddr` varchar(40) CHARACTER SET utf8 DEFAULT NULL,
|
|
`regSeconds` int(10) unsigned DEFAULT NULL,
|
|
`port` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
|
|
`defaultUser` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
|
|
`userAgent` varchar(80) CHARACTER SET utf8 DEFAULT NULL,
|
|
`lastMs` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
|
|
`fullContact` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
|
|
`regServer` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
|
|
PRIMARY KEY (`userId`),
|
|
CONSTRAINT `sipReg_ibfk_1` FOREIGN KEY (`userId`) REFERENCES `sip` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='SIP registrations';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Dumping events for database 'pbx'
|
|
--
|
|
|
|
--
|
|
-- Dumping routines for database 'pbx'
|
|
--
|
|
/*!50003 DROP FUNCTION IF EXISTS `clientFromPhone` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` FUNCTION `clientFromPhone`(vPhone VARCHAR(255)) RETURNS int(11)
|
|
DETERMINISTIC
|
|
BEGIN
|
|
DECLARE vClient INT DEFAULT NULL;
|
|
|
|
-- SET vPhone = vPhone COLLATE 'utf8_unicode_ci';
|
|
|
|
-- Searchs a customer associated to the phone number
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.customer;
|
|
CREATE TEMPORARY TABLE tmp.customer
|
|
ENGINE = MEMORY
|
|
SELECT id_cliente customer
|
|
FROM vn2008.Clientes c
|
|
WHERE telefono = vPhone
|
|
OR movil = vPhone
|
|
UNION
|
|
SELECT id_cliente
|
|
FROM vn2008.Consignatarios
|
|
WHERE telefono = vPhone
|
|
OR movil = vPhone
|
|
UNION
|
|
SELECT r.id_cliente
|
|
FROM vn2008.Relaciones r
|
|
JOIN vn2008.Contactos c ON r.Id_Contacto = c.Id_Contacto
|
|
WHERE c.telefono = vPhone
|
|
OR c.movil = vPhone;
|
|
|
|
SELECT t.customer INTO vClient
|
|
FROM tmp.customer t
|
|
JOIN vn2008.Clientes c ON c.id_cliente = t.customer
|
|
WHERE c.activo
|
|
LIMIT 1;
|
|
|
|
DROP TEMPORARY TABLE tmp.customer;
|
|
|
|
RETURN vClient;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP FUNCTION IF EXISTS `phoneFormat` */;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` FUNCTION `phoneFormat`(vPhone VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
|
|
BEGIN
|
|
DECLARE vI INT DEFAULT 0;
|
|
DECLARE vChr VARCHAR(1);
|
|
DECLARE vLen INT DEFAULT LENGTH(vPhone);
|
|
DECLARE vNewPhone VARCHAR(255) DEFAULT '';
|
|
|
|
WHILE vI < vLen
|
|
DO
|
|
SET vChr = SUBSTR(vPhone, vI + 1, 1);
|
|
|
|
IF vChr REGEXP '^[0-9]$'
|
|
THEN
|
|
SET vNewPhone = CONCAT(vNewPhone, vChr);
|
|
ELSEIF vChr = '+' AND vI = 0
|
|
THEN
|
|
SET vNewPhone = CONCAT(vNewPhone, '00');
|
|
END IF;
|
|
|
|
SET vI = vI + 1;
|
|
END WHILE;
|
|
|
|
IF vNewPhone REGEXP '^0+$' OR vNewPhone = '' THEN
|
|
RETURN NULL;
|
|
END IF;
|
|
|
|
IF vNewPhone REGEXP '^0034' THEN
|
|
SET vNewPhone = SUBSTR(vNewPhone, 5);
|
|
END IF;
|
|
|
|
RETURN vNewPhone;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `extensionIsValid` */;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `extensionIsValid`(vExtension VARCHAR(255))
|
|
DETERMINISTIC
|
|
BEGIN
|
|
DECLARE vIsValid BOOLEAN;
|
|
|
|
SET vIsValid = vExtension IS NULL
|
|
OR (vExtension REGEXP '^[0-9]{4}$'
|
|
AND MOD(vExtension, 100) != 0);
|
|
|
|
IF NOT vIsValid
|
|
THEN
|
|
SIGNAL SQLSTATE '45000'
|
|
SET MESSAGE_TEXT = 'EXTENSION_INVALID_FORMAT';
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `phoneIsValid` */;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `phoneIsValid`(vPhone VARCHAR(255))
|
|
BEGIN
|
|
DECLARE vIsValid BOOLEAN;
|
|
|
|
SET vIsValid = vPhone IS NULL
|
|
OR (vPhone REGEXP '^[0-9]+$'
|
|
AND vPhone NOT REGEXP '^0+$'
|
|
AND vPhone NOT REGEXP '^0034');
|
|
|
|
IF NOT vIsValid
|
|
THEN
|
|
SIGNAL SQLSTATE '45000'
|
|
SET MESSAGE_TEXT = 'PHONE_INVALID_FORMAT';
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `queueIsValid` */;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `queueIsValid`(vQueue VARCHAR(255))
|
|
DETERMINISTIC
|
|
BEGIN
|
|
DECLARE vIsValid BOOLEAN;
|
|
|
|
SET vIsValid = vQueue IS NULL
|
|
OR vQueue REGEXP '^[1-9][0-9]00$';
|
|
|
|
IF NOT vIsValid
|
|
THEN
|
|
SIGNAL SQLSTATE '45000'
|
|
SET MESSAGE_TEXT = 'QUEUE_INVALID_FORMAT';
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
|
|
--
|
|
-- Current Database: `salix`
|
|
--
|
|
|
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `salix` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
|
|
|
|
USE `salix`;
|
|
|
|
--
|
|
-- Table structure for table `ACL`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ACL`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ACL` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`model` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
|
|
`property` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
|
|
`accessType` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
|
|
`permission` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
|
|
`principalType` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
|
|
`principalId` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `AccessToken`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `AccessToken`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `AccessToken` (
|
|
`id` varchar(255) CHARACTER SET utf8 NOT NULL,
|
|
`ttl` int(11) DEFAULT NULL,
|
|
`scopes` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
|
|
`created` datetime DEFAULT NULL,
|
|
`userId` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `Account`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Account`;
|
|
/*!50001 DROP VIEW IF EXISTS `Account`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Account` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `password`,
|
|
1 AS `roleFk`,
|
|
1 AS `active`,
|
|
1 AS `email`,
|
|
1 AS `created`,
|
|
1 AS `updated`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Accounting`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Accounting`;
|
|
/*!50001 DROP VIEW IF EXISTS `Accounting`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Accounting` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `bank`,
|
|
1 AS `account`,
|
|
1 AS `accountingTypeFk`,
|
|
1 AS `entityFk`,
|
|
1 AS `isActive`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Address`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Address`;
|
|
/*!50001 DROP VIEW IF EXISTS `Address`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Address` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `consignee`,
|
|
1 AS `street`,
|
|
1 AS `city`,
|
|
1 AS `postcode`,
|
|
1 AS `provinceFk`,
|
|
1 AS `phone`,
|
|
1 AS `mobile`,
|
|
1 AS `isEnabled`,
|
|
1 AS `isDefaultAddress`,
|
|
1 AS `clientFk`,
|
|
1 AS `defaultAgencyFk`,
|
|
1 AS `longitude`,
|
|
1 AS `latitude`,
|
|
1 AS `isEqualizated`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Agency`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Agency`;
|
|
/*!50001 DROP VIEW IF EXISTS `Agency`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Agency` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `warehouseFk`,
|
|
1 AS `isVolumetric`,
|
|
1 AS `bankFk`,
|
|
1 AS `warehouseAliasFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `AgencyMode`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `AgencyMode`;
|
|
/*!50001 DROP VIEW IF EXISTS `AgencyMode`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `AgencyMode` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `description`,
|
|
1 AS `agencyTypeFk`,
|
|
1 AS `m3`,
|
|
1 AS `agencyFk`,
|
|
1 AS `inflation`,
|
|
1 AS `sendMailTo`,
|
|
1 AS `isForTicket`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Bank`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Bank`;
|
|
/*!50001 DROP VIEW IF EXISTS `Bank`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Bank` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `bank`,
|
|
1 AS `account`,
|
|
1 AS `cash`,
|
|
1 AS `entityFk`,
|
|
1 AS `isActive`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `City`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `City`;
|
|
/*!50001 DROP VIEW IF EXISTS `City`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `City` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `provinceFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Client`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Client`;
|
|
/*!50001 DROP VIEW IF EXISTS `Client`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Client` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `fi`,
|
|
1 AS `socialName`,
|
|
1 AS `contact`,
|
|
1 AS `street`,
|
|
1 AS `city`,
|
|
1 AS `postcode`,
|
|
1 AS `provinceFk`,
|
|
1 AS `countryFk`,
|
|
1 AS `email`,
|
|
1 AS `phone`,
|
|
1 AS `mobile`,
|
|
1 AS `fax`,
|
|
1 AS `active`,
|
|
1 AS `discount`,
|
|
1 AS `credit`,
|
|
1 AS `creditInsurance`,
|
|
1 AS `iban`,
|
|
1 AS `dueDay`,
|
|
1 AS `equalizationTax`,
|
|
1 AS `hasToInvoice`,
|
|
1 AS `invoiceByEmail`,
|
|
1 AS `payMethodFk`,
|
|
1 AS `salesPersonFk`,
|
|
1 AS `contactChannelFk`,
|
|
1 AS `sepaVnl`,
|
|
1 AS `coreVnl`,
|
|
1 AS `coreVnh`,
|
|
1 AS `eypbc`,
|
|
1 AS `quality`,
|
|
1 AS `vies`,
|
|
1 AS `isRelevant`,
|
|
1 AS `typeFk`,
|
|
1 AS `accountingAccount`,
|
|
1 AS `created`,
|
|
1 AS `hasToInvoiceByAddress`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `ClientCredit`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ClientCredit`;
|
|
/*!50001 DROP VIEW IF EXISTS `ClientCredit`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `ClientCredit` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `clientFk`,
|
|
1 AS `employeeFk`,
|
|
1 AS `amount`,
|
|
1 AS `created`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `ClientCreditLimit`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ClientCreditLimit`;
|
|
/*!50001 DROP VIEW IF EXISTS `ClientCreditLimit`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `ClientCreditLimit` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `maxAmount`,
|
|
1 AS `roleFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `ClientObservation`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ClientObservation`;
|
|
/*!50001 DROP VIEW IF EXISTS `ClientObservation`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `ClientObservation` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `clientFk`,
|
|
1 AS `employeeFk`,
|
|
1 AS `text`,
|
|
1 AS `created`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `ClientType`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ClientType`;
|
|
/*!50001 DROP VIEW IF EXISTS `ClientType`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `ClientType` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `code`,
|
|
1 AS `type`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `ContactChannel`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ContactChannel`;
|
|
/*!50001 DROP VIEW IF EXISTS `ContactChannel`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `ContactChannel` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Country`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Country`;
|
|
/*!50001 DROP VIEW IF EXISTS `Country`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Country` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `inCee`,
|
|
1 AS `code`,
|
|
1 AS `currencyFk`,
|
|
1 AS `realCountryFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `CreditClassification`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `CreditClassification`;
|
|
/*!50001 DROP VIEW IF EXISTS `CreditClassification`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `CreditClassification` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `clientFk`,
|
|
1 AS `started`,
|
|
1 AS `ended`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Delivery`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Delivery`;
|
|
/*!50001 DROP VIEW IF EXISTS `Delivery`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Delivery` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `date`,
|
|
1 AS `m3`,
|
|
1 AS `warehouseFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Employee`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Employee`;
|
|
/*!50001 DROP VIEW IF EXISTS `Employee`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Employee` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `surname`,
|
|
1 AS `userFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `FakeProduction`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `FakeProduction`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `FakeProduction` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`ticketFk` int(11) NOT NULL DEFAULT '0',
|
|
`clientFk` int(11) NOT NULL DEFAULT '0',
|
|
`client` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`date` date DEFAULT NULL,
|
|
`hour` time DEFAULT NULL,
|
|
`city` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`province` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`provinceFk` smallint(6) unsigned NOT NULL DEFAULT '0',
|
|
`agency` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`agencyFk` smallint(6) NOT NULL,
|
|
`lines` int(1) NOT NULL DEFAULT '0',
|
|
`m3` decimal(5,2) NOT NULL DEFAULT '0.00',
|
|
`problems` int(1) NOT NULL DEFAULT '0',
|
|
`problem` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`stateFk` bigint(4) NOT NULL DEFAULT '0',
|
|
`workerfk` int(11) NOT NULL DEFAULT '0',
|
|
`worker` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`salesPersonFk` int(11) NOT NULL DEFAULT '0',
|
|
`salesPerson` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`state` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`boxes` double DEFAULT NULL,
|
|
`routeFk` int(10) unsigned DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=826 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `Message`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Message`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `Message` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`uuid` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`sender` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`recipient` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`message` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`sendDate` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `MessageInbox`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `MessageInbox`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `MessageInbox` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`uuid` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`sender` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`recipient` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`finalRecipient` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`message` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`sendDate` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `PayMethod`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `PayMethod`;
|
|
/*!50001 DROP VIEW IF EXISTS `PayMethod`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `PayMethod` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `graceDays`,
|
|
1 AS `outstandingDebt`,
|
|
1 AS `ibanRequired`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Province`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Province`;
|
|
/*!50001 DROP VIEW IF EXISTS `Province`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Province` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `countryFk`,
|
|
1 AS `warehouseFk`,
|
|
1 AS `zoneFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Role`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Role`;
|
|
/*!50001 DROP VIEW IF EXISTS `Role`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Role` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `description`,
|
|
1 AS `created`,
|
|
1 AS `modified`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `RoleMapping`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `RoleMapping`;
|
|
/*!50001 DROP VIEW IF EXISTS `RoleMapping`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `RoleMapping` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `principalType`,
|
|
1 AS `principalId`,
|
|
1 AS `roleId`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Route`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Route`;
|
|
/*!50001 DROP VIEW IF EXISTS `Route`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Route` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `date`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `State`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `State`;
|
|
/*!50001 DROP VIEW IF EXISTS `State`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `State` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `order`,
|
|
1 AS `alertLevel`,
|
|
1 AS `code`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Ticket`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Ticket`;
|
|
/*!50001 DROP VIEW IF EXISTS `Ticket`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Ticket` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `agencyFk`,
|
|
1 AS `employeeFk`,
|
|
1 AS `date`,
|
|
1 AS `hour`,
|
|
1 AS `clientFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `TicketState`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `TicketState`;
|
|
/*!50001 DROP VIEW IF EXISTS `TicketState`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `TicketState` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `ticketFk`,
|
|
1 AS `stateFk`,
|
|
1 AS `employeeFk`,
|
|
1 AS `updated`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Vehicle`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Vehicle`;
|
|
/*!50001 DROP VIEW IF EXISTS `Vehicle`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Vehicle` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `numberPlate`,
|
|
1 AS `tradeMark`,
|
|
1 AS `model`,
|
|
1 AS `companyFk`,
|
|
1 AS `warehouseFk`,
|
|
1 AS `description`,
|
|
1 AS `m3`,
|
|
1 AS `isActive`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Warehouse`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Warehouse`;
|
|
/*!50001 DROP VIEW IF EXISTS `Warehouse`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Warehouse` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `tpv`,
|
|
1 AS `inventory`,
|
|
1 AS `isManaged`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `WarehouseAlias`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `WarehouseAlias`;
|
|
/*!50001 DROP VIEW IF EXISTS `WarehouseAlias`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `WarehouseAlias` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Worker`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Worker`;
|
|
/*!50001 DROP VIEW IF EXISTS `Worker`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Worker` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `surname`,
|
|
1 AS `userFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `Zone`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `Zone`;
|
|
/*!50001 DROP VIEW IF EXISTS `Zone`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `Zone` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `name`,
|
|
1 AS `printingOrder`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `user`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `user`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `user` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`realm` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
|
|
`username` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
|
|
`password` varchar(512) CHARACTER SET utf8 NOT NULL,
|
|
`email` varchar(512) CHARACTER SET utf8 NOT NULL,
|
|
`emailVerified` tinyint(1) DEFAULT NULL,
|
|
`verificationToken` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=50054 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Dumping events for database 'salix'
|
|
--
|
|
|
|
--
|
|
-- Dumping routines for database 'salix'
|
|
--
|
|
/*!50003 DROP PROCEDURE IF EXISTS `production_control_source` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `production_control_source`(idWarehouse INT, scopeDays TINYINT)
|
|
BEGIN
|
|
CALL vn2008.production_control_source(idWarehouse, scopeDays);
|
|
|
|
SET @id = 0;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.production;
|
|
CREATE TEMPORARY TABLE tmp.production
|
|
ENGINE = MEMORY
|
|
SELECT
|
|
@id := @id+1 id,
|
|
p.Id_Ticket ticketFk,
|
|
p.Id_Cliente clientFk,
|
|
p.Alias client,
|
|
p.Fecha `date`,
|
|
p.Hora hour,
|
|
p.POBLACION city,
|
|
p.PROVINCIA province,
|
|
p.province_id provinceFk,
|
|
p.Agencia agency,
|
|
p.agency_id agencyFk,
|
|
p.lines,
|
|
p.m3,
|
|
p.problems,
|
|
p.problem,
|
|
p.state stateFk,
|
|
t.Id_Trabajador workerfk,
|
|
CONCAT(t.Nombre, ' ', t.Apellidos) worker,
|
|
tt.Id_Trabajador salesPersonFk,
|
|
CONCAT(tt.Nombre, ' ', tt.Apellidos) salesPerson,
|
|
s.name state,
|
|
p.Cajas boxes,
|
|
p.Id_Ruta routeFk
|
|
FROM tmp.production_buffer p
|
|
JOIN vn2008.state s ON p.state = s.id
|
|
JOIN vn2008.Trabajadores t ON p.CodigoTrabajador = t.CodigoTrabajador COLLATE utf8_unicode_ci
|
|
JOIN vn2008.Trabajadores tt ON p.Comercial = tt.CodigoTrabajador COLLATE utf8_unicode_ci;
|
|
|
|
DROP TEMPORARY TABLE tmp.production_buffer;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
--
|
|
-- Current Database: `hedera`
|
|
--
|
|
|
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `hedera` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
|
|
|
|
USE `hedera`;
|
|
|
|
--
|
|
-- Temporary view structure for view `address_view`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `address_view`;
|
|
/*!50001 DROP VIEW IF EXISTS `address_view`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `address_view` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `customer_id`,
|
|
1 AS `warehouse_id`,
|
|
1 AS `name`,
|
|
1 AS `city`,
|
|
1 AS `province_id`,
|
|
1 AS `zip_code`,
|
|
1 AS `consignee`,
|
|
1 AS `default`,
|
|
1 AS `type_id`,
|
|
1 AS `specs`,
|
|
1 AS `insurance`,
|
|
1 AS `postage`,
|
|
1 AS `active`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `androidUser`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `androidUser`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `androidUser` (
|
|
`androidId` varchar(200) CHARACTER SET utf8 NOT NULL,
|
|
`userFk` int(10) unsigned NOT NULL,
|
|
PRIMARY KEY (`userFk`,`androidId`),
|
|
CONSTRAINT `androidUser_ibfk_1` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `basket`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `basket`;
|
|
/*!50001 DROP VIEW IF EXISTS `basket`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `basket` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `date_make`,
|
|
1 AS `date_send`,
|
|
1 AS `customer_id`,
|
|
1 AS `delivery_method_id`,
|
|
1 AS `agency_id`,
|
|
1 AS `address_id`,
|
|
1 AS `company_id`,
|
|
1 AS `note`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `basketOrder`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `basketOrder`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `basketOrder` (
|
|
`customerFk` int(11) NOT NULL,
|
|
`orderFk` int(10) unsigned NOT NULL,
|
|
PRIMARY KEY (`orderFk`,`customerFk`),
|
|
UNIQUE KEY `customer_id` (`customerFk`),
|
|
CONSTRAINT `basketOrder_ibfk_1` FOREIGN KEY (`orderFk`, `customerFk`) REFERENCES `order` (`id`, `customer_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `basketOrder_ibfk_2` FOREIGN KEY (`orderFk`) REFERENCES `order` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `basketOrder_ibfk_3` FOREIGN KEY (`customerFk`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `basket_defaults`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `basket_defaults`;
|
|
/*!50001 DROP VIEW IF EXISTS `basket_defaults`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `basket_defaults` AS SELECT
|
|
1 AS `address_id`,
|
|
1 AS `agency_id`,
|
|
1 AS `delivery_method`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `basket_item`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `basket_item`;
|
|
/*!50001 DROP VIEW IF EXISTS `basket_item`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `basket_item` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `order_id`,
|
|
1 AS `warehouse_id`,
|
|
1 AS `item_id`,
|
|
1 AS `amount`,
|
|
1 AS `price`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `browser`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `browser`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `browser` (
|
|
`name` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Browser name in browscap',
|
|
`version` float NOT NULL COMMENT 'Minimal version',
|
|
UNIQUE KEY `name` (`name`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='List of compatible web browsers and its version';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `config`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `config`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `config` (
|
|
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
|
|
`defaultLang` char(2) CHARACTER SET utf8 NOT NULL COMMENT 'The default language if none is specified',
|
|
`https` tinyint(3) unsigned NOT NULL COMMENT 'Wether to force de use of HTTPS',
|
|
`cookieLife` smallint(5) unsigned NOT NULL COMMENT 'The cookies life, in days',
|
|
`jwtKey` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The key used to encode/decode JWT tokens',
|
|
`default_form` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Form loaded at web login',
|
|
`restUri` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
`testRestUri` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
`image_host` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`image_dir` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Directory where images are allocated',
|
|
`guest_user` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Guest user name',
|
|
`guest_pass` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Guest password, base64 encoded',
|
|
`test_domain` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The address for beta website',
|
|
`production_domain` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The address for production website',
|
|
`pdfs_dir` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Directory where pdfs are allocated',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global configuration parameters';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `contact`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `contact`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `contact` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`recipient` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `customer_view`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `customer_view`;
|
|
/*!50001 DROP VIEW IF EXISTS `customer_view`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `customer_view` AS SELECT
|
|
1 AS `user_id`,
|
|
1 AS `name`,
|
|
1 AS `email`,
|
|
1 AS `mail`,
|
|
1 AS `default_address`,
|
|
1 AS `credit`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `imageCollection`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `imageCollection`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `imageCollection` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`desc` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`maxWidth` int(10) unsigned NOT NULL,
|
|
`maxHeight` int(10) unsigned NOT NULL,
|
|
`schema` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`table` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`column` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `name` (`name`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `imageCollectionSize`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `imageCollectionSize`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `imageCollectionSize` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`collectionFk` int(10) unsigned NOT NULL,
|
|
`width` int(10) unsigned NOT NULL,
|
|
`height` int(10) unsigned NOT NULL,
|
|
`crop` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`id`),
|
|
KEY `image_schema_id` (`collectionFk`),
|
|
CONSTRAINT `imageCollectionSize_ibfk_1` FOREIGN KEY (`collectionFk`) REFERENCES `imageCollection` (`id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `imageConfig`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `imageConfig`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `imageConfig` (
|
|
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Identifier',
|
|
`maxSize` int(10) unsigned NOT NULL COMMENT 'Maximun size for uploaded images in MB',
|
|
`useXsendfile` tinyint(4) NOT NULL COMMENT 'Whether to use the apache module XSendfile',
|
|
`url` varchar(255) NOT NULL COMMENT 'Public URL where image are hosted',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='Global image parameters';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `imageFile`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `imageFile`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `imageFile` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`schemaFk` int(10) unsigned NOT NULL,
|
|
`file` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
`stamp` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `schema_id_file` (`schemaFk`,`file`),
|
|
CONSTRAINT `imageFile_ibfk_1` FOREIGN KEY (`schemaFk`) REFERENCES `imageCollection` (`id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=32793 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `invoice_view`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `invoice_view`;
|
|
/*!50001 DROP VIEW IF EXISTS `invoice_view`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `invoice_view` AS SELECT
|
|
1 AS `invoice_id`,
|
|
1 AS `serial_num`,
|
|
1 AS `issued`,
|
|
1 AS `amount`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `language`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `language`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `language` (
|
|
`code` varchar(10) CHARACTER SET utf8 NOT NULL,
|
|
`name` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
|
|
`orgName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
`active` tinyint(1) NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`code`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `link`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `link`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `link` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
|
`description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
`link` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
`image` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `location`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `location`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `location` (
|
|
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
|
|
`lat` varchar(12) COLLATE utf8_unicode_ci NOT NULL,
|
|
`lng` varchar(12) COLLATE utf8_unicode_ci NOT NULL,
|
|
`title` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`address` varchar(75) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`postcode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`city` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`province` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`phone` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`language` char(2) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `mailConfig`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `mailConfig`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `mailConfig` (
|
|
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Identifier',
|
|
`host` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'localhost' COMMENT 'SMTP host',
|
|
`port` smallint(6) NOT NULL DEFAULT '465' COMMENT 'SMTP port',
|
|
`secure` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Wether to use a secure connection',
|
|
`sender` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The sender mail address',
|
|
`senderName` varchar(75) CHARACTER SET utf8 NOT NULL COMMENT 'The sender name',
|
|
`user` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'SMTP user',
|
|
`password` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'SMTP password, base64 encoded',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `menu`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `menu`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `menu` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`description` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
|
`path` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`roleFk` int(10) unsigned NOT NULL,
|
|
`parentFk` int(10) unsigned DEFAULT NULL,
|
|
`displayOrder` tinyint(4) unsigned NOT NULL DEFAULT '1',
|
|
PRIMARY KEY (`id`),
|
|
KEY `group_id` (`roleFk`),
|
|
KEY `parent` (`parentFk`),
|
|
CONSTRAINT `menu_ibfk_1` FOREIGN KEY (`roleFk`) REFERENCES `account`.`role` (`id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `message`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `message`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `message` (
|
|
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
|
`code` char(35) COLLATE utf8_unicode_ci NOT NULL,
|
|
`description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `code` (`code`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `metatag`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `metatag`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `metatag` (
|
|
`id` int(11) NOT NULL,
|
|
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`content` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `name` (`name`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `myAddress`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `myAddress`;
|
|
/*!50001 DROP VIEW IF EXISTS `myAddress`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `myAddress` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `clientFk`,
|
|
1 AS `street`,
|
|
1 AS `city`,
|
|
1 AS `postalCode`,
|
|
1 AS `provinceFk`,
|
|
1 AS `nickname`,
|
|
1 AS `isDefaultAddress`,
|
|
1 AS `active`,
|
|
1 AS `longitude`,
|
|
1 AS `latitude`,
|
|
1 AS `warehouseFk`,
|
|
1 AS `agencyFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `myMenu`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `myMenu`;
|
|
/*!50001 DROP VIEW IF EXISTS `myMenu`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `myMenu` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `path`,
|
|
1 AS `description`,
|
|
1 AS `parentFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `myTicket`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `myTicket`;
|
|
/*!50001 DROP VIEW IF EXISTS `myTicket`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `myTicket` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `clientFk`,
|
|
1 AS `warehouseFk`,
|
|
1 AS `shipped`,
|
|
1 AS `landed`,
|
|
1 AS `nickname`,
|
|
1 AS `agencyModeFk`,
|
|
1 AS `refFk`,
|
|
1 AS `addressFk`,
|
|
1 AS `isSigned`,
|
|
1 AS `package`,
|
|
1 AS `location`,
|
|
1 AS `companyFk`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `myTicketRow`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `myTicketRow`;
|
|
/*!50001 DROP VIEW IF EXISTS `myTicketRow`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `myTicketRow` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `itemFk`,
|
|
1 AS `ticketFk`,
|
|
1 AS `concept`,
|
|
1 AS `quantity`,
|
|
1 AS `price`,
|
|
1 AS `discount`,
|
|
1 AS `reserved`,
|
|
1 AS `isPicked`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `myTpvTransaction`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `myTpvTransaction`;
|
|
/*!50001 DROP VIEW IF EXISTS `myTpvTransaction`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `myTpvTransaction` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `merchantFk`,
|
|
1 AS `clientFk`,
|
|
1 AS `receiptFk`,
|
|
1 AS `amount`,
|
|
1 AS `response`,
|
|
1 AS `status`,
|
|
1 AS `created`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `news`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `news`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `news` (
|
|
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
|
|
`text` text COLLATE utf8_unicode_ci NOT NULL,
|
|
`image` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`userFk` int(10) unsigned NOT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`priority` tinyint(3) unsigned NOT NULL DEFAULT '3',
|
|
`tag` varchar(15) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'new',
|
|
`__date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Deprecated',
|
|
`__user_id` int(10) NOT NULL COMMENT 'Deprecated',
|
|
PRIMARY KEY (`id`),
|
|
KEY `user` (`userFk`),
|
|
KEY `tag` (`tag`),
|
|
CONSTRAINT `news_ibfk_1` FOREIGN KEY (`userFk`) REFERENCES `account`.`account` (`id`) ON UPDATE CASCADE,
|
|
CONSTRAINT `news_ibfk_2` FOREIGN KEY (`tag`) REFERENCES `newsTag` (`name`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=12987 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `newsTag`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `newsTag`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `newsTag` (
|
|
`name` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
|
`description` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`name`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `order`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `order`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `order` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`date_send` date NOT NULL DEFAULT '0000-00-00',
|
|
`customer_id` int(11) NOT NULL,
|
|
`delivery_method_id` int(11) DEFAULT '3',
|
|
`agency_id` int(11) DEFAULT '2',
|
|
`address_id` int(11) DEFAULT NULL,
|
|
`company_id` smallint(5) unsigned NOT NULL DEFAULT '442',
|
|
`note` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`source_app` set('WEB','ANDROID','IOS','TPV','TABLET_VN','') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'TPV',
|
|
`is_bionic` tinyint(1) NOT NULL DEFAULT '1',
|
|
`confirmed` tinyint(1) NOT NULL DEFAULT '0',
|
|
`date_make` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`first_row_stamp` datetime DEFAULT NULL,
|
|
`confirm_date` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `address` (`address_id`),
|
|
KEY `delivery_method` (`delivery_method_id`),
|
|
KEY `agency` (`agency_id`),
|
|
KEY `customer_id` (`customer_id`),
|
|
KEY `company_id` (`company_id`),
|
|
KEY `id` (`id`,`customer_id`),
|
|
KEY `source_app` (`source_app`),
|
|
KEY `confirmed` (`confirmed`),
|
|
CONSTRAINT `order_ibfk_5` FOREIGN KEY (`address_id`) REFERENCES `vn2008`.`Consignatarios` (`id_consigna`) ON UPDATE CASCADE,
|
|
CONSTRAINT `order_ibfk_8` FOREIGN KEY (`delivery_method_id`) REFERENCES `vn2008`.`Vistas` (`vista_id`) ON UPDATE CASCADE,
|
|
CONSTRAINT `order_ibfk_9` FOREIGN KEY (`agency_id`) REFERENCES `vn2008`.`Agencias` (`Id_Agencia`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1209359 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `orderCheck`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `orderCheck`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `orderCheck` (
|
|
`id` tinyint(1) unsigned NOT NULL AUTO_INCREMENT,
|
|
`maxTime` time NOT NULL,
|
|
`denySunday` tinyint(1) NOT NULL,
|
|
`denyDay` date DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Conditions to check when an order is confirmed';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `orderCheckFestive`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `orderCheckFestive`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `orderCheckFestive` (
|
|
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
|
|
`date` date NOT NULL,
|
|
`acceptOrders` tinyint(1) NOT NULL DEFAULT '1',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `date` (`date`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `orderCheckWday`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `orderCheckWday`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `orderCheckWday` (
|
|
`weekday` tinyint(3) unsigned NOT NULL COMMENT '0 = Monday, 6 = Sunday',
|
|
`maxTime` time NOT NULL,
|
|
PRIMARY KEY (`weekday`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `orderConfig`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `orderConfig`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `orderConfig` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`employeeFk` int(11) NOT NULL,
|
|
`deliveryAgencyFk` int(11) NOT NULL,
|
|
`guestMethod` varchar(45) CHARACTER SET utf8 NOT NULL,
|
|
`guestAgencyFk` int(11) NOT NULL,
|
|
`reserveTime` time NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `employee_id` (`employeeFk`),
|
|
KEY `delivery_agency` (`deliveryAgencyFk`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `orderRow`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `orderRow`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `orderRow` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`orderFk` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`itemFk` int(11) NOT NULL DEFAULT '0',
|
|
`warehouseFk` int(11) DEFAULT NULL,
|
|
`shipment` date DEFAULT NULL,
|
|
`amount` smallint(6) unsigned NOT NULL DEFAULT '0',
|
|
`price` decimal(10,2) DEFAULT NULL,
|
|
`rate` smallint(5) unsigned DEFAULT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`saleFk` int(11) DEFAULT NULL COMMENT 'Deprecated',
|
|
PRIMARY KEY (`id`),
|
|
KEY `item` (`itemFk`),
|
|
KEY `order_id` (`orderFk`),
|
|
KEY `created` (`created`),
|
|
KEY `warehouse_shipment` (`warehouseFk`,`shipment`),
|
|
CONSTRAINT `orderRow_ibfk_2` FOREIGN KEY (`itemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON UPDATE CASCADE,
|
|
CONSTRAINT `orderRow_ibfk_3` FOREIGN KEY (`orderFk`) REFERENCES `order` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=7531286 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `orderRowBeforeInsert`
|
|
BEFORE INSERT ON `orderRow`
|
|
FOR EACH ROW
|
|
BEGIN
|
|
DECLARE vIsFirst BOOL;
|
|
|
|
SELECT (first_row_stamp IS NULL) INTO vIsFirst
|
|
FROM `order`
|
|
WHERE id = NEW.orderFk;
|
|
|
|
IF vIsFirst THEN
|
|
UPDATE `order` SET first_row_stamp = NOW()
|
|
WHERE id = NEW.orderFk;
|
|
END IF;
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
--
|
|
-- Table structure for table `orderRowComponent`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `orderRowComponent`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `orderRowComponent` (
|
|
`rowFk` int(10) unsigned NOT NULL,
|
|
`componentFk` int(11) NOT NULL,
|
|
`price` decimal(12,4) NOT NULL,
|
|
PRIMARY KEY (`rowFk`,`componentFk`),
|
|
KEY `component_id` (`componentFk`),
|
|
CONSTRAINT `orderRowComponent_ibfk_1` FOREIGN KEY (`rowFk`) REFERENCES `orderRow` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `order_basket`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `order_basket`;
|
|
/*!50001 DROP VIEW IF EXISTS `order_basket`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `order_basket` AS SELECT
|
|
1 AS `customer_id`,
|
|
1 AS `order_id`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `order_component`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `order_component`;
|
|
/*!50001 DROP VIEW IF EXISTS `order_component`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `order_component` AS SELECT
|
|
1 AS `order_row_id`,
|
|
1 AS `component_id`,
|
|
1 AS `price`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `order_config`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `order_config`;
|
|
/*!50001 DROP VIEW IF EXISTS `order_config`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `order_config` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `employee_id`,
|
|
1 AS `delivery_agency`,
|
|
1 AS `guest_method`,
|
|
1 AS `guest_agency`,
|
|
1 AS `reserve_time`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `order_confirm_time`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `order_confirm_time`;
|
|
/*!50001 DROP VIEW IF EXISTS `order_confirm_time`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `order_confirm_time` AS SELECT
|
|
1 AS `date_make`,
|
|
1 AS `source_app`,
|
|
1 AS `customer_id`,
|
|
1 AS `confirm_date`,
|
|
1 AS `first_row_stamp`,
|
|
1 AS `minutos`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `order_row`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `order_row`;
|
|
/*!50001 DROP VIEW IF EXISTS `order_row`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `order_row` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `order_id`,
|
|
1 AS `item_id`,
|
|
1 AS `warehouse_id`,
|
|
1 AS `shipment`,
|
|
1 AS `amount`,
|
|
1 AS `price`,
|
|
1 AS `rate`,
|
|
1 AS `created`,
|
|
1 AS `Id_Movimiento`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `order_row_view`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `order_row_view`;
|
|
/*!50001 DROP VIEW IF EXISTS `order_row_view`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `order_row_view` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `order_id`,
|
|
1 AS `warehouse_id`,
|
|
1 AS `item_id`,
|
|
1 AS `amount`,
|
|
1 AS `price2`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `order_view`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `order_view`;
|
|
/*!50001 DROP VIEW IF EXISTS `order_view`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `order_view` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `date_make`,
|
|
1 AS `date_send`,
|
|
1 AS `customer_id`,
|
|
1 AS `delivery_method_id`,
|
|
1 AS `agency_id`,
|
|
1 AS `note`,
|
|
1 AS `address_id`,
|
|
1 AS `company_id`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `restPriv`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `restPriv`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `restPriv` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`methodPath` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
`role` int(10) unsigned NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `role` (`role`),
|
|
CONSTRAINT `restPriv_ibfk_1` FOREIGN KEY (`role`) REFERENCES `account`.`role` (`id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `shelf`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `shelf`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `shelf` (
|
|
`id` int(10) unsigned NOT NULL,
|
|
`name` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
|
`nTrays` tinyint(3) unsigned NOT NULL,
|
|
`trayheight` mediumint(8) unsigned NOT NULL,
|
|
`topTrayHeight` mediumint(8) unsigned NOT NULL,
|
|
`width` mediumint(8) unsigned NOT NULL,
|
|
`depth` mediumint(8) unsigned NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Dimensiones de las estanterias';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `shelfConfig`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `shelfConfig`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `shelfConfig` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
|
|
`namePrefix` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`warehouse` smallint(5) unsigned NOT NULL,
|
|
`family` smallint(5) unsigned NOT NULL,
|
|
`shelf` int(10) unsigned NOT NULL,
|
|
`maxAmount` smallint(5) unsigned DEFAULT NULL,
|
|
`showPacking` tinyint(4) NOT NULL,
|
|
`stack` tinyint(4) NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`id`),
|
|
KEY `shelf_id` (`shelf`),
|
|
KEY `family_id` (`family`),
|
|
KEY `warehouse_id` (`warehouse`),
|
|
CONSTRAINT `shelfConfig_ibfk_1` FOREIGN KEY (`family`) REFERENCES `vn2008`.`Tipos` (`tipo_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `shelfConfig_ibfk_2` FOREIGN KEY (`shelf`) REFERENCES `shelf` (`id`) ON UPDATE CASCADE,
|
|
CONSTRAINT `shelfConfig_ibfk_3` FOREIGN KEY (`warehouse`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `social`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `social`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `social` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`link` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
`icon` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`priority` tinyint(3) unsigned NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `priority` (`priority`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `survey`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `survey`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `survey` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`question` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `surveyAnswer`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `surveyAnswer`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `surveyAnswer` (
|
|
`id` int(10) unsigned NOT NULL,
|
|
`surveyFk` int(10) unsigned NOT NULL,
|
|
`answer` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
|
`votes` int(10) unsigned NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`id`),
|
|
KEY `survey` (`surveyFk`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `surveyVote`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `surveyVote`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `surveyVote` (
|
|
`surveyFk` int(10) unsigned NOT NULL,
|
|
`userFk` int(10) unsigned NOT NULL,
|
|
PRIMARY KEY (`surveyFk`,`userFk`),
|
|
KEY `surveyVote_ibfk_2` (`userFk`),
|
|
CONSTRAINT `surveyVote_ibfk_1` FOREIGN KEY (`surveyFk`) REFERENCES `survey` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `surveyVote_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `ticket_row_view`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ticket_row_view`;
|
|
/*!50001 DROP VIEW IF EXISTS `ticket_row_view`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `ticket_row_view` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `item_id`,
|
|
1 AS `ticket_id`,
|
|
1 AS `concept`,
|
|
1 AS `amount`,
|
|
1 AS `price`,
|
|
1 AS `fixed`,
|
|
1 AS `discount`,
|
|
1 AS `cost`,
|
|
1 AS `reserved`,
|
|
1 AS `ok`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `ticket_view`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ticket_view`;
|
|
/*!50001 DROP VIEW IF EXISTS `ticket_view`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `ticket_view` AS SELECT
|
|
1 AS `id`,
|
|
1 AS `customer_id`,
|
|
1 AS `warehouse_id`,
|
|
1 AS `date`,
|
|
1 AS `delivery`,
|
|
1 AS `alias`,
|
|
1 AS `agency_id`,
|
|
1 AS `note`,
|
|
1 AS `invoice`,
|
|
1 AS `address_id`,
|
|
1 AS `employee_id`,
|
|
1 AS `comments`,
|
|
1 AS `signed`,
|
|
1 AS `packages`,
|
|
1 AS `location`,
|
|
1 AS `hour`,
|
|
1 AS `blocked`,
|
|
1 AS `solution`,
|
|
1 AS `company_id`,
|
|
1 AS `type`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `tpvConfig`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tpvConfig`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tpvConfig` (
|
|
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
|
|
`currency` smallint(5) unsigned NOT NULL,
|
|
`terminal` tinyint(3) unsigned NOT NULL,
|
|
`transactionType` tinyint(3) unsigned NOT NULL,
|
|
`maxAmount` int(10) unsigned DEFAULT NULL,
|
|
`employeeFk` int(10) NOT NULL,
|
|
`url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The bank web service URL for production environment',
|
|
`testMode` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT 'Whether test mode is enabled',
|
|
`testUrl` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'The bank web service URL for test environment',
|
|
`testKey` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT 'The bank secret key for test environment',
|
|
`merchantUrl` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `employee_id` (`employeeFk`),
|
|
CONSTRAINT `employee_id` FOREIGN KEY (`employeeFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Virtual TPV parameters';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tpvError`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tpvError`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tpvError` (
|
|
`code` char(7) COLLATE utf8_unicode_ci NOT NULL,
|
|
`message` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`code`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=' List of possible TPV errors';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tpvImapConfig`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tpvImapConfig`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tpvImapConfig` (
|
|
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
|
|
`host` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
|
|
`user` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`pass` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
|
`cleanPeriod` varchar(15) CHARACTER SET utf8 NOT NULL,
|
|
`successFolder` varchar(150) CHARACTER SET utf8 DEFAULT NULL,
|
|
`errorFolder` varchar(150) CHARACTER SET utf8 DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='IMAP configuration parameters for virtual TPV';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tpvMerchant`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tpvMerchant`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tpvMerchant` (
|
|
`id` int(10) unsigned NOT NULL COMMENT 'Merchant identifier',
|
|
`description` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Small description',
|
|
`companyFk` smallint(6) unsigned DEFAULT NULL COMMENT 'Company associated with the merchant',
|
|
`bankFk` int(10) NOT NULL COMMENT 'The bank where merchant receipts are created',
|
|
`secretKey` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The merchant secret key to sign transactions',
|
|
PRIMARY KEY (`id`),
|
|
KEY `bank_id` (`bankFk`),
|
|
KEY `company_id` (`companyFk`),
|
|
KEY `id` (`id`,`companyFk`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Virtual TPV providers';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tpvMerchantEnable`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tpvMerchantEnable`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tpvMerchantEnable` (
|
|
`merchantFk` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`companyFk` smallint(6) unsigned NOT NULL,
|
|
PRIMARY KEY (`merchantFk`,`companyFk`),
|
|
UNIQUE KEY `company_id` (`companyFk`),
|
|
CONSTRAINT `tpvMerchantEnable_ibfk_1` FOREIGN KEY (`merchantFk`, `companyFk`) REFERENCES `tpvMerchant` (`id`, `companyFk`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Virtual TPV enabled providers';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tpvResponse`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tpvResponse`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tpvResponse` (
|
|
`id` smallint(5) unsigned NOT NULL,
|
|
`message` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='List of possible TPV reponses';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tpvTransaction`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tpvTransaction`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tpvTransaction` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`merchantFk` int(10) unsigned NOT NULL,
|
|
`clientFk` int(11) NOT NULL,
|
|
`receiptFk` int(11) DEFAULT NULL,
|
|
`amount` int(10) unsigned NOT NULL,
|
|
`response` smallint(5) unsigned DEFAULT NULL COMMENT 'Status notified by bank: NULL if no notification, 0 if success, error otherwise',
|
|
`errorCode` char(7) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`status` enum('started','ok','ko') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'started',
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
KEY `merchant_id` (`merchantFk`),
|
|
KEY `receipt_id` (`receiptFk`),
|
|
KEY `user_id` (`clientFk`),
|
|
KEY `response` (`response`),
|
|
KEY `error_code` (`errorCode`),
|
|
CONSTRAINT `receipt_id` FOREIGN KEY (`receiptFk`) REFERENCES `vn2008`.`Recibos` (`Id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT `tpvTransaction_ibfk_1` FOREIGN KEY (`clientFk`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `tpvTransaction_ibfk_2` FOREIGN KEY (`merchantFk`) REFERENCES `tpvMerchant` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=181005 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Transactions realized through the virtual TPV';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `userSession`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `userSession`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `userSession` (
|
|
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`lastUpdate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
`ssid` char(64) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`data` text COLLATE utf8_unicode_ci,
|
|
`userVisit` int(10) unsigned DEFAULT NULL,
|
|
UNIQUE KEY `ssid` (`ssid`),
|
|
KEY `userVisit` (`userVisit`),
|
|
KEY `lastUpdate` (`lastUpdate`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `user_android`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `user_android`;
|
|
/*!50001 DROP VIEW IF EXISTS `user_android`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `user_android` AS SELECT
|
|
1 AS `android_id`,
|
|
1 AS `user_id`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `visit`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `visit`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `visit` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`firstAgent` int(10) unsigned DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `firstAgent` (`firstAgent`),
|
|
CONSTRAINT `visit_ibfk_1` FOREIGN KEY (`firstAgent`) REFERENCES `visitAgent` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1112123 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `visitAccess`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `visitAccess`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `visitAccess` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`agent` int(10) unsigned NOT NULL,
|
|
`stamp` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`ip` int(10) unsigned DEFAULT NULL,
|
|
`referer` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `visit_access_idx_agent` (`agent`),
|
|
KEY `stamp` (`stamp`),
|
|
CONSTRAINT `visitAccess_ibfk_1` FOREIGN KEY (`agent`) REFERENCES `visitAgent` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2356472 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `visitAgent`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `visitAgent`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `visitAgent` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`visit` int(10) unsigned NOT NULL,
|
|
`firstAccess` int(10) unsigned DEFAULT NULL,
|
|
`platform` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`browser` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`version` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
`javascript` tinyint(3) unsigned DEFAULT NULL,
|
|
`cookies` tinyint(3) unsigned DEFAULT NULL,
|
|
`agent` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `visit_id` (`visit`),
|
|
KEY `firstAccess` (`firstAccess`),
|
|
CONSTRAINT `visitAgent_ibfk_1` FOREIGN KEY (`visit`) REFERENCES `visit` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `visitAgent_ibfk_2` FOREIGN KEY (`firstAccess`) REFERENCES `visitAccess` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1627507 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `visitUser`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `visitUser`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `visitUser` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`access` int(10) unsigned NOT NULL,
|
|
`user` int(10) unsigned DEFAULT NULL,
|
|
`stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
KEY `access_id` (`access`),
|
|
KEY `date_time` (`stamp`),
|
|
KEY `user_id` (`user`),
|
|
CONSTRAINT `visitUser_ibfk_1` FOREIGN KEY (`access`) REFERENCES `visitAccess` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2309412 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Dumping events for database 'hedera'
|
|
--
|
|
|
|
--
|
|
-- Dumping routines for database 'hedera'
|
|
--
|
|
/*!50003 DROP FUNCTION IF EXISTS `basketGetId` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` FUNCTION `basketGetId`() RETURNS int(11)
|
|
DETERMINISTIC
|
|
BEGIN
|
|
DECLARE v_order INT;
|
|
|
|
SELECT order_id INTO v_order FROM order_basket
|
|
WHERE customer_id = account.userGetId();
|
|
|
|
RETURN v_order;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP FUNCTION IF EXISTS `clientGetDebt` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` FUNCTION `clientGetDebt`(vDate DATE) RETURNS decimal(10,2)
|
|
BEGIN
|
|
/**
|
|
* Calcula el saldo del cliente actual.
|
|
*
|
|
* @return Saldo del cliente
|
|
*/
|
|
RETURN vn.clientGetDebt(account.userGetId(), vDate);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP FUNCTION IF EXISTS `invoiceGetPath` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` FUNCTION `invoiceGetPath`(vInvoice INT) RETURNS varchar(255) CHARSET utf8
|
|
BEGIN
|
|
DECLARE vIssued DATE;
|
|
DECLARE vSerial VARCHAR(15);
|
|
|
|
SELECT issued, ref
|
|
INTO vIssued, vSerial
|
|
FROM vn.invoiceOut WHERE id = vInvoice;
|
|
|
|
RETURN CONCAT_WS('/'
|
|
,'invoice'
|
|
,YEAR(vIssued)
|
|
,MONTH(vIssued)
|
|
,DAY(vIssued)
|
|
,CONCAT(YEAR(vIssued), vSerial, '.pdf')
|
|
);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP FUNCTION IF EXISTS `orderGetTotal` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` FUNCTION `orderGetTotal`(vOrder INT) RETURNS decimal(10,2)
|
|
READS SQL DATA
|
|
DETERMINISTIC
|
|
BEGIN
|
|
/**
|
|
* Obtiene el total de un pedido con el IVA y el recargo de
|
|
* equivalencia incluidos.
|
|
*
|
|
* @param vOrder El identificador del pedido
|
|
* @return El total del pedido
|
|
*/
|
|
DECLARE vTotal DECIMAL(10,2);
|
|
|
|
CALL orderGetTax (vOrder);
|
|
|
|
SELECT SUM(taxBase) + SUM(tax) + SUM(equalizationTax) INTO vTotal
|
|
FROM tmp.orderTax;
|
|
|
|
DROP TEMPORARY TABLE tmp.orderTax;
|
|
|
|
RETURN vTotal;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP FUNCTION IF EXISTS `order_get_total` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` FUNCTION `order_get_total`(vOrder INT) RETURNS decimal(10,2)
|
|
READS SQL DATA
|
|
DETERMINISTIC
|
|
BEGIN
|
|
/**
|
|
* Obtiene el total de un pedido con el IVA y el recargo de
|
|
* equivalencia incluidos.
|
|
*
|
|
* @deprecated Use function orderGetTotal() instead
|
|
*
|
|
* @param vOrder El identificador del pedido
|
|
* @return El total del pedido
|
|
*/
|
|
RETURN orderGetTotal (vOrder);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP FUNCTION IF EXISTS `userCheckRestPriv` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` FUNCTION `userCheckRestPriv`(vMethodPath VARCHAR(255)) RETURNS tinyint(1)
|
|
DETERMINISTIC
|
|
BEGIN
|
|
/**
|
|
* Comprueba si el usuario actual tiene permiso para ejecutar
|
|
* un servicio REST.
|
|
*
|
|
* @param vMethodPath Ruta del servicio REST a ejecutar
|
|
* @return %TRUE si tiene permisos, %FALSE en caso contrario
|
|
**/
|
|
DECLARE vRole INT DEFAULT NULL;
|
|
|
|
SELECT role INTO vRole FROM restPriv
|
|
WHERE methodPath = vMethodPath;
|
|
|
|
RETURN vRole IS NULL
|
|
OR account.userHasRoleId (vRole);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `basketAddItem` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `basketAddItem`(
|
|
vWarehouse INT,
|
|
vItem INT,
|
|
vAmount INT)
|
|
BEGIN
|
|
DECLARE vOrder INT;
|
|
DECLARE vRow INT;
|
|
DECLARE vAdd INT;
|
|
DECLARE vAvailable INT;
|
|
DECLARE vDone BOOL;
|
|
DECLARE vGrouping INT;
|
|
DECLARE vRate INT;
|
|
DECLARE vShipment DATE;
|
|
DECLARE vPrice DECIMAL(10,2);
|
|
|
|
DECLARE cur CURSOR FOR
|
|
SELECT grouping, price, rate
|
|
FROM tmp.bionic_price
|
|
WHERE warehouse_id = vWarehouse
|
|
AND item_id = vItem
|
|
ORDER BY grouping DESC;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
|
SET vDone = TRUE;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
ROLLBACK;
|
|
RESIGNAL;
|
|
END;
|
|
|
|
CALL bionic_from_item (vItem);
|
|
|
|
START TRANSACTION;
|
|
|
|
SET vOrder = basketGetId();
|
|
|
|
SELECT Fecha_envio INTO vShipment
|
|
FROM tmp.travel_tree
|
|
WHERE warehouse_id = vWarehouse;
|
|
|
|
SELECT available INTO vAvailable
|
|
FROM tmp.bionic_lot
|
|
WHERE warehouse_id = vWarehouse
|
|
AND item_id = vItem;
|
|
|
|
IF vAmount > vAvailable
|
|
THEN
|
|
CALL util.throw ('ORDER_ROW_UNAVAILABLE');
|
|
END IF;
|
|
|
|
OPEN cur;
|
|
|
|
l: LOOP
|
|
SET vDone = FALSE;
|
|
FETCH cur INTO vGrouping, vPrice, vRate;
|
|
|
|
IF vDone THEN
|
|
LEAVE l;
|
|
END IF;
|
|
|
|
SET vAdd = vAmount - MOD(vAmount, vGrouping);
|
|
SET vAmount = vAmount - vAdd;
|
|
|
|
IF vAdd = 0 THEN
|
|
ITERATE l;
|
|
END IF;
|
|
|
|
INSERT INTO order_row SET
|
|
order_id = vOrder,
|
|
item_id = vItem,
|
|
warehouse_id = vWarehouse,
|
|
shipment = vShipment,
|
|
rate = vRate,
|
|
amount = vAdd,
|
|
price = vPrice;
|
|
|
|
SET vRow = LAST_INSERT_ID();
|
|
|
|
INSERT INTO order_component (order_row_id, component_id, price)
|
|
SELECT vRow, c.component_id, c.cost
|
|
FROM tmp.bionic_component c
|
|
JOIN bi.tarifa_componentes t
|
|
ON t.Id_Componente = c.component_id
|
|
AND (t.tarifa_class IS NULL OR t.tarifa_class = vRate)
|
|
WHERE c.warehouse_id = vWarehouse
|
|
AND c.item_id = vItem;
|
|
END LOOP;
|
|
|
|
CLOSE cur;
|
|
COMMIT;
|
|
|
|
CALL vn2008.bionic_free ();
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `basketCheck` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `basketCheck`()
|
|
BEGIN
|
|
/**
|
|
* Comprueba que la cesta esta creada y que su configuración es
|
|
* correcta. Si la configuración es correcta pero lleva mucho
|
|
* tiempo creada actualiza los precios y cantidades de los artículos.
|
|
*
|
|
* @select El id del pedido y el estado de la cesta
|
|
*/
|
|
DECLARE vOrder INT;
|
|
DECLARE vCreated DATETIME;
|
|
DECLARE vStatus VARCHAR(15) DEFAULT 'OK';
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET vStatus = 'NOT_EXISTS';
|
|
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET vStatus = 'BAD_CONFIG';
|
|
|
|
SELECT id, date_make
|
|
INTO vOrder, vCreated
|
|
FROM basket;
|
|
|
|
IF vStatus = 'OK'
|
|
THEN
|
|
CALL orderCheckConfig (vOrder);
|
|
|
|
IF vStatus = 'OK' AND vCreated < TIMESTAMPADD(DAY, -1, NOW())
|
|
THEN
|
|
CALL orderUpdate (vOrder);
|
|
SET vStatus = 'UPDATED';
|
|
END IF;
|
|
END IF;
|
|
|
|
SELECT vStatus stat;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `basketConfigure` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `basketConfigure`(
|
|
vDelivery DATE,
|
|
vDeliveryMethod VARCHAR(45),
|
|
vAgency INT,
|
|
vAddress INT)
|
|
BEGIN
|
|
/**
|
|
* Configura la cesta de la compra utilizando los parámetros
|
|
* pasados. Si los parámetros no son válidos devuelve un error.
|
|
*
|
|
* @param vDelivery Fecha de recogida
|
|
* @param vAgency Id de la agencia
|
|
* @param vAddress Id de dirección de envío, @NULL si es recogida
|
|
*/
|
|
DECLARE vOrder INT;
|
|
DECLARE vCompany INT;
|
|
DECLARE vDeliveryMethodId INT;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET vOrder = NULL;
|
|
DECLARE EXIT HANDLER FOR SQLSTATE '45000'
|
|
BEGIN
|
|
ROLLBACK;
|
|
RESIGNAL;
|
|
END;
|
|
|
|
START TRANSACTION;
|
|
|
|
SELECT id INTO vDeliveryMethodId
|
|
FROM vn.deliveryMethod
|
|
WHERE code = vDeliveryMethod;
|
|
|
|
IF vDeliveryMethod = 'DELIVERY'
|
|
THEN
|
|
SELECT delivery_agency INTO vAgency
|
|
FROM order_config;
|
|
END IF;
|
|
|
|
IF vDeliveryMethod = 'PICKUP' AND vAddress IS NULL
|
|
THEN
|
|
SELECT default_address INTO vAddress
|
|
FROM customer_view;
|
|
END IF;
|
|
|
|
SET vOrder = basketGetId();
|
|
|
|
IF vOrder IS NULL
|
|
THEN
|
|
SELECT empresa_id INTO vCompany
|
|
FROM vn2008.Clientes_empresa
|
|
WHERE Id_Cliente = account.userGetId()
|
|
AND CURDATE() BETWEEN fecha_ini AND fecha_fin
|
|
LIMIT 1;
|
|
|
|
INSERT INTO `order`
|
|
SET
|
|
customer_id = account.userGetId(),
|
|
date_send = vDelivery,
|
|
delivery_method_id = vDeliveryMethodId,
|
|
agency_id = vAgency,
|
|
address_id = vAddress,
|
|
source_app = 'WEB',
|
|
company_id = IFNULL(vCompany, 442);
|
|
|
|
SET vOrder = LAST_INSERT_ID();
|
|
|
|
INSERT INTO order_basket SET
|
|
customer_id = account.userGetId(),
|
|
order_id = vOrder;
|
|
ELSE
|
|
UPDATE `order`
|
|
SET
|
|
date_send = vDelivery,
|
|
delivery_method_id = vDeliveryMethodId,
|
|
agency_id = vAgency,
|
|
address_id = vAddress
|
|
WHERE
|
|
id = vOrder;
|
|
|
|
CALL orderUpdate (vOrder);
|
|
END IF;
|
|
|
|
CALL orderCheckConfig (vOrder);
|
|
|
|
COMMIT;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `basketConfigureForGuest` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `basketConfigureForGuest`()
|
|
BEGIN
|
|
DECLARE vMethod VARCHAR(45);
|
|
DECLARE vAgency INT;
|
|
|
|
SELECT guest_method, guest_agency
|
|
INTO vMethod, vAgency
|
|
FROM order_config
|
|
LIMIT 1;
|
|
|
|
CALL basketConfigure (CURDATE(), vMethod, vAgency, NULL);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `basketConfirm` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `basketConfirm`()
|
|
BEGIN
|
|
DECLARE vOrder INT DEFAULT basketGetId ();
|
|
|
|
IF vOrder IS NOT NULL
|
|
THEN
|
|
CALL order_confirm_bionic (vOrder);
|
|
|
|
DELETE FROM order_basket
|
|
WHERE order_id = vOrder;
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `basketGetTax` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `basketGetTax`()
|
|
READS SQL DATA
|
|
BEGIN
|
|
/**
|
|
* Returns the taxes for the current client basket.
|
|
*
|
|
* @treturn tmp.orderTax
|
|
*/
|
|
CALL orderGetTax (basketGetId());
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `bionic_calc` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `bionic_calc`()
|
|
BEGIN
|
|
DECLARE v_date DATE;
|
|
DECLARE v_address INT;
|
|
DECLARE v_agency INT;
|
|
|
|
SELECT date_send, address_id, agency_id
|
|
INTO v_date, v_address, v_agency
|
|
FROM basket;
|
|
|
|
CALL vn2008.bionic_calc (v_date, v_address, v_agency);
|
|
|
|
IF account.userGetName () = 'visitor'
|
|
THEN
|
|
DROP TEMPORARY TABLE tmp.bionic_component;
|
|
UPDATE tmp.bionic_item SET price = NULL;
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `bionic_from_basket` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `bionic_from_basket`()
|
|
BEGIN
|
|
DECLARE v_order INT;
|
|
DECLARE v_date DATE;
|
|
DECLARE v_address INT;
|
|
DECLARE v_agency INT;
|
|
|
|
SELECT id, date_send, address_id, agency_id
|
|
INTO v_order, v_date, v_address, v_agency
|
|
FROM basket;
|
|
|
|
CALL vn2008.bionic_from_order (v_date, v_address, v_agency, v_order);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `bionic_from_item` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `bionic_from_item`(v_item INT)
|
|
BEGIN
|
|
DECLARE v_date DATE;
|
|
DECLARE v_address INT;
|
|
DECLARE v_agency INT;
|
|
|
|
SELECT date_send, address_id, agency_id
|
|
INTO v_date, v_address, v_agency
|
|
FROM basket;
|
|
|
|
CALL vn2008.bionic_from_item (v_date, v_address, v_agency, v_item);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `catalogGetAvailable` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `catalogGetAvailable`()
|
|
BEGIN
|
|
/**
|
|
* Gets the available items list that meets the tag filter.
|
|
*
|
|
* @table tItems
|
|
*/
|
|
CALL itemGetAvailable;
|
|
|
|
DELETE t FROM tItems t
|
|
JOIN tmp.itemAvailable a ON a.id = t.id
|
|
WHERE a.id IS NULL;
|
|
|
|
DROP TEMPORARY TABLE tmp.itemAvailable;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `catalogGetItems` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `catalogGetItems`()
|
|
BEGIN
|
|
/**
|
|
* Returns the list of items.
|
|
*
|
|
* @table tItems The list of items
|
|
* @select The list of items
|
|
*/
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc;
|
|
CREATE TEMPORARY TABLE tmp.bionic_calc
|
|
(INDEX (item_id))
|
|
ENGINE = MEMORY
|
|
SELECT id item_id FROM tItems;
|
|
|
|
CALL bionic_calc ();
|
|
DROP TEMPORARY TABLE tmp.bionic_calc;
|
|
|
|
SELECT i.id, i.name, i.description, i.category, i.size, i.image, i.inkFk,
|
|
IF(i.stems > 1, i.stems, NULL) stems, b.available, b.price, b.producer,
|
|
a.tag1, a.val1, a.tag2, a.val2, a.tag3, a.val3
|
|
FROM tmp.bionic_item b
|
|
JOIN vn.item i ON i.id = b.item_id
|
|
LEFT JOIN vn.itemTagArranged a ON a.itemFk = i.id
|
|
LEFT JOIN vn.producer p ON p.id = i.producerFk
|
|
WHERE b.available > 0
|
|
ORDER BY i.relevancy DESC, i.name, i.size
|
|
LIMIT 40;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `catalogGetTags` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `catalogGetTags`(vLimit INT)
|
|
BEGIN
|
|
/**
|
|
* Returns the main tags for a list of items.
|
|
*
|
|
* @table tItems The list of items
|
|
* @select The main tags for the passed items
|
|
*/
|
|
CALL catalogGetAvailable;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tTags;
|
|
CREATE TEMPORARY TABLE tTags
|
|
(INDEX (tagFk))
|
|
ENGINE = MEMORY
|
|
SELECT it.tagFk, SUM(it.priority) priority
|
|
FROM vn.itemTag it
|
|
JOIN tItems i ON i.id = it.itemFk
|
|
GROUP BY tagFk
|
|
LIMIT vLimit;
|
|
|
|
SELECT l.id, l.name
|
|
FROM tTags t
|
|
JOIN vn.tagL10n l ON l.id = t.tagFk
|
|
ORDER BY priority DESC;
|
|
|
|
DROP TEMPORARY TABLE tTags;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `catalogGetTagValues` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `catalogGetTagValues`(vTag INT)
|
|
BEGIN
|
|
/**
|
|
* Returns the list of available values for a tag and a list of items.
|
|
*
|
|
* @table tItems The list of items
|
|
* @param vTag The tag identifier
|
|
* @select The list of available tags
|
|
*/
|
|
CALL catalogGetAvailable;
|
|
|
|
SELECT DISTINCT it.value
|
|
FROM vn.itemTag it
|
|
JOIN tItems i ON i.id = it.itemFk
|
|
WHERE it.tagFk = vTag
|
|
ORDER BY value
|
|
LIMIT 200;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `itemAllocator` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `itemAllocator`(
|
|
vWh TINYINT
|
|
,vDate DATE
|
|
,vType INT
|
|
,vPrefix VARCHAR(255)
|
|
,vUseIds BOOLEAN
|
|
)
|
|
BEGIN
|
|
DECLARE vPrefixLen SMALLINT;
|
|
DECLARE vFilter VARCHAR(255) DEFAULT NULL;
|
|
DECLARE vDateInv DATE DEFAULT vn2008.date_inv();
|
|
|
|
SET vPrefixLen = LENGTH(vPrefix);
|
|
|
|
IF vPrefix IS NOT NULL AND vPrefixLen > 0
|
|
THEN
|
|
SET vFilter = CONCAT(vPrefix, '%');
|
|
SET vPrefixLen = vPrefixLen + 1;
|
|
END IF;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS filter;
|
|
CREATE TEMPORARY TABLE filter
|
|
(INDEX (item_id))
|
|
ENGINE = MEMORY
|
|
SELECT Id_Article item_id FROM vn2008.Articles
|
|
WHERE tipo_id = vType
|
|
AND (vFilter IS NULL OR Article LIKE vFilter);
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS current_stock;
|
|
CREATE TEMPORARY TABLE current_stock
|
|
(INDEX (item_id))
|
|
ENGINE = MEMORY
|
|
SELECT item_id, SUM(Cantidad) amount FROM
|
|
(
|
|
SELECT Id_Article item_id, Cantidad
|
|
FROM vn2008.Compres c
|
|
JOIN vn2008.Entradas e USING(Id_Entrada)
|
|
JOIN vn2008.travel t ON t.id = e.travel_id
|
|
WHERE landing BETWEEN vDateInv AND vDate
|
|
AND warehouse_id = vWh
|
|
AND NOT Redada
|
|
UNION ALL
|
|
SELECT Id_Article, -Cantidad
|
|
FROM vn2008.Compres c
|
|
JOIN vn2008.Entradas e USING(Id_Entrada)
|
|
JOIN vn2008.travel t ON t.id = e.travel_id
|
|
WHERE shipment BETWEEN vDateInv AND CURDATE()
|
|
AND warehouse_id_out = vWh
|
|
AND NOT Redada
|
|
AND delivered
|
|
UNION ALL
|
|
SELECT m.Id_Article, -m.Cantidad
|
|
FROM vn2008.Movimientos m
|
|
JOIN vn2008.Tickets t USING(Id_Ticket)
|
|
JOIN vn.ticketState s ON s.ticket = t.Id_Ticket
|
|
WHERE t.Fecha BETWEEN vDateInv AND CURDATE()
|
|
AND t.warehouse_id = vWh
|
|
AND (t.Etiquetasemitidas OR s.alertLevel = 3)
|
|
) t
|
|
GROUP BY item_id
|
|
HAVING amount > 0;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp;
|
|
CREATE TEMPORARY TABLE tmp
|
|
(INDEX (item_id))
|
|
ENGINE = MEMORY
|
|
SELECT * FROM
|
|
(
|
|
SELECT c.Id_Article item_id, c.Id_Compra id, c.Id_Cubo, c.packing
|
|
FROM vn2008.Compres c
|
|
JOIN vn2008.Entradas e USING(Id_Entrada)
|
|
JOIN vn2008.travel t ON t.id = e.travel_id
|
|
WHERE t.landing BETWEEN vDateInv AND vDate
|
|
AND c.Novincular = FALSE
|
|
AND c.Tarifa2 >= 0
|
|
AND Id_Cubo IS NOT NULL
|
|
ORDER BY t.warehouse_id = 1 DESC, t.landing DESC
|
|
) t GROUP BY item_id;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS result;
|
|
CREATE TEMPORARY TABLE result
|
|
ENGINE = MEMORY
|
|
SELECT a.Id_Article, IF(vPrefixLen > 0, SUBSTRING(a.Article, vPrefixLen), a.Article) Article,
|
|
t.packing, CEIL(s.amount / t.packing) etiquetas, t.Id_Cubo, IF(c.z > 0, c.z, 0) z, c.x, c.y, a.Nicho
|
|
FROM vn2008.Articles a
|
|
JOIN filter f ON f.item_id = a.Id_Article
|
|
JOIN current_stock s ON s.item_id = a.Id_Article
|
|
LEFT JOIN tmp t ON t.item_id = a.Id_Article
|
|
LEFT JOIN vn2008.Cubos c ON c.Id_Cubo = t.Id_Cubo
|
|
WHERE CEIL(s.amount / t.packing) > 0
|
|
AND c.box;
|
|
|
|
IF vUseIds
|
|
THEN
|
|
SELECT * FROM result
|
|
ORDER BY Id_Article;
|
|
ELSE
|
|
SELECT * FROM result
|
|
ORDER BY Article, packing;
|
|
END IF;
|
|
|
|
DROP TEMPORARY TABLE
|
|
filter,
|
|
current_stock,
|
|
tmp,
|
|
result;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `itemGetAvailable` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `itemGetAvailable`()
|
|
BEGIN
|
|
/**
|
|
* Gets the available items list.
|
|
*
|
|
* @table tmp.itemAvailable
|
|
*/
|
|
DECLARE vDelivery DATE;
|
|
DECLARE vAddress INT;
|
|
DECLARE vAgency INT;
|
|
|
|
SELECT date_send, address_id, agency_id
|
|
INTO vDelivery, vAddress, vAgency
|
|
FROM basket;
|
|
|
|
CALL vn2008.bionic_available_ (vDelivery, vAddress, vAgency);
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.itemAvailable;
|
|
CREATE TEMPORARY TABLE tmp.itemAvailable
|
|
(INDEX (id))
|
|
ENGINE = MEMORY
|
|
SELECT c.item_id id
|
|
FROM cache.available c
|
|
JOIN vn2008.t_bionic_available a ON c.calc_id = a.calc_id
|
|
WHERE c.available > 0
|
|
GROUP BY c.item_id;
|
|
|
|
DROP TEMPORARY TABLE vn2008.t_bionic_available;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `item_available` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = '' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `item_available`()
|
|
BEGIN
|
|
/**
|
|
* Genera una tabla con los ids de los articulos disponibles.
|
|
*
|
|
* @table tmp.item_available
|
|
**/
|
|
DECLARE v_delivery DATE;
|
|
DECLARE v_address INT;
|
|
DECLARE v_agency INT;
|
|
|
|
SELECT date_send, address_id, agency_id
|
|
INTO v_delivery, v_address, v_agency
|
|
FROM basket;
|
|
|
|
CALL vn2008.bionic_available_ (v_delivery, v_address, v_agency);
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.item_available;
|
|
CREATE TEMPORARY TABLE tmp.item_available
|
|
(INDEX (item_id))
|
|
ENGINE = MEMORY
|
|
SELECT c.item_id
|
|
FROM `cache`.available c
|
|
JOIN vn2008.t_bionic_available a ON c.calc_id = a.calc_id
|
|
WHERE c.available > 0
|
|
GROUP BY c.item_id;
|
|
|
|
DROP TEMPORARY TABLE vn2008.t_bionic_available;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `item_list` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `item_list`(v_warehouse SMALLINT, v_shipping DATE, v_realm INT, v_rate TINYINT)
|
|
BEGIN
|
|
DECLARE v_calc INT;
|
|
|
|
CALL cache.available_refresh (v_calc, TRUE, v_warehouse, v_shipping);
|
|
CALL vn2008.item_last_buy_ (v_warehouse, v_shipping);
|
|
|
|
SELECT a.Id_Article, a.Article, a.Categoria, a.Medida, a.Tallos,
|
|
c.available, a.Color, o.Abreviatura, t.Tipo, a.tipo_id, a.Foto,
|
|
CASE b.caja
|
|
WHEN 0 THEN 1
|
|
WHEN 2 THEN b.packing
|
|
ELSE b.grouping
|
|
END AS grouping,
|
|
CASE v_rate
|
|
WHEN 1 THEN b.Tarifa1
|
|
WHEN 2 THEN b.Tarifa2
|
|
WHEN 3 THEN b.Tarifa3
|
|
ELSE NULL
|
|
END AS price
|
|
FROM cache.available c
|
|
JOIN vn2008.Articles a ON a.Id_Article = c.item_id
|
|
JOIN vn2008.t_item_last_buy l ON l.item_id = c.item_id
|
|
JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id
|
|
JOIN vn2008.reinos r ON t.reino_id = r.id
|
|
JOIN vn2008.Compres b ON b.Id_Compra = l.buy_id
|
|
LEFT JOIN vn2008.Origen o ON a.id_origen = o.id
|
|
WHERE c.calc_id = v_calc
|
|
AND c.available > 0
|
|
AND c.item_id != 90
|
|
AND r.display
|
|
AND (v_realm IS NULL OR v_realm = r.id)
|
|
ORDER BY a.tipo_id, Article, Medida;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `myTicketGet` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `myTicketGet`(vTicket INT)
|
|
BEGIN
|
|
/**
|
|
* Returns a current user ticket header.
|
|
*
|
|
* @param vTicket The ticket identifier
|
|
*/
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.ticket;
|
|
CREATE TEMPORARY TABLE tmp.ticket
|
|
ENGINE = MEMORY
|
|
SELECT id ticketFk FROM myTicket
|
|
WHERE id = vTicket;
|
|
|
|
CALL vn.ticketGetTax (NULL);
|
|
|
|
SELECT t.id, t.landed, t.shipped, t.refFk, ag.description agency,
|
|
a.postalCode, a.city, a.nickname, p.name province,
|
|
v.taxBase taxBase, v.taxBase + v.tax + v.equalizationTax AS total
|
|
FROM tmp.ticketTax v
|
|
JOIN vn.ticket t ON t.id = v.ticketFk
|
|
JOIN vn.address a ON a.id = t.addressFk
|
|
JOIN vn.agencyMode ag ON ag.id = t.agencyModeFk
|
|
JOIN vn.province p ON p.id = a.provinceFk
|
|
WHERE t.id = vTicket;
|
|
|
|
DROP TEMPORARY TABLE
|
|
tmp.ticket,
|
|
tmp.ticketTax;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `myTicketGetRows` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `myTicketGetRows`(vTicket INT)
|
|
BEGIN
|
|
/**
|
|
* Returns a current user ticket lines.
|
|
*
|
|
* @param vTicket The ticket identifier
|
|
* @select The ticket lines
|
|
*/
|
|
SELECT r.itemFk, r.quantity, r.concept, r.price, r.discount,
|
|
o.code origin, i.category, i.size, i.stems, i.inkFk, i.image
|
|
FROM myTicketRow r
|
|
JOIN vn.item i ON i.id = r.itemFk
|
|
LEFT JOIN vn.origin o ON o.id = i.originFk
|
|
WHERE r.ticketFk = vTicket
|
|
ORDER BY r.concept;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `myTicketList` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `myTicketList`(vFrom DATE, vTo DATE)
|
|
BEGIN
|
|
/**
|
|
* Returns the current user list of tickets between two dates reange.
|
|
* Also returns the total price with tax of every ticket.
|
|
*
|
|
* @param vFrom From date, if %NULL current date minus 25 days
|
|
* @param vTo To date, if %NULL current date
|
|
* @select The tickets list
|
|
*/
|
|
SET vFrom = IFNULL(vFrom, DATE_FORMAT(TIMESTAMPADD(DAY, -25, CURDATE()), '%Y-%m-01'));
|
|
SET vTo = IFNULL(vTo, TIMESTAMPADD(YEAR, 1, CURDATE()));
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.ticket;
|
|
CREATE TEMPORARY TABLE tmp.ticket
|
|
(KEY (ticketFk))
|
|
ENGINE = MEMORY
|
|
SELECT t.id ticketFk
|
|
FROM myTicket t
|
|
WHERE landed BETWEEN TIMESTAMP(vFrom) AND TIMESTAMP(vTo, '23:59:59');
|
|
|
|
CALL vn.ticketGetTotal;
|
|
|
|
SELECT v.id, IFNULL(v.landed, v.shipped) landed, v.shipped, v.companyFk,
|
|
a.city, a.nickname, ag.description agency, t.total
|
|
FROM tmp.ticket i
|
|
JOIN vn.ticket v ON v.id = i.ticketFk
|
|
JOIN vn.address a ON a.id = v.addressFk
|
|
JOIN vn.agencyMode ag ON ag.id = agencyModeFk
|
|
JOIN tmp.ticketTotal t ON t.ticketFk = i.ticketFk
|
|
ORDER BY IFNULL(v.landed, v.shipped) DESC, i.ticketFk DESC;
|
|
|
|
DROP TEMPORARY TABLE
|
|
tmp.ticket,
|
|
tmp.ticketTotal,
|
|
tMovementFixed;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `myTicketLogAccess` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `myTicketLogAccess`(vTicket INT)
|
|
BEGIN
|
|
/**
|
|
* Logs an access to a ticket.
|
|
*
|
|
* @param vTicket The ticket identifier
|
|
*/
|
|
INSERT INTO vn.ticketLog
|
|
(originFk, userFk, `action`, description)
|
|
SELECT vTicket, account.userGetId(), 'select', 'Access'
|
|
FROM myTicket t
|
|
WHERE t.id = vTicket;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `orderCheckConfig` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `orderCheckConfig`(vOrder INT)
|
|
proc: BEGIN
|
|
/**
|
|
* Comprueba que la configuración del pedido es correcta.
|
|
*
|
|
* @param vOrder Identificador del pedido
|
|
*/
|
|
DECLARE vDeliveryMethod VARCHAR(255);
|
|
DECLARE vDelivery DATE;
|
|
DECLARE vAgency INT;
|
|
DECLARE vAddress INT;
|
|
|
|
-- Obtiene los datos del pedido
|
|
|
|
SELECT d.code, o.date_send, o.agency_id, o.address_id
|
|
INTO vDeliveryMethod, vDelivery, vAgency, vAddress
|
|
FROM `order` o
|
|
JOIN vn.deliveryMethod d ON d.id = o.delivery_method_id
|
|
WHERE o.id = vOrder;
|
|
|
|
-- Comprueba que se ha seleccionado una dirección
|
|
|
|
IF vDeliveryMethod IN ('AGENCY', 'DELIVERY')
|
|
&& vAddress IS NULL
|
|
THEN
|
|
CALL util.throw ('ORDER_EMPTY_ADDRESS');
|
|
END IF;
|
|
|
|
-- Comprueba que la agencia es correcta
|
|
|
|
IF !vn.AgencyIsAvailable (vAgency, vDelivery, vAddress) THEN
|
|
CALL util.throw ('ORDER_INVALID_AGENCY');
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `orderCheckDate` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `orderCheckDate`(vDate DATE)
|
|
BEGIN
|
|
DECLARE vMaxTime TIME;
|
|
DECLARE vFestive BOOLEAN;
|
|
DECLARE vDenyDay DATE;
|
|
DECLARE vDenySunday BOOLEAN;
|
|
|
|
SELECT COUNT(*) INTO vFestive
|
|
FROM orderCheckFestive
|
|
WHERE TIMESTAMPADD(YEAR, -YEAR(vDate), vDate) = date
|
|
AND acceptOrders = FALSE;
|
|
|
|
IF vDate < CURDATE()
|
|
THEN
|
|
CALL util.throw ('ORDER_DATE_PAST');
|
|
ELSEIF vFestive > 0
|
|
THEN
|
|
CALL util.throw ('ORDER_DATE_HOLIDAY');
|
|
ELSE
|
|
SELECT c.denySunday, c.denyDay, IFNULL(w.maxTime, c.maxTime)
|
|
INTO vDenySunday, vDenyDay, vMaxTime
|
|
FROM orderCheck c
|
|
LEFT JOIN orderCheckWday w
|
|
ON w.weekday = WEEKDAY(CURDATE());
|
|
|
|
IF vDate = CURDATE() AND CURTIME() > vMaxTime
|
|
THEN
|
|
CALL util.throw ('ORDER_DATE_LAST');
|
|
ELSEIF WEEKDAY(vDate) = 6 AND vDenySunday
|
|
THEN
|
|
CALL util.throw ('ORDER_DATE_SUNDAY');
|
|
ELSEIF vDate = vDenyDay
|
|
THEN
|
|
CALL util.throw ('ORDER_DATE_SATURATED');
|
|
END IF;
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `orderConfirm` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `orderConfirm`(vOrder INT)
|
|
BEGIN
|
|
/**
|
|
* Confirms an order, creating each of its tickets on
|
|
* the corresponding date and store.
|
|
*
|
|
* @deprecated Use orderConfirm() instead
|
|
*
|
|
* @param vOrder The order identifier
|
|
*/
|
|
DECLARE vOk BOOL;
|
|
DECLARE vDone BOOL DEFAULT FALSE;
|
|
DECLARE vWarehouse INT;
|
|
DECLARE vShipment DATETIME;
|
|
DECLARE vTicket INT;
|
|
DECLARE vNotes VARCHAR(255);
|
|
DECLARE vItem INT;
|
|
DECLARE vConcept VARCHAR(30);
|
|
DECLARE vAmount INT;
|
|
DECLARE vPrice DECIMAL(10,2);
|
|
DECLARE vSale INT;
|
|
DECLARE vRate INT;
|
|
DECLARE vEmployee INT;
|
|
DECLARE vRowId INT;
|
|
DECLARE vDelivery DATE;
|
|
DECLARE vAddress INT;
|
|
DECLARE vAgency INT;
|
|
DECLARE vIsConfirmed BOOL;
|
|
DECLARE vClientId INT;
|
|
DECLARE vCompanyId INT;
|
|
DECLARE vAgencyModeId INT;
|
|
|
|
DECLARE TICKET_FREE INT DEFAULT 2;
|
|
DECLARE SYSTEM_WORKER INT DEFAULT 20;
|
|
|
|
DECLARE cDates CURSOR FOR
|
|
SELECT t.Fecha_envio, r.warehouse_id
|
|
FROM `order` o
|
|
JOIN order_row r ON r.order_id = o.id
|
|
LEFT JOIN vn2008.travel_tree t ON t.warehouse_id = r.warehouse_id
|
|
WHERE o.id = vOrder AND r.amount != 0
|
|
GROUP BY warehouse_id;
|
|
|
|
DECLARE cRows CURSOR FOR
|
|
SELECT r.id, r.item_id, a.Article, r.amount, r.price, r.rate
|
|
FROM order_row r
|
|
JOIN vn2008.Articles a ON a.Id_Article = r.item_id
|
|
WHERE r.amount != 0
|
|
AND r.warehouse_id = vWarehouse
|
|
AND r.order_id = vOrder
|
|
ORDER BY r.rate DESC;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
|
SET vDone = TRUE;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
ROLLBACK;
|
|
RESIGNAL;
|
|
END;
|
|
|
|
-- Carga los datos del pedido
|
|
|
|
SELECT o.date_send, o.address_id, o.note, a.agency_id,
|
|
o.confirmed, cs.Id_Cliente, o.company_id, o.agency_id
|
|
INTO vDelivery, vAddress, vNotes, vAgency,
|
|
vIsConfirmed, vClientId, vCompanyId, vAgencyModeId
|
|
FROM hedera.`order` o
|
|
JOIN vn2008.Agencias a ON a.Id_Agencia = o.agency_id
|
|
JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = o.address_id
|
|
WHERE id = vOrder;
|
|
|
|
-- Comprueba que el pedido no está confirmado
|
|
|
|
IF vIsConfirmed THEN
|
|
CALL util.throw ('ORDER_ALREADY_CONFIRMED');
|
|
END IF;
|
|
|
|
-- Comprueba que el pedido no está vacío
|
|
|
|
SELECT COUNT(*) > 0 INTO vOk
|
|
FROM order_row WHERE order_id = vOrder AND amount > 0;
|
|
|
|
IF !vOk THEN
|
|
CALL util.throw ('ORDER_EMPTY');
|
|
END IF;
|
|
|
|
-- Carga las fechas de salida de cada almacén
|
|
|
|
CALL vn2008.travel_tree (vDelivery, vAddress, vAgency);
|
|
|
|
-- Trabajador que realiza la acción
|
|
|
|
SELECT Id_Trabajador INTO vEmployee
|
|
FROM vn2008.Trabajadores
|
|
WHERE user_id = account.userGetId();
|
|
|
|
IF vEmployee IS NULL THEN
|
|
SELECT employee_id INTO vEmployee FROM order_config;
|
|
END IF;
|
|
|
|
-- Crea los tickets del pedido
|
|
|
|
START TRANSACTION;
|
|
|
|
OPEN cDates;
|
|
|
|
lDates:
|
|
LOOP
|
|
SET vTicket = NULL;
|
|
SET vDone = FALSE;
|
|
FETCH cDates INTO vShipment, vWarehouse;
|
|
|
|
IF vDone THEN
|
|
LEAVE lDates;
|
|
END IF;
|
|
|
|
-- Busca un ticket existente que coincida con los parametros del nuevo pedido
|
|
|
|
SELECT Id_Ticket INTO vTicket
|
|
FROM vn2008.Tickets t
|
|
LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket
|
|
JOIN `order` o
|
|
ON o.address_id = t.Id_Consigna
|
|
AND vWarehouse = t.warehouse_id
|
|
AND o.agency_id = t.Id_Agencia
|
|
AND t.landing = o.date_send
|
|
AND vShipment = DATE(t.Fecha)
|
|
WHERE o.id = vOrder
|
|
AND t.Factura IS NULL
|
|
AND IFNULL(tls.alertLevel,0) = 0
|
|
AND t.Id_Cliente <> 1118
|
|
LIMIT 1;
|
|
|
|
-- Crea el ticket en el caso de no existir uno adecuado
|
|
|
|
IF vTicket IS NULL
|
|
THEN
|
|
CALL vn.ticketCreate (
|
|
vClientId,
|
|
IFNULL(vShipment, CURDATE()),
|
|
vWarehouse,
|
|
vCompanyId,
|
|
vAddress,
|
|
vAgencyModeId,
|
|
NULL,
|
|
vDelivery,
|
|
vTicket
|
|
);
|
|
ELSE
|
|
INSERT INTO vncontrol.inter
|
|
SET Id_Ticket = vTicket,
|
|
Id_Trabajador = SYSTEM_WORKER,
|
|
state_id = TICKET_FREE;
|
|
END IF;
|
|
|
|
INSERT IGNORE INTO vn2008.order_Tickets
|
|
SET order_id = vOrder,
|
|
Id_Ticket = vTicket;
|
|
|
|
-- Añade las notas
|
|
|
|
IF vNotes IS NOT NULL AND vNotes != ''
|
|
THEN
|
|
INSERT INTO vn2008.ticket_observation (Id_Ticket, observation_type_id, text)
|
|
VALUES (vTicket, 4/*comercial*/, vNotes)
|
|
ON DUPLICATE KEY UPDATE text = CONCAT(VALUES(text),'. ', text);
|
|
END IF;
|
|
|
|
-- Añade los movimientos y sus componentes
|
|
|
|
OPEN cRows;
|
|
|
|
lRows:
|
|
LOOP
|
|
SET vDone = FALSE;
|
|
FETCH cRows INTO vRowId, vItem, vConcept, vAmount, vPrice, vRate;
|
|
|
|
IF vDone THEN
|
|
LEAVE lRows;
|
|
END IF;
|
|
|
|
INSERT INTO vn2008.Movimientos
|
|
SET
|
|
Id_Article = vItem,
|
|
Id_Ticket = vTicket,
|
|
Concepte = vConcept,
|
|
Cantidad = vAmount,
|
|
Preu = vPrice,
|
|
CostFixat = 0,
|
|
PrecioFijado = TRUE;
|
|
|
|
SET vSale = LAST_INSERT_ID();
|
|
|
|
INSERT INTO vn2008.Movimientos_componentes (Id_Movimiento, Id_Componente, Valor)
|
|
SELECT vSale, cm.component_id, cm.price
|
|
FROM order_component cm
|
|
JOIN bi.tarifa_componentes tc ON tc.Id_Componente = cm.component_id
|
|
WHERE cm.order_row_id = vRowId
|
|
GROUP BY vSale, cm.component_id;
|
|
|
|
UPDATE order_row SET Id_Movimiento = vSale
|
|
WHERE id = vRowId;
|
|
|
|
END LOOP;
|
|
|
|
CLOSE cRows;
|
|
|
|
-- Fija el Costfixat
|
|
|
|
UPDATE vn2008.Movimientos m
|
|
JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento
|
|
FROM vn2008.Movimientos_componentes mc
|
|
JOIN bi.tarifa_componentes tc USING(Id_Componente)
|
|
JOIN bi.tarifa_componentes_series tcs on tcs.tarifa_componentes_series_id = tc.tarifa_componentes_series_id AND tcs.base
|
|
JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento
|
|
WHERE m.Id_Ticket = vTicket
|
|
GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento
|
|
SET m.CostFixat = sum_valor;
|
|
END LOOP;
|
|
|
|
CLOSE cDates;
|
|
|
|
DELETE FROM order_basket WHERE order_id = vOrder;
|
|
UPDATE `order` SET confirmed = TRUE, confirm_date = NOW()
|
|
WHERE id = vOrder;
|
|
|
|
COMMIT;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `orderGetTax` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `orderGetTax`(vOrder INT)
|
|
READS SQL DATA
|
|
BEGIN
|
|
/**
|
|
* Calcula el IVA, y el recargo de equivalencia de un pedido
|
|
* desglosados por tipos.
|
|
*
|
|
* @param vOrder El identificador del pedido
|
|
* @treturn tmp.orderTax Bases imponibles, IVA y recargo de equivalencia
|
|
*/
|
|
CALL vn.taxGetRates (NULL);
|
|
|
|
-- Calcula el IVA y el recargo desglosado.
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.orderTax;
|
|
CREATE TEMPORARY TABLE tmp.orderTax
|
|
(INDEX (orderFk))
|
|
ENGINE = MEMORY
|
|
SELECT id orderFk, t.type, t.taxBase,
|
|
CAST(IF(t.hasTax, t.taxBase * x.rate, 0) AS DECIMAL(10,2)) tax,
|
|
CAST(IF(t.hasEqualizationTax, t.taxBase * x.equalizationTax, 0) AS DECIMAL(10,2)) equalizationTax
|
|
FROM (
|
|
SELECT o.id, g.countryFk, g.type
|
|
,SUM(CAST(m.amount * m.price AS DECIMAL(10,2))) taxBase
|
|
,NOT(c.isVies AND p.countryFk <> c.countryFk) hasTax
|
|
,c.isEqualizated != FALSE AS hasEqualizationTax
|
|
FROM `order` o
|
|
JOIN orderRow m ON m.orderFk = o.id
|
|
JOIN vn.item a ON a.id = m.itemFk
|
|
JOIN vn.client c ON c.id = o.customer_id
|
|
JOIN vn.supplier p ON p.id = o.company_id
|
|
JOIN tmp.taxClass g
|
|
ON g.countryFk = p.countryFk AND g.taxClassFk = a.taxClassFk
|
|
WHERE o.id = vOrder
|
|
GROUP BY o.id, g.type
|
|
) t
|
|
JOIN tmp.taxType x
|
|
ON x.countryFk = t.countryFk AND x.type = t.type;
|
|
|
|
DROP TEMPORARY TABLE
|
|
tmp.taxClass,
|
|
tmp.taxType;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `orderNew` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `orderNew`()
|
|
BEGIN
|
|
|
|
DECLARE vCount INT;
|
|
|
|
DECLARE vDeliveryMethod INT;
|
|
|
|
DECLARE vAgency INT;
|
|
|
|
DECLARE vAddress INT;
|
|
|
|
DECLARE vWarehouse INT DEFAULT NULL;
|
|
|
|
|
|
|
|
SELECT COUNT(*) INTO vCount FROM order_view;
|
|
|
|
|
|
|
|
IF vCount >= 3 THEN
|
|
|
|
CALL util.throw ('ORDER_MAX_EXCEEDED');
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
SELECT co.Id_Consigna, co.Id_Agencia, a.Vista
|
|
|
|
INTO vAddress, vAgency, vDeliveryMethod
|
|
|
|
FROM vn2008.Clientes c
|
|
|
|
LEFT JOIN vn2008.Consignatarios co ON co.Id_Consigna = c.default_address
|
|
|
|
JOIN vn2008.Agencias a ON a.Id_Agencia = co.Id_Agencia
|
|
|
|
WHERE c.Id_cliente = user_id();
|
|
|
|
|
|
|
|
INSERT INTO `order`
|
|
|
|
SET
|
|
|
|
date_send = CURDATE(),
|
|
|
|
customer_id = user_id(),
|
|
|
|
delivery_method_id = IFNULL(vDeliveryMethod, DEFAULT(delivery_method_id)),
|
|
|
|
agency_id = IFNULL(vAgency, DEFAULT(agency_id)),
|
|
|
|
address_id = IFNULL(vAddress, DEFAULT(address_id)),
|
|
|
|
wh_id = IFNULL(vWarehouse, DEFAULT(wh_id)),
|
|
|
|
type_id = IFNULL(vAgency, DEFAULT(type_id)),
|
|
is_bionic = FALSE;
|
|
|
|
|
|
|
|
SELECT LAST_INSERT_ID() order_id;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `orderUpdate` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `orderUpdate`(vOrder INT)
|
|
proc: BEGIN
|
|
/**
|
|
* Actualiza la líneas de un pedido.
|
|
*
|
|
* @param vOrder Id del pedido
|
|
*/
|
|
DECLARE vDate DATE;
|
|
DECLARE vAddress INT;
|
|
DECLARE vAgency INT;
|
|
DECLARE vNRows INT;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
ROLLBACK;
|
|
RESIGNAL;
|
|
END;
|
|
|
|
START TRANSACTION;
|
|
|
|
SELECT COUNT(*) INTO vNRows
|
|
FROM order_row WHERE order_id = vOrder;
|
|
|
|
IF vNRows > 0
|
|
THEN
|
|
SELECT date_send, address_id, agency_id
|
|
INTO vDate, vAddress, vAgency
|
|
FROM `order`
|
|
WHERE id = vOrder;
|
|
|
|
CALL vn2008.bionic_from_order (vDate, vAddress, vAgency, vOrder);
|
|
|
|
DELETE c
|
|
FROM order_row r
|
|
JOIN order_component c ON c.order_row_id = r.id
|
|
WHERE r.order_id = vOrder;
|
|
|
|
UPDATE order_row r
|
|
LEFT JOIN tmp.bionic_price l
|
|
ON l.warehouse_id = r.warehouse_id
|
|
AND l.item_id = r.item_id
|
|
AND l.rate = r.rate
|
|
LEFT JOIN tmp.travel_tree t
|
|
ON t.warehouse_id = r.warehouse_id
|
|
SET
|
|
r.price = l.price,
|
|
r.amount = IF(l.item_id IS NOT NULL, r.amount + IF(@m := MOD(r.amount, l.grouping), l.grouping - @m, 0), 0),
|
|
r.shipment = t.Fecha_envio
|
|
WHERE r.order_id = vOrder;
|
|
|
|
INSERT INTO order_component (order_row_id, component_id, price)
|
|
SELECT r.id, c.component_id, c.cost
|
|
FROM order_row r
|
|
JOIN tmp.bionic_component c
|
|
ON c.warehouse_id = r.warehouse_id
|
|
AND c.item_id = r.item_id
|
|
JOIN bi.tarifa_componentes t
|
|
ON t.Id_Componente = c.component_id
|
|
AND (t.tarifa_class IS NULL OR t.tarifa_class = r.rate)
|
|
WHERE r.order_id = vOrder;
|
|
END IF;
|
|
|
|
UPDATE `order` SET date_make = NOW()
|
|
WHERE id = vOrder;
|
|
|
|
COMMIT;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `order_confirm_bionic` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `order_confirm_bionic`(vOrder INT)
|
|
BEGIN
|
|
/**
|
|
* Confirma un pedido, creando cada uno de sus tickets en la fecha
|
|
* y almacén correspondientes.
|
|
*
|
|
* @deprecated Use orderConfirm() instead
|
|
*
|
|
* @param vOrder Identificador del pedido
|
|
*/
|
|
CALL orderConfirm (vOrder);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `order_get_vat` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `order_get_vat`(vOrder INT)
|
|
READS SQL DATA
|
|
BEGIN
|
|
/**
|
|
* Calcula el IVA, y el recargo de equivalencia de un pedido
|
|
* desglosados por tipos.
|
|
*
|
|
* @deprecated Use procedure orderGetTax() instead
|
|
*
|
|
* @param vOrder El identificador del pedido
|
|
* @table t_order_vat Bases imponibles, su IVA y su recargo de equivalencia.
|
|
*/
|
|
CALL orderGetTax (vOrder);
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS t_order_vat;
|
|
CREATE TEMPORARY TABLE t_order_vat
|
|
ENGINE = MEMORY
|
|
SELECT orderFk order_id, type rate, taxBase tax_base,
|
|
tax vat, equalizationTax surcharge
|
|
FROM tmp.orderTax;
|
|
|
|
DROP TEMPORARY TABLE tmp.orderTax;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `surveyVote` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `surveyVote`(vAnswer INT)
|
|
BEGIN
|
|
DECLARE vSurvey INT;
|
|
DECLARE vCount TINYINT;
|
|
DECLARE EXIT HANDLER FOR 1062
|
|
CALL util.throw ('SURVEY_MAX_ONE_VOTE');
|
|
|
|
SELECT survey_id INTO vSurvey
|
|
FROM survey_answer WHERE id = vAnswer;
|
|
|
|
INSERT INTO survey_vote
|
|
VALUES (vSurvey, account.userGetId());
|
|
|
|
UPDATE survey_answer SET votes = votes + 1
|
|
WHERE id = vAnswer;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ticketLog` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ticketLog`(vticket INT)
|
|
BEGIN
|
|
INSERT INTO vn2008.Tickets_dits
|
|
(idaccion_dits, Id_Trabajador, Id_Ticket)
|
|
SELECT 146, 4, id
|
|
FROM ticket_view WHERE id = vTicket;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ticket_list` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8mb4 */ ;
|
|
/*!50003 SET character_set_results = utf8mb4 */ ;
|
|
/*!50003 SET collation_connection = utf8mb4_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ticket_list`()
|
|
BEGIN
|
|
|
|
/**
|
|
|
|
* Devuelve los tickets del cliente del último mes, calculando
|
|
|
|
* el total de cada ticket.
|
|
|
|
*
|
|
|
|
* @select Listado de tickets
|
|
|
|
**/
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS vn2008.ticket_tmp;
|
|
|
|
CREATE TEMPORARY TABLE vn2008.ticket_tmp
|
|
|
|
(KEY (ticket_id))
|
|
|
|
ENGINE = MEMORY
|
|
|
|
SELECT t.id ticket_id FROM ticket_view t
|
|
|
|
WHERE date > TIMESTAMP(DATE_FORMAT(TIMESTAMPADD(DAY, -25, CURDATE()), '%Y-%m-01'));
|
|
|
|
|
|
|
|
CALL vn2008.ticket_total ();
|
|
|
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS t_movement_fixed;
|
|
|
|
CREATE TEMPORARY TABLE t_movement_fixed
|
|
|
|
(KEY (ticket_id))
|
|
|
|
ENGINE = MEMORY
|
|
|
|
SELECT ticket_id, BIT_AND(fixed != FALSE) all_fixed
|
|
|
|
FROM ticket_row_view
|
|
|
|
JOIN vn2008.ticket_tmp USING(ticket_id)
|
|
|
|
GROUP BY ticket_id;
|
|
|
|
|
|
|
|
SELECT i.ticket_id, IFNULL(v.delivery, v.`date`) `date`, city, consignee, type, company_id,
|
|
|
|
IF(all_fixed, t.total, NULL) total,
|
|
|
|
IF(v.date >= CURDATE() AND v.invoice IS NULL AND all_fixed
|
|
|
|
,t.total
|
|
|
|
,NULL
|
|
|
|
) pending
|
|
|
|
FROM vn2008.ticket_tmp i
|
|
|
|
JOIN ticket_view v ON i.ticket_id = v.id
|
|
|
|
JOIN address_view c ON v.address_id = c.id
|
|
|
|
JOIN vn2008.ticket_total t USING(ticket_id)
|
|
|
|
LEFT JOIN t_movement_fixed m USING(ticket_id)
|
|
|
|
ORDER BY IFNULL(v.delivery, v.`date`) DESC, i.ticket_id DESC;
|
|
|
|
|
|
|
|
DROP TEMPORARY TABLE vn2008.ticket_tmp;
|
|
|
|
DROP TEMPORARY TABLE vn2008.ticket_total;
|
|
|
|
DROP TEMPORARY TABLE t_movement_fixed;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `tpvTransactionConfirm` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `tpvTransactionConfirm`(
|
|
vAmount INT
|
|
,vOrder INT
|
|
,vMerchant INT
|
|
,vCurrency INT
|
|
,vResponse INT
|
|
,vErrorCode VARCHAR(10)
|
|
)
|
|
BEGIN
|
|
/**
|
|
* Confirma una transacción previamente iniciada, reescribiendo
|
|
* sus datos por los confirmados por el banco (solo si estos difieren).
|
|
* Genera el recibo y su correspondiente entrada en caja.
|
|
*
|
|
* @param vAmount Cantidad confirmada
|
|
* @param vOrder Identificador de transacción
|
|
* @param vMerchant Identificador de comercio
|
|
* @param vCurrency Identificador de moneda
|
|
* @param vResponse Identificador de respuesta del banco
|
|
* @param vErrorCode Código de error del banco, si lo hubiera
|
|
*/
|
|
DECLARE vReceipt INT;
|
|
DECLARE vStatus VARCHAR(10);
|
|
DECLARE vCustomer INT;
|
|
DECLARE vBank INT;
|
|
DECLARE vCompany INT;
|
|
DECLARE vEmployee INT;
|
|
DECLARE vIsDuplicated BOOLEAN;
|
|
DECLARE vDate DATE;
|
|
DECLARE vConcept VARCHAR(25) DEFAULT 'Cobro Web';
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
ROLLBACK;
|
|
RESIGNAL;
|
|
END;
|
|
|
|
START TRANSACTION;
|
|
|
|
SELECT COUNT(*) > 0 INTO vIsDuplicated
|
|
FROM tpvTransaction
|
|
WHERE id = vOrder AND response IS NOT NULL
|
|
FOR UPDATE;
|
|
|
|
IF vIsDuplicated
|
|
THEN
|
|
CALL util.throw ('TRANSACTION_DUPLICATED');
|
|
END IF;
|
|
|
|
IF vResponse BETWEEN 0 AND 99
|
|
THEN
|
|
SELECT
|
|
t.clientFk
|
|
,m.bankFk
|
|
,m.companyFk
|
|
,c.employeeFk
|
|
,DATE(t.created)
|
|
INTO
|
|
vCustomer
|
|
,vBank
|
|
,vCompany
|
|
,vEmployee
|
|
,vDate
|
|
FROM tpvMerchant m
|
|
JOIN tpvConfig c ON c.id = 1
|
|
LEFT JOIN tpvTransaction t ON t.id = vOrder
|
|
WHERE m.id = vMerchant;
|
|
|
|
INSERT INTO vn2008.Recibos
|
|
SET
|
|
Entregado = vAmount / 100
|
|
,Fechacobro = vDate
|
|
,Id_Trabajador = vEmployee
|
|
,Id_Banco = vBank
|
|
,Id_Cliente = vCustomer
|
|
,empresa_id = vCompany
|
|
,Id_Factura = vConcept
|
|
,conciliado = TRUE;
|
|
|
|
SET vReceipt = LAST_INSERT_ID();
|
|
SET vStatus = 'ok';
|
|
|
|
-- Código redundante
|
|
|
|
DO vn2008.till_entry
|
|
(
|
|
vCustomer
|
|
,vBank
|
|
,vAmount / 100
|
|
,vConcept
|
|
,vDate
|
|
,'A'
|
|
,TRUE
|
|
,vCustomer
|
|
,vCompany
|
|
,vEmployee
|
|
);
|
|
ELSE
|
|
SET vReceipt = NULL;
|
|
SET vStatus = 'ko';
|
|
END IF;
|
|
|
|
UPDATE tpvTransaction
|
|
SET
|
|
merchantFk = vMerchant
|
|
,receiptFk = vReceipt
|
|
,amount = vAmount
|
|
,response = vResponse
|
|
,errorCode = vErrorCode
|
|
,status = vStatus
|
|
WHERE id = vOrder;
|
|
|
|
COMMIT;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `tpvTransactionConfirmAll` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `tpvTransactionConfirmAll`(vDate DATE)
|
|
BEGIN
|
|
/**
|
|
* Confirma todas las transacciones confirmadas por el cliente pero no
|
|
* por el banco para una fecha dada.
|
|
*
|
|
* @param vDate Fecha deseada
|
|
*/
|
|
DECLARE vOrder INT;
|
|
DECLARE vDone BOOLEAN DEFAULT FALSE;
|
|
DECLARE vDateIni DATETIME DEFAULT TIMESTAMP(vDate, '00:00:00');
|
|
DECLARE vDateEnd DATETIME DEFAULT TIMESTAMP(vDate, '23:59:59');
|
|
|
|
DECLARE cTransactions CURSOR FOR
|
|
SELECT id
|
|
FROM tpvTransaction
|
|
WHERE created BETWEEN vDateIni AND vDateEnd
|
|
AND status = 'ok'
|
|
AND response IS NULL;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE;
|
|
|
|
OPEN cTransactions;
|
|
|
|
l: LOOP
|
|
FETCH cTransactions INTO vOrder;
|
|
|
|
IF vDone THEN
|
|
LEAVE l;
|
|
END IF;
|
|
|
|
CALL tpvTransactionConfirmById (vOrder);
|
|
END LOOP l;
|
|
|
|
CLOSE cTransactions;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `tpvTransactionConfirmById` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `tpvTransactionConfirmById`(vOrder INT)
|
|
BEGIN
|
|
/**
|
|
* Confirma manualmente una transacción espedificando su identificador.
|
|
*
|
|
* @param vOrder Identificador de la transacción
|
|
*/
|
|
DECLARE vAmount INT;
|
|
DECLARE vMerchant INT;
|
|
DECLARE vCurrency INT;
|
|
|
|
SELECT amount, merchantFk, currency
|
|
INTO vAmount, vMerchant, vCurrency
|
|
FROM tpvTransaction t
|
|
JOIN tpvMerchant m ON m.id = t.merchantFk
|
|
JOIN tpvConfig c
|
|
WHERE t.id = vOrder;
|
|
|
|
CALL tpvTransactionConfirm (
|
|
vAmount
|
|
,vOrder
|
|
,vMerchant
|
|
,vCurrency
|
|
,0
|
|
,NULL
|
|
);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `tpvTransactionEnd` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `tpvTransactionEnd`(vTransaction INT, vStatus VARCHAR(12))
|
|
BEGIN
|
|
/**
|
|
* Finaliza una transaccción estableciendo su estado a 'ok' o
|
|
* 'ko' en función de si esta se ha realizado correctamente.
|
|
* Este procedimiento debe ser llamado directamente por el cliente
|
|
* nada mas finalizar la transacción y solo tiene validez hasta que
|
|
* llega la notificacion definitiva desde el banco.
|
|
*
|
|
* @param vTransaction El identificador de la transacción
|
|
* @param vStatus El estado, 'ok' o 'ko'
|
|
*/
|
|
IF vStatus IN ('ok', 'ko')
|
|
THEN
|
|
UPDATE myTpvTransaction SET status = vStatus
|
|
WHERE id = vTransaction AND response IS NULL;
|
|
END IF;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `tpvTransactionStart` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `tpvTransactionStart`(vAmount INT, vCompany INT)
|
|
BEGIN
|
|
/**
|
|
* Inicia una nueva transacción con el TPV virtual, generando
|
|
* un identificador de transacción y devolviendo con un SELECT
|
|
* los parámetros que deben enviarse a la URL del servicio web
|
|
* del banco.
|
|
*
|
|
* @param vAmount Cantidad a pagar en céntimos
|
|
* @param vCompany El identificador de la empresa
|
|
*
|
|
* @select Los parámetros que deben pasarse al banco
|
|
*/
|
|
DECLARE vTransaction CHAR(12);
|
|
DECLARE vMerchant INT;
|
|
DECLARE vUrl VARCHAR(255);
|
|
DECLARE vKey VARCHAR(50);
|
|
DECLARE vTestMode BOOLEAN;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
ROLLBACK;
|
|
RESIGNAL;
|
|
END;
|
|
|
|
START TRANSACTION;
|
|
|
|
IF vCompany IS NULL
|
|
THEN
|
|
SELECT companyFk INTO vCompany
|
|
FROM tpvMerchantEnable LIMIT 1;
|
|
END IF;
|
|
|
|
SELECT merchantFk INTO vMerchant
|
|
FROM tpvMerchantEnable WHERE companyFk = vCompany;
|
|
|
|
SELECT testMode INTO vTestMode
|
|
FROM tpvConfig;
|
|
|
|
IF NOT vTestMode
|
|
THEN
|
|
SELECT c.url, m.secretKey INTO vUrl, vKey
|
|
FROM tpvMerchant m
|
|
JOIN tpvConfig c
|
|
WHERE m.id = vMerchant;
|
|
ELSE
|
|
SELECT testUrl, testKey INTO vUrl, vKey
|
|
FROM tpvConfig;
|
|
END IF;
|
|
|
|
INSERT INTO myTpvTransaction
|
|
SET
|
|
merchantFk = vMerchant
|
|
,clientFk = account.userGetId()
|
|
,amount = vAmount;
|
|
|
|
SET vTransaction = LAST_INSERT_ID();
|
|
|
|
SELECT
|
|
vAmount amount
|
|
,vTransaction transactionId
|
|
,vMerchant merchant
|
|
,currency
|
|
,transactionType
|
|
,terminal
|
|
,merchantUrl
|
|
,vUrl url
|
|
,vKey secretKey
|
|
FROM tpvConfig;
|
|
|
|
COMMIT;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `tpvTransactionUndo` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `tpvTransactionUndo`(
|
|
vOrder INT
|
|
)
|
|
BEGIN
|
|
DECLARE vCustomer INT;
|
|
DECLARE vAmount DOUBLE;
|
|
DECLARE vReceipt INT;
|
|
DECLARE vDate DATE;
|
|
DECLARE vBank INT;
|
|
DECLARE vAccount VARCHAR(12);
|
|
DECLARE vSubaccount VARCHAR(12);
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
ROLLBACK;
|
|
RESIGNAL;
|
|
END;
|
|
|
|
START TRANSACTION;
|
|
|
|
SELECT
|
|
t.clientFk
|
|
,t.amount / 100
|
|
,t.receiptFk
|
|
,DATE(t.created)
|
|
,m.bankFk
|
|
INTO
|
|
vCustomer
|
|
,vAmount
|
|
,vReceipt
|
|
,vDate
|
|
,vBank
|
|
FROM tpvTransaction t
|
|
JOIN tpvMerchant m ON m.id = t.merchantFk
|
|
JOIN tpvConfig c
|
|
WHERE t.id = vOrder
|
|
FOR UPDATE;
|
|
|
|
-- Elimina el recibo
|
|
|
|
DELETE FROM vn2008.Recibos
|
|
WHERE Id = vReceipt LIMIT 1;
|
|
|
|
-- Elimina la entrada de cajas
|
|
|
|
DELETE FROM vn2008.Cajas
|
|
WHERE Id_Banco = vBank
|
|
AND DATE(CajaFecha) = vDate
|
|
AND Entrada = vAmount
|
|
LIMIT 1;
|
|
|
|
-- Elimina los asientos contables
|
|
|
|
SELECT Cuenta INTO vSubaccount
|
|
FROM vn2008.Clientes WHERE Id_Cliente = vCustomer;
|
|
|
|
SELECT Cuenta INTO vAccount
|
|
FROM vn2008.Bancos WHERE Id_Banco = vBank;
|
|
|
|
DELETE FROM vn2008.XDiario
|
|
WHERE SUBCTA = vSubaccount
|
|
AND CONTRA = vAccount
|
|
AND DATE(FECHA) = vDate
|
|
AND EUROHABER = vAmount
|
|
LIMIT 1;
|
|
|
|
DELETE FROM vn2008.XDiario
|
|
WHERE CONTRA = vSubaccount
|
|
AND SUBCTA = vAccount
|
|
AND DATE(FECHA) = vDate
|
|
AND EURODEBE = vAmount
|
|
LIMIT 1;
|
|
|
|
-- Actualiza la transaccion
|
|
|
|
UPDATE tpvTransaction
|
|
SET response = NULL, status = 'started'
|
|
WHERE id = vOrder;
|
|
|
|
COMMIT;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `transactionEnd` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `transactionEnd`(vTransaction INT, vStatus VARCHAR(12))
|
|
BEGIN
|
|
/**
|
|
* @deprecated Use procedure tpvTransactionEnd() instead
|
|
*/
|
|
CALL tpvTransactionEnd(vTransaction, vStatus);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `transactionStart` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `transactionStart`(vAmount INT, vCompany INT)
|
|
BEGIN
|
|
/**
|
|
* @deprecated Use procedure tpvtransactionStart() instead
|
|
*/
|
|
CALL tpvtransactionStart(vAmount, vCompany);
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `visitRegister` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `visitRegister`(
|
|
vVisit INT
|
|
,vPlatform VARCHAR(30)
|
|
,vBrowser VARCHAR(30)
|
|
,vVersion VARCHAR(15)
|
|
,vJavascript TINYINT
|
|
,vCookies TINYINT
|
|
,vAgent VARCHAR(255)
|
|
,vIp INT
|
|
,vReferer VARCHAR(255)
|
|
)
|
|
BEGIN
|
|
DECLARE vFirstVisit TINYINT DEFAULT FALSE;
|
|
DECLARE vFirstAgent TINYINT DEFAULT FALSE;
|
|
DECLARE vAgentId INT DEFAULT NULL;
|
|
DECLARE vAccessId INT DEFAULT NULL;
|
|
|
|
-- Registers the visit
|
|
|
|
IF vVisit IS NULL || (SELECT COUNT(*) FROM visit WHERE id = vVisit) = 0
|
|
THEN
|
|
INSERT INTO visit SET id = DEFAULT;
|
|
SET vVisit = LAST_INSERT_ID();
|
|
SET vFirstVisit = TRUE;
|
|
END IF;
|
|
|
|
SELECT id INTO vAgentId FROM visitAgent
|
|
WHERE visit = vVisit
|
|
AND (agent = vAgent OR (vAgent IS NULL AND agent IS NULL))
|
|
LIMIT 1;
|
|
|
|
-- Registers the user agent
|
|
|
|
IF vAgentId IS NULL
|
|
THEN
|
|
INSERT INTO visitAgent SET
|
|
visit = vVisit
|
|
,platform = vPlatform
|
|
,browser = vBrowser
|
|
,version = vVersion
|
|
,javascript = vJavascript
|
|
,cookies = vCookies
|
|
,agent = vAgent;
|
|
|
|
SET vAgentId = LAST_INSERT_ID();
|
|
SET vFirstAgent = TRUE;
|
|
END IF;
|
|
|
|
IF vFirstVisit
|
|
THEN
|
|
UPDATE visit SET firstAgent = vAgentId
|
|
WHERE id = vVisit;
|
|
END IF;
|
|
|
|
-- Registers the user access
|
|
|
|
INSERT INTO visitAccess SET
|
|
agent = vAgentId
|
|
,ip = vIp
|
|
,referer = vReferer;
|
|
|
|
SET vAccessId = LAST_INSERT_ID();
|
|
|
|
IF vFirstAgent
|
|
THEN
|
|
UPDATE visitAgent SET firstAccess = vAccessId
|
|
WHERE id = vAgentId;
|
|
END IF;
|
|
|
|
-- Returns the visit info
|
|
|
|
SELECT vVisit visit, vAccessId access;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `visitUserNew` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `visitUserNew`(
|
|
vAccess INT
|
|
,vSsid VARCHAR(64)
|
|
)
|
|
BEGIN
|
|
DECLARE vUserVisit INT;
|
|
|
|
INSERT INTO visitUser SET
|
|
access = vAccess,
|
|
user = account.userGetId();
|
|
|
|
SET vUserVisit = LAST_INSERT_ID();
|
|
|
|
UPDATE userSession SET userVisit = vUserVisit
|
|
WHERE ssid = vSsid;
|
|
|
|
DELETE FROM userSession
|
|
WHERE lastUpdate < TIMESTAMPADD(HOUR, -1, NOW());
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `__order_confirm_bionic` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `__order_confirm_bionic`(v_order INT)
|
|
BEGIN
|
|
/**
|
|
* Confirma un pedido, creando cada uno de sus tickets en la fecha
|
|
* y almacén correspondientes.
|
|
*
|
|
* @param v_order Identificador del pedido
|
|
**/
|
|
DECLARE v_ok BOOLEAN;
|
|
DECLARE v_done BOOLEAN DEFAULT FALSE;
|
|
DECLARE v_wh INT;
|
|
DECLARE v_shipment DATETIME;
|
|
DECLARE v_ticket INT;
|
|
DECLARE v_note VARCHAR(255);
|
|
DECLARE i_article INT;
|
|
DECLARE v_concepte VARCHAR(30);
|
|
DECLARE i_amount INT;
|
|
DECLARE d_price DOUBLE;
|
|
DECLARE i_movimiento INT;
|
|
DECLARE i_rate INT;
|
|
DECLARE i_worker INT;
|
|
DECLARE i_order_row INT;
|
|
DECLARE d_delivery DATE;
|
|
DECLARE i_address INT;
|
|
DECLARE i_agency INT;
|
|
DECLARE b_confirmed BOOLEAN;
|
|
DECLARE TICKET_FREE INT DEFAULT 2;
|
|
DECLARE SYSTEM_WORKER INT DEFAULT 20;
|
|
DECLARE vClientId INT;
|
|
DECLARE vCompanyId INT;
|
|
DECLARE vAgencyModeId INT;
|
|
|
|
DECLARE cur_tick CURSOR FOR
|
|
SELECT t.Fecha_envio, r.warehouse_id
|
|
FROM `order` o
|
|
JOIN order_row r ON r.order_id = o.id
|
|
LEFT JOIN vn2008.travel_tree t ON t.warehouse_id = r.warehouse_id
|
|
WHERE o.id = v_order AND r.amount != 0
|
|
GROUP BY warehouse_id;
|
|
|
|
DECLARE cur_mov CURSOR FOR
|
|
SELECT r.id, r.item_id, a.Article, r.amount, r.price, r.rate
|
|
FROM order_row r
|
|
JOIN vn2008.Articles a ON a.Id_Article = r.item_id
|
|
WHERE r.amount != 0
|
|
AND r.warehouse_id = v_wh
|
|
AND r.order_id = v_order
|
|
ORDER BY r.rate DESC;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
|
SET v_done = TRUE;
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
ROLLBACK;
|
|
RESIGNAL;
|
|
END;
|
|
|
|
-- Carga los datos del pedido
|
|
|
|
SELECT o.date_send, o.address_id, o.note, a.agency_id, o.confirmed,cs.Id_Cliente,o.company_id,o.agency_id
|
|
INTO d_delivery,i_address, v_note, i_agency, b_confirmed,vClientId , vCompanyId,vAgencyModeId
|
|
FROM hedera.`order` o
|
|
JOIN vn2008.Agencias a ON a.Id_Agencia = o.agency_id
|
|
JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = o.address_id
|
|
WHERE id = v_order;
|
|
|
|
-- Comprueba que el pedido no está confirmado
|
|
|
|
IF b_confirmed THEN
|
|
CALL util.throw ('ORDER_ALREADY_CONFIRMED');
|
|
END IF;
|
|
|
|
-- Comprueba que el pedido no está vacío
|
|
|
|
SELECT COUNT(*) > 0 INTO v_ok
|
|
FROM order_row WHERE order_id = v_order AND amount > 0;
|
|
|
|
IF !v_ok THEN
|
|
CALL util.throw ('ORDER_EMPTY');
|
|
END IF;
|
|
|
|
-- Carga las fechas de salida de cada almacén
|
|
|
|
CALL vn2008.travel_tree (d_delivery, i_address, i_agency);
|
|
|
|
-- Trabajador que realiza la acción
|
|
|
|
SELECT Id_Trabajador INTO i_worker
|
|
FROM vn2008.Trabajadores
|
|
WHERE user_id = account.userGetId();
|
|
|
|
IF i_worker IS NULL THEN
|
|
SELECT employee_id INTO i_worker FROM order_config;
|
|
END IF;
|
|
|
|
-- Crea los tickets del pedido
|
|
|
|
START TRANSACTION;
|
|
|
|
OPEN cur_tick;
|
|
|
|
tick_loop:
|
|
LOOP
|
|
SET v_ticket = NULL;
|
|
SET v_done = FALSE;
|
|
FETCH cur_tick INTO v_shipment, v_wh;
|
|
|
|
IF v_done THEN
|
|
LEAVE tick_loop;
|
|
END IF;
|
|
|
|
-- Busca un ticket existente que coincida con los parametros del nuevo pedido
|
|
SELECT Id_Ticket INTO v_ticket
|
|
FROM vn2008.Tickets t
|
|
LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket
|
|
JOIN `order` o
|
|
ON o.address_id = t.Id_Consigna
|
|
AND v_wh = t.warehouse_id
|
|
AND o.agency_id = t.Id_Agencia
|
|
AND t.landing = o.date_send
|
|
AND v_shipment = DATE(t.Fecha)
|
|
WHERE o.id = v_order
|
|
AND t.Factura IS NULL
|
|
AND IFNULL(tls.alertLevel,0) = 0
|
|
/* AND t.PedidoImpreso = 0
|
|
AND t.Etiquetasemitidas = 0
|
|
AND vn2008.is_bionic(t.Id_Ticket) */
|
|
AND t.Id_Cliente <> 1118
|
|
LIMIT 1;
|
|
|
|
|
|
-- Crea el ticket en el caso de no existir uno adecuado
|
|
|
|
IF v_ticket IS NULL
|
|
THEN
|
|
call vn.ticketCreate( vClientId, IFNULL(v_shipment,CURDATE()), v_wh, vCompanyId, i_address, vAgencyModeId, NULL, d_delivery, v_ticket);
|
|
ELSE
|
|
-- UPDATE vn2008.Tickets SET Localizacion = CONCAT(Localizacion,'B+') WHERE Id_Ticket = v_ticket;
|
|
INSERT INTO vncontrol.inter(Id_Ticket, Id_Trabajador, state_id)
|
|
VALUES(v_ticket, SYSTEM_WORKER, TICKET_FREE);
|
|
|
|
END IF;
|
|
|
|
INSERT IGNORE INTO vn2008.order_Tickets (order_id, Id_Ticket)
|
|
VALUES (v_order, v_ticket);
|
|
|
|
-- Añade las notas
|
|
|
|
IF v_note IS NOT NULL && v_note != ''
|
|
THEN
|
|
INSERT INTO vn2008.ticket_observation (Id_Ticket, observation_type_id, text)
|
|
VALUES (v_ticket, 4/*comercial*/, v_note)
|
|
ON DUPLICATE KEY UPDATE text = CONCAT(VALUES(text),'. ', text);
|
|
END IF;
|
|
|
|
-- Añade los movimientos y sus componentes
|
|
|
|
OPEN cur_mov;
|
|
|
|
mov_loop:
|
|
LOOP
|
|
SET v_done = FALSE;
|
|
FETCH cur_mov INTO i_order_row, i_article, v_concepte, i_amount, d_price, i_rate;
|
|
|
|
IF v_done THEN
|
|
LEAVE mov_loop;
|
|
END IF;
|
|
|
|
INSERT INTO vn2008.Movimientos
|
|
SET
|
|
Id_Article = i_article,
|
|
Id_Ticket = v_ticket,
|
|
Concepte = v_concepte,
|
|
Cantidad = i_amount,
|
|
Preu = d_price,
|
|
CostFixat = 0,
|
|
PrecioFijado = TRUE;
|
|
|
|
SET i_movimiento = LAST_INSERT_ID();
|
|
|
|
INSERT INTO vn2008.Movimientos_componentes (Id_Movimiento, Id_Componente, Valor)
|
|
SELECT i_movimiento, cm.component_id, cm.price
|
|
FROM order_component cm
|
|
JOIN bi.tarifa_componentes tc ON tc.Id_Componente = cm.component_id
|
|
WHERE cm.order_row_id = i_order_row
|
|
GROUP BY i_movimiento, cm.component_id;
|
|
|
|
UPDATE order_row SET Id_Movimiento = i_movimiento
|
|
WHERE id = i_order_row;
|
|
|
|
END LOOP;
|
|
|
|
CLOSE cur_mov;
|
|
-- Fija el Costfixat
|
|
|
|
UPDATE vn2008.Movimientos m
|
|
JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento
|
|
FROM vn2008.Movimientos_componentes mc
|
|
join bi.tarifa_componentes tc using(Id_Componente)
|
|
join bi.tarifa_componentes_series tcs on tcs.tarifa_componentes_series_id = tc.tarifa_componentes_series_id AND tcs.base
|
|
JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento
|
|
where m.Id_Ticket = v_ticket
|
|
GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento
|
|
SET m.CostFixat = sum_valor;
|
|
END LOOP;
|
|
|
|
CLOSE cur_tick;
|
|
|
|
DELETE FROM order_basket WHERE order_id = v_order;
|
|
UPDATE `order` SET confirmed = TRUE, confirm_date = NOW()
|
|
WHERE id = v_order;
|
|
|
|
COMMIT;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
--
|
|
-- Current Database: `bs`
|
|
--
|
|
|
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `bs` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
|
|
|
|
USE `bs`;
|
|
|
|
--
|
|
-- Temporary view structure for view `VentasPorCliente`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `VentasPorCliente`;
|
|
/*!50001 DROP VIEW IF EXISTS `VentasPorCliente`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `VentasPorCliente` AS SELECT
|
|
1 AS `Id_Cliente`,
|
|
1 AS `VentaBasica`,
|
|
1 AS `year`,
|
|
1 AS `month`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `bancos_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `bancos_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `bancos_evolution` (
|
|
`Fecha` date NOT NULL,
|
|
`Id_Banco` int(11) NOT NULL,
|
|
`saldo` double NOT NULL DEFAULT '0',
|
|
`quilla` double NOT NULL DEFAULT '0',
|
|
`deuda` double NOT NULL DEFAULT '0',
|
|
`liquidez` double NOT NULL DEFAULT '0',
|
|
`disponibilidad ajena` double NOT NULL DEFAULT '0',
|
|
`saldo_aux` double NOT NULL DEFAULT '0' COMMENT 'Saldo auxiliar para el calculo de lo dispuesto en las polizas',
|
|
PRIMARY KEY (`Fecha`,`Id_Banco`),
|
|
KEY `fk_banco_evolution_idx` (`Id_Banco`),
|
|
CONSTRAINT `fk_banco_evolution` FOREIGN KEY (`Id_Banco`) REFERENCES `vn2008`.`Bancos` (`Id_Banco`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los saldos bancarios';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `carteras`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `carteras`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `carteras` (
|
|
`CodigoTrabajador` varchar(3) CHARACTER SET latin1 NOT NULL,
|
|
`Año` int(11) NOT NULL,
|
|
`Mes` int(11) NOT NULL,
|
|
`Peso` decimal(10,2) DEFAULT NULL,
|
|
PRIMARY KEY (`CodigoTrabajador`,`Año`,`Mes`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `compradores`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `compradores`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `compradores` (
|
|
`Id_Trabajador` int(11) NOT NULL,
|
|
`año` int(4) NOT NULL,
|
|
`semana` int(2) NOT NULL,
|
|
`importe` decimal(10,2) DEFAULT NULL,
|
|
`comision` decimal(10,2) DEFAULT NULL,
|
|
PRIMARY KEY (`Id_Trabajador`,`año`,`semana`),
|
|
CONSTRAINT `comprador_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `compradores_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `compradores_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `compradores_evolution` (
|
|
`Id_Trabajador` int(11) NOT NULL,
|
|
`fecha` date NOT NULL,
|
|
`importe` decimal(10,2) DEFAULT NULL,
|
|
PRIMARY KEY (`Id_Trabajador`,`fecha`),
|
|
CONSTRAINT `evo_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `experienceIberflora2016`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `experienceIberflora2016`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `experienceIberflora2016` (
|
|
`Id_Cliente` int(11) NOT NULL,
|
|
`isVisitor` tinyint(4) NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`Id_Cliente`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lista de clientes que participan en el estudio sobre la mejora del consumo tras la visita a las instalaciones de Silla';
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `fondo_maniobra`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `fondo_maniobra`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `fondo_maniobra` (
|
|
`fecha` date NOT NULL,
|
|
`fondo` double DEFAULT NULL,
|
|
`clientes_facturas` double DEFAULT NULL,
|
|
`clientes_cobros` double DEFAULT NULL,
|
|
`proveedores_facturas` double DEFAULT NULL,
|
|
`proveedores_pagos` double DEFAULT NULL,
|
|
`fondo_medio` double DEFAULT NULL,
|
|
PRIMARY KEY (`fecha`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `manaCustomer`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `manaCustomer`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `manaCustomer` (
|
|
`Id_Cliente` int(11) NOT NULL,
|
|
`Mana` decimal(10,0) NOT NULL DEFAULT '0',
|
|
`dated` date NOT NULL,
|
|
PRIMARY KEY (`Id_Cliente`,`dated`),
|
|
KEY `manaCustomerIdx1` (`dated`),
|
|
CONSTRAINT `cliente_fk` FOREIGN KEY (`Id_Cliente`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `mana_spellers`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `mana_spellers`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `mana_spellers` (
|
|
`Id_Trabajador` int(11) NOT NULL,
|
|
`size` int(11) NOT NULL DEFAULT '300',
|
|
`used` int(11) NOT NULL DEFAULT '0',
|
|
`prices_modifier_rate` double NOT NULL DEFAULT '0',
|
|
`prices_modifier_activated` tinyint(1) NOT NULL DEFAULT '1',
|
|
PRIMARY KEY (`Id_Trabajador`),
|
|
KEY `fk_mana_spellers_Trabajadores_idx` (`Id_Trabajador`),
|
|
CONSTRAINT `fk_mana_spellers_Trabajadores` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
ALTER DATABASE `bs` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `bs`.`mana_spellers_AFTER_INSERT` AFTER INSERT ON `mana_spellers` FOR EACH ROW
|
|
BEGIN
|
|
|
|
|
|
REPLACE vn2008.Permisos(Id_Grupo, Id_Trabajador)
|
|
VALUES(6, NEW.Id_Trabajador);
|
|
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `bs` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
|
|
--
|
|
-- Table structure for table `nightTask`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `nightTask`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `nightTask` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`started` datetime DEFAULT NULL,
|
|
`finished` datetime DEFAULT NULL,
|
|
`order` int(11) DEFAULT NULL,
|
|
`schema` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
|
|
`procedure` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `bs`.`nightTaskBeforeInsert` BEFORE INSERT ON `nightTask` FOR EACH ROW
|
|
BEGIN
|
|
|
|
IF NOT (NEW.`schema`REGEXP '^[0-9a-zA-Z_]+$') OR NOT (NEW.`procedure`REGEXP '^[0-9a-zA-Z_]+$') THEN
|
|
|
|
CALL util.throw('ONLY_ALPHANUMERICS_ALLOWED');
|
|
|
|
END IF;
|
|
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `bs`.`nightTaskBeforeUpdate` BEFORE UPDATE ON `nightTask` FOR EACH ROW
|
|
BEGIN
|
|
|
|
IF NOT (NEW.`schema`REGEXP '^[0-9a-zA-Z_]+$') OR NOT (NEW.`procedure`REGEXP '^[0-9a-zA-Z_]+$') THEN
|
|
|
|
CALL util.throw('ONLY_ALPHANUMERICS_ALLOWED');
|
|
|
|
END IF;
|
|
|
|
END */;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
--
|
|
-- Temporary view structure for view `v_ventas`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `v_ventas`;
|
|
/*!50001 DROP VIEW IF EXISTS `v_ventas`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `v_ventas` AS SELECT
|
|
1 AS `importe`,
|
|
1 AS `recargo`,
|
|
1 AS `year`,
|
|
1 AS `month`,
|
|
1 AS `week`,
|
|
1 AS `day`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Table structure for table `vendedores`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `vendedores`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `vendedores` (
|
|
`Id_Trabajador` int(11) NOT NULL,
|
|
`año` int(4) NOT NULL,
|
|
`mes` int(2) NOT NULL,
|
|
`importe` decimal(10,2) DEFAULT NULL,
|
|
`comision` decimal(10,2) DEFAULT NULL,
|
|
`comisionArrendada` decimal(10,2) DEFAULT NULL COMMENT 'comision proveniente de clientes que han sido donados. Ver tabla Clientes_cedidos',
|
|
`comisionCedida` decimal(10,2) DEFAULT NULL COMMENT 'comision generada por los clientes que han sido donados. Ver tabla Clientes_cedidos',
|
|
PRIMARY KEY (`Id_Trabajador`,`año`,`mes`),
|
|
CONSTRAINT `trabajador_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `vendedores_evolution`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `vendedores_evolution`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `vendedores_evolution` (
|
|
`Id_Trabajador` int(11) NOT NULL,
|
|
`fecha` date NOT NULL,
|
|
`importe` decimal(10,2) DEFAULT NULL,
|
|
PRIMARY KEY (`Id_Trabajador`,`fecha`),
|
|
CONSTRAINT `evo_vendedor_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ventas`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ventas`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ventas` (
|
|
`Id_Movimiento` int(11) NOT NULL,
|
|
`importe` decimal(10,3) NOT NULL DEFAULT '0.000',
|
|
`recargo` decimal(10,3) NOT NULL DEFAULT '0.000',
|
|
`fecha` date NOT NULL,
|
|
`tipo_id` smallint(5) unsigned NOT NULL,
|
|
`Id_Cliente` int(11) NOT NULL DEFAULT '1',
|
|
`empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442',
|
|
PRIMARY KEY (`Id_Movimiento`),
|
|
KEY `tip_to_tip_idx` (`tipo_id`),
|
|
KEY `clientes_bs_ventas_idx` (`Id_Cliente`),
|
|
KEY `empresa_bs_ventas_idx` (`empresa_id`),
|
|
KEY `fecha_bs` (`fecha`),
|
|
CONSTRAINT `clientes_bs_ventas` FOREIGN KEY (`Id_Cliente`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `empresa_bs_ventas` FOREIGN KEY (`empresa_id`) REFERENCES `vn2008`.`empresa` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `mov_to_mov` FOREIGN KEY (`Id_Movimiento`) REFERENCES `vn2008`.`Movimientos` (`Id_Movimiento`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `tip_to_tip` FOREIGN KEY (`tipo_id`) REFERENCES `vn2008`.`Tipos` (`tipo_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ventasComponentes`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ventasComponentes`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ventasComponentes` (
|
|
`Fecha` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '',
|
|
`Id_Componente` int(11) NOT NULL,
|
|
`Importe` decimal(10,2) DEFAULT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ventas_contables`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ventas_contables`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ventas_contables` (
|
|
`year` int(4) NOT NULL,
|
|
`month` int(2) NOT NULL,
|
|
`venta` decimal(10,2) DEFAULT NULL,
|
|
`grupo` int(1) NOT NULL,
|
|
`reino_id` int(10) unsigned NOT NULL,
|
|
`tipo_id` smallint(5) unsigned NOT NULL,
|
|
`empresa_id` int(4) NOT NULL,
|
|
`gasto` varchar(10) CHARACTER SET latin1 NOT NULL,
|
|
PRIMARY KEY (`year`,`month`,`grupo`,`reino_id`,`tipo_id`,`empresa_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Dumping events for database 'bs'
|
|
--
|
|
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
|
|
/*!50106 DROP EVENT IF EXISTS `nightly_tasks` */;
|
|
DELIMITER ;;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
|
/*!50003 SET character_set_client = utf8 */ ;;
|
|
/*!50003 SET character_set_results = utf8 */ ;;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;;
|
|
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
|
|
/*!50003 SET time_zone = 'SYSTEM' */ ;;
|
|
/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`%`*/ /*!50106 EVENT `nightly_tasks` ON SCHEDULE EVERY 1 DAY STARTS '2017-08-27 01:00:00' ON COMPLETION NOT PRESERVE ENABLE DO CALL bs.nightTaskLauncher() */ ;;
|
|
/*!50003 SET time_zone = @saved_time_zone */ ;;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
|
/*!50106 DROP EVENT IF EXISTS `nightly_tasks2` */;;
|
|
DELIMITER ;;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
|
/*!50003 SET character_set_client = utf8 */ ;;
|
|
/*!50003 SET character_set_results = utf8 */ ;;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;;
|
|
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
|
|
/*!50003 SET time_zone = 'SYSTEM' */ ;;
|
|
/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`%`*/ /*!50106 EVENT `nightly_tasks2` ON SCHEDULE EVERY 1 DAY STARTS '2017-03-24 02:00:00' ON COMPLETION NOT PRESERVE ENABLE DO call bs.nightTaskLauncher() */ ;;
|
|
/*!50003 SET time_zone = @saved_time_zone */ ;;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
|
/*!50106 DROP EVENT IF EXISTS `nightly_tasks3` */;;
|
|
DELIMITER ;;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
|
/*!50003 SET character_set_client = utf8 */ ;;
|
|
/*!50003 SET character_set_results = utf8 */ ;;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;;
|
|
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
|
|
/*!50003 SET time_zone = 'SYSTEM' */ ;;
|
|
/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`%`*/ /*!50106 EVENT `nightly_tasks3` ON SCHEDULE EVERY 1 DAY STARTS '2017-03-24 03:00:00' ON COMPLETION NOT PRESERVE ENABLE DO call bs.nightTaskLauncher() */ ;;
|
|
/*!50003 SET time_zone = @saved_time_zone */ ;;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
|
/*!50106 DROP EVENT IF EXISTS `nightly_tasks4` */;;
|
|
DELIMITER ;;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
|
/*!50003 SET character_set_client = utf8 */ ;;
|
|
/*!50003 SET character_set_results = utf8 */ ;;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;;
|
|
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
|
|
/*!50003 SET time_zone = 'SYSTEM' */ ;;
|
|
/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`%`*/ /*!50106 EVENT `nightly_tasks4` ON SCHEDULE EVERY 1 DAY STARTS '2017-03-24 04:00:00' ON COMPLETION NOT PRESERVE ENABLE DO call bs.nightTaskLauncher() */ ;;
|
|
/*!50003 SET time_zone = @saved_time_zone */ ;;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
|
DELIMITER ;
|
|
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
|
|
|
|
--
|
|
-- Dumping routines for database 'bs'
|
|
--
|
|
/*!50003 DROP PROCEDURE IF EXISTS `analisisComponentes` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `analisisComponentes`()
|
|
BEGIN
|
|
|
|
DECLARE vDateStart DATE DEFAULT '2017-01-01';
|
|
DECLARE vDateEnd DATE DEFAULT '2017-11-30';
|
|
DECLARE vDate DATE;
|
|
|
|
SET vDate = vDateStart;
|
|
|
|
DELETE FROM bs.ventasComponentes;
|
|
|
|
WHILE vDate <= vDateEnd DO
|
|
|
|
INSERT INTO bs.ventasComponentes
|
|
SELECT vDate as Fecha, mc.Id_Componente, cast(sum(m.Cantidad * mc.Valor) AS DECIMAL(10,2)) as Importe
|
|
FROM vn2008.Movimientos_componentes mc
|
|
JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento
|
|
JOIN bs.ventas v ON v.Id_Movimiento = mc.Id_Movimiento
|
|
WHERE v.fecha = vDate
|
|
GROUP BY mc.Id_Componente;
|
|
|
|
SET vDate = TIMESTAMPADD(DAY,1,vDate);
|
|
|
|
IF DAY(vDate) MOD 10 = 0 THEN
|
|
|
|
SELECT vDate;
|
|
|
|
END IF;
|
|
|
|
END WHILE;
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `bancos_evolution_add` */;
|
|
ALTER DATABASE `bs` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `bancos_evolution_add`()
|
|
BEGIN
|
|
/*
|
|
|
|
Inserta en la tabla bancos_evolution los saldos acumulados
|
|
|
|
*/
|
|
|
|
|
|
DECLARE vCurrentDate DATE;
|
|
DECLARE vStartingDate DATE DEFAULT '2015-01-01';
|
|
DECLARE vMaxDate DATE DEFAULT TIMESTAMPADD(MONTH, 2, CURDATE());
|
|
|
|
SELECT max(Fecha)
|
|
INTO vStartingDate
|
|
FROM bs.bancos_evolution
|
|
WHERE Fecha > '2015-01-01';
|
|
|
|
DELETE FROM bs.bancos_evolution
|
|
WHERE Fecha > vStartingDate;
|
|
|
|
SET vCurrentDate = vStartingDate;
|
|
|
|
|
|
|
|
|
|
WHILE vCurrentDate < vMaxDate DO
|
|
|
|
IF day(vCurrentDate) mod 28 = 0 then
|
|
SELECT vCurrentDate;
|
|
end if;
|
|
|
|
|
|
REPLACE bs.bancos_evolution( Fecha
|
|
,Id_Banco
|
|
,saldo)
|
|
|
|
SELECT vCurrentDate
|
|
, Id_Banco
|
|
, sum(saldo)
|
|
|
|
FROM
|
|
(
|
|
|
|
SELECT Id_Banco
|
|
,saldo_aux as saldo
|
|
FROM bs.bancos_evolution
|
|
|
|
WHERE Fecha = TIMESTAMPADD(DAY,-1,vCurrentDate) -- los saldos acumulados del dia anterior
|
|
|
|
UNION ALL
|
|
|
|
SELECT c.Id_Banco, IFNULL(sum(Entrada),0) - ifnull(sum(Salida),0) as saldo
|
|
FROM vn2008.Cajas c
|
|
JOIN vn2008.Bancos b using(Id_Banco) -- saldos de las cajas
|
|
WHERE cash IN (0,3)
|
|
AND Cajafecha = vCurrentDate
|
|
AND (Serie = 'MB' OR cash = 3)
|
|
GROUP BY Id_Banco
|
|
|
|
UNION ALL
|
|
|
|
SELECT id_banco, - importe -- pagos futuros
|
|
FROM vn2008.pago
|
|
WHERE fecha = vCurrentDate
|
|
AND fecha >= CURDATE()
|
|
AND NOT conciliado
|
|
|
|
UNION ALL
|
|
|
|
SELECT Id_Banco, Entregado -- cobros futuros
|
|
FROM vn2008.Recibos
|
|
WHERE Fechacobro = vCurrentDate
|
|
AND Fechacobro > CURDATE()
|
|
|
|
UNION ALL
|
|
|
|
SELECT sp.Id_Banco, Importe -- saldos de la tabla prevision
|
|
FROM vn2008.Saldos_Prevision sp
|
|
JOIN vn2008.Bancos b using(Id_Banco)
|
|
WHERE cash IN (0,3)
|
|
AND Fecha = vCurrentDate
|
|
|
|
|
|
|
|
)sub
|
|
GROUP BY Id_Banco;
|
|
|
|
-- Utilizamos el saldo_auxiliar para calcular lo dispuesto en las polizas
|
|
|
|
UPDATE bs.bancos_evolution be
|
|
SET saldo_aux = saldo;
|
|
|
|
-- Ahora actualizamos la quilla
|
|
UPDATE bs.bancos_evolution be
|
|
LEFT JOIN
|
|
(
|
|
SELECT Id_Banco, - sum(importe) as quilla
|
|
FROM vn2008.Bancos_poliza
|
|
WHERE vCurrentDate between apertura AND IFNULL(cierre, vCurrentDate)
|
|
GROUP BY Id_Banco
|
|
) sub using(Id_Banco)
|
|
SET be.quilla = sub.quilla
|
|
WHERE be.Fecha = vCurrentDate;
|
|
|
|
|
|
SET vCurrentDate = TIMESTAMPADD(DAY,1,vCurrentDate);
|
|
|
|
END WHILE;
|
|
|
|
|
|
-- Deuda
|
|
UPDATE bs.bancos_evolution be
|
|
JOIN vn2008.Bancos using(Id_Banco)
|
|
SET be.deuda = IF(cash = 3, be.saldo_aux, 0)
|
|
, be.saldo = IF(cash = 3, 0, be.saldo_aux)
|
|
WHERE Fecha >= vStartingDate;
|
|
|
|
|
|
-- Liquidez
|
|
update bs.bancos_evolution set liquidez = saldo - quilla + deuda WHERE Fecha >= vStartingDate;
|
|
|
|
-- Disponibilidad
|
|
update bs.bancos_evolution set `disponibilidad ajena` = - quilla + deuda WHERE Fecha >= vStartingDate;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `bs` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `campaignComparative` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `campaignComparative`(vDateFrom DATE, vDateTo DATE)
|
|
BEGIN
|
|
SELECT
|
|
workerName,
|
|
id,
|
|
name,
|
|
CAST(SUM(previousAmmount) AS DECIMAL(10, 0)) AS previousAmmount,
|
|
CAST(SUM(currentAmmount) AS DECIMAL(10, 0)) AS currentAmmount
|
|
FROM (
|
|
(SELECT
|
|
CONCAT(w.firstname, ' ', w.name) AS workerName,
|
|
c.id,
|
|
c.name,
|
|
SUM(v.importe) AS previousAmmount,
|
|
0 currentAmmount
|
|
FROM bs.ventas v
|
|
INNER JOIN vn.`client` c ON v.Id_Cliente = c.id
|
|
INNER JOIN vn.worker w ON c.salesPersonFk = w.id
|
|
WHERE v.fecha BETWEEN DATE_ADD(vDateFrom, INTERVAL - 1 YEAR)
|
|
AND DATE_ADD(vDateTo, INTERVAL - 1 YEAR)
|
|
GROUP BY w.id, v.Id_Cliente)
|
|
UNION ALL
|
|
(SELECT
|
|
CONCAT(w.firstname, ' ', w.name) AS workerName,
|
|
c.id,
|
|
c.name,
|
|
0 AS previousAmmount,
|
|
SUM(s.quantity * s.price) AS currentAmmount
|
|
FROM vn.sale s
|
|
JOIN vn.ticket t ON t.id = s.ticketFk
|
|
JOIN vn.client c ON c.id = t.clientFk
|
|
JOIN vn.worker w ON c.salesPersonFk = w.id
|
|
WHERE t.shipped BETWEEN vDateFrom
|
|
AND vDateTo
|
|
GROUP BY w.id, c.id)
|
|
) comparative
|
|
GROUP BY workerName, id
|
|
HAVING (previousAmmount <> 0 OR currentAmmount <> 0)
|
|
ORDER BY workerName, id;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `carteras_add` */;
|
|
ALTER DATABASE `bs` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `carteras_add`()
|
|
BEGIN
|
|
|
|
DELETE FROM bs.carteras
|
|
WHERE Año >= YEAR(CURDATE()) - 1;
|
|
|
|
INSERT INTO bs.carteras(Año,Mes,CodigoTrabajador,Peso)
|
|
SELECT year as Año, month as Mes, CodigoTrabajador, sum(importe) as Peso
|
|
FROM vn2008.time t
|
|
JOIN bs.ventas v on t.date = v.fecha
|
|
JOIN vn2008.Clientes c on c.Id_Cliente = v.Id_Cliente
|
|
JOIN vn2008.Trabajadores tr on tr.Id_Trabajador = c.Id_Trabajador
|
|
WHERE t.year >= YEAR(CURDATE()) - 1
|
|
GROUP BY CodigoTrabajador, Año, Mes;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `bs` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `comercialesCompleto` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `comercialesCompleto`(IN vWorker INT)
|
|
BEGIN
|
|
create TEMPORARY TABLE workerAndBelow ENGINE=MEMORY
|
|
|
|
SELECT w.id
|
|
FROM vn.worker w
|
|
WHERE w.bossFk=vWorker OR w.id=vWorker;
|
|
|
|
|
|
SELECT
|
|
c.Id_Cliente id_cliente,
|
|
c.calidad,
|
|
c.Cliente cliente,
|
|
cr.recobro * 100 tarifa,
|
|
c.Telefono telefono,
|
|
c.movil,
|
|
c.POBLACION poblacion,
|
|
p.`name` provincia,
|
|
vn2008.red(f.futur) futur,
|
|
c.Credito credito,
|
|
pm.`name` forma_pago,
|
|
vn2008.red(c365 / 12) consumo_medio365,
|
|
vn2008.red(c365) consumo365,
|
|
vn2008.red(CmLy.peso) peso_mes_año_pasado,
|
|
vn2008.red(CmLy.peso * 1.19) objetivo,
|
|
tr.CodigoTrabajador,
|
|
vn2008.red(mes_actual.consumo) consumoMes,
|
|
vn2008.red(IFNULL(mes_actual.consumo, 0) - IFNULL(CmLy.peso * 1.19, 0)) como_lo_llevo,
|
|
DATE(LastTicket) ultimo_ticket,
|
|
dead.muerto,
|
|
g.Greuge,
|
|
cr.recobro
|
|
FROM
|
|
vn2008.Clientes c
|
|
LEFT JOIN
|
|
(SELECT Id_Cliente, Greuge
|
|
FROM bi.Greuge_Evolution
|
|
WHERE Fecha = (SELECT MAX(Fecha) FROM bi.Greuge_Evolution)
|
|
) g ON g.Id_Cliente = c.Id_Cliente
|
|
LEFT JOIN
|
|
vn2008.province p ON p.province_id = c.province_id
|
|
JOIN
|
|
vn2008.pay_met pm ON pm.id = c.pay_met_id
|
|
LEFT JOIN
|
|
vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
|
LEFT JOIN
|
|
bi.claims_ratio cr on cr.Id_Cliente = c.Id_Cliente
|
|
LEFT JOIN
|
|
(SELECT v.Id_Cliente, SUM(importe) c365 -- optimizat de 6s /5.3s/ 4.7s a 0.3/0.4/0.3
|
|
FROM bs.ventas v
|
|
JOIN vn2008.Clientes c USING (Id_Cliente)
|
|
JOIN workerAndBelow w ON w.id = c.Id_Trabajador
|
|
WHERE v.fecha BETWEEN TIMESTAMPADD(YEAR, - 1, CURDATE()) AND CURDATE()
|
|
GROUP BY v.Id_Cliente) c365 ON c365.Id_Cliente = c.Id_Cliente
|
|
LEFT JOIN
|
|
(SELECT
|
|
Id_Cliente, SUM(importe) consumo
|
|
FROM
|
|
bs.ventas v
|
|
INNER JOIN vn2008.Clientes c USING (Id_Cliente)
|
|
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
|
WHERE
|
|
(c.Id_Trabajador = vWorker OR tr.boss = vWorker)
|
|
AND (v.fecha BETWEEN TIMESTAMPADD(DAY, - DAY(CURDATE()) + 1, CURDATE()) AND CURDATE() - 1)
|
|
GROUP BY Id_Cliente) mes_actual ON mes_actual.Id_Cliente = c.Id_Cliente
|
|
LEFT JOIN
|
|
(SELECT
|
|
t.Id_Cliente,
|
|
SUM(m.preu * m.Cantidad * (1 - m.Descuento / 100)) futur
|
|
FROM
|
|
vn2008.Tickets t
|
|
JOIN vn2008.Clientes c ON c.Id_Cliente = t.Id_Cliente
|
|
JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket
|
|
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
|
WHERE
|
|
(c.Id_Trabajador = vWorker OR tr.boss = vWorker)
|
|
AND DATE(Fecha) BETWEEN CURDATE() AND LAST_DAY(CURDATE())
|
|
GROUP BY Id_Cliente) f ON c.Id_Cliente = f.Id_Cliente
|
|
LEFT JOIN
|
|
(SELECT
|
|
MAX(t.Fecha) LastTicket, c.Id_Cliente
|
|
FROM
|
|
vn2008.Tickets t
|
|
JOIN vn2008.Clientes c ON c.Id_cliente = t.Id_Cliente
|
|
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
|
|
|
WHERE
|
|
(c.Id_Trabajador = vWorker OR tr.boss = vWorker)
|
|
GROUP BY t.Id_Cliente) LastTicket ON LastTicket.Id_Cliente = c.Id_Cliente
|
|
LEFT JOIN
|
|
(SELECT
|
|
SUM(importe) peso, c.Id_Cliente
|
|
FROM
|
|
bs.ventas v
|
|
JOIN vn2008.Clientes c ON c.Id_Cliente = v.Id_Cliente
|
|
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
|
WHERE
|
|
MONTH(fecha) = MONTH(CURDATE())
|
|
AND YEAR(fecha) = YEAR(CURDATE()) - 1
|
|
AND (c.Id_Trabajador = vWorker OR tr.boss = vWorker)
|
|
GROUP BY c.Id_Cliente) CmLy ON CmLy.Id_Cliente = c.Id_Cliente
|
|
LEFT JOIN
|
|
(SELECT
|
|
c.Id_Cliente,
|
|
IF(MAX(Fecha) < DATE_FORMAT(TIMESTAMPADD(MONTH, - 1, CURDATE()), '%Y- %m-01'), TRUE, FALSE) muerto
|
|
FROM
|
|
vn2008.Facturas f
|
|
JOIN vn2008.Clientes c ON c.Id_cliente = f.Id_Cliente
|
|
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
|
WHERE
|
|
(c.Id_Trabajador = vWorker OR tr.boss = vWorker)
|
|
GROUP BY Id_Cliente) dead ON dead.Id_Cliente = c.Id_Cliente
|
|
WHERE
|
|
(c.Id_Trabajador = vWorker OR tr.boss = vWorker);
|
|
DROP TEMPORARY TABLE workerAndBelow;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `compradores_add` */;
|
|
ALTER DATABASE `bs` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `compradores_add`(IN intYEAR INT, IN intWEEK_START INT, IN intWEEK_END INT)
|
|
BEGIN
|
|
|
|
REPLACE bs.compradores
|
|
|
|
SELECT tp.Id_Trabajador
|
|
, intYEAR as año
|
|
, tm.week as semana
|
|
, sum(importe) as importe
|
|
, 0 as comision
|
|
|
|
FROM bs.ventas v
|
|
JOIN vn2008.time tm on tm.date = v.fecha
|
|
JOIN vn2008.Tipos tp using(tipo_id)
|
|
WHERE tm.year = intYEAR and tm.week between intWEEK_START and intWEEK_END
|
|
AND reino_id != 6
|
|
GROUP BY tp.Id_Trabajador, tm.week;
|
|
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `bs` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `compradores_evolution_add` */;
|
|
ALTER DATABASE `bs` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `compradores_evolution_add`()
|
|
BEGIN
|
|
/*
|
|
|
|
Inserta en la tabla compradores_evolution las ventas acumuladas en los ultimos 365 dias
|
|
|
|
*/
|
|
|
|
DECLARE datFEC DATE;
|
|
|
|
|
|
SELECT TIMESTAMPADD(DAY,1,MAX(fecha)) INTO datFEC FROM bs.compradores_evolution;
|
|
|
|
WHILE datFEC < CURDATE() DO
|
|
|
|
SELECT datFEC;
|
|
|
|
REPLACE bs.compradores_evolution( Id_Trabajador
|
|
, fecha
|
|
, importe)
|
|
|
|
SELECT Id_Trabajador
|
|
, datFEC as fecha
|
|
, sum(importe) as importe
|
|
|
|
FROM
|
|
(
|
|
|
|
SELECT Id_Trabajador
|
|
, importe
|
|
FROM bs.compradores_evolution
|
|
WHERE fecha = TIMESTAMPADD(DAY,-1,datFEC) -- las ventas acumuladas del dia anterior
|
|
|
|
UNION ALL
|
|
|
|
SELECT Id_Trabajador
|
|
, importe * IF(v.fecha < datFEC,-1,1) -- se restan las ventas del año anterior y se suman las del actual
|
|
FROM bs.ventas v
|
|
JOIN vn2008.Tipos tp using(tipo_id)
|
|
WHERE fecha IN (datFEC, TIMESTAMPADD(DAY,-365,datFEC))
|
|
AND reino_id != 6
|
|
|
|
)sub
|
|
GROUP BY Id_Trabajador;
|
|
|
|
|
|
|
|
|
|
SET datFEC = TIMESTAMPADD(DAY,1,datFEC);
|
|
|
|
END WHILE;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `bs` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `fondo_evolution_add` */;
|
|
ALTER DATABASE `bs` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `fondo_evolution_add`()
|
|
BEGIN
|
|
/*
|
|
|
|
Inserta en la tabla fondo_maniobra los saldos acumulados en los ultimos 365 dias
|
|
|
|
*/
|
|
|
|
DECLARE datFEC DATE DEFAULT '2015-01-01';
|
|
|
|
|
|
SELECT TIMESTAMPADD(DAY,1,MAX(fecha)) INTO datFEC FROM bs.fondo_maniobra;
|
|
|
|
WHILE datFEC < CURDATE() DO
|
|
|
|
-- esto solo sirve para no aburrirse mientras esperamos...
|
|
|
|
IF day(datFEC) mod 28 = 0 then
|
|
SELECT datFEC;
|
|
end if;
|
|
|
|
|
|
REPLACE bs.fondo_maniobra(Fecha, clientes_facturas, clientes_cobros,proveedores_facturas,proveedores_pagos, fondo)
|
|
SELECT datFEC as Fecha, Facturas, Cobros,Recibidas,Pagos, Facturas + Cobros + Recibidas + Pagos
|
|
FROM
|
|
(
|
|
SELECT Sum(Facturas.Importe) AS Facturas
|
|
FROM vn2008.Facturas
|
|
INNER JOIN vn2008.Clientes ON Facturas.Id_Cliente = Clientes.Id_cliente
|
|
WHERE Clientes.`real`
|
|
AND empresa_id <>1381
|
|
AND Fecha between '2011-01-01' and datFEC) fac
|
|
JOIN
|
|
(
|
|
SELECT - Sum(Entregado) AS Cobros
|
|
FROM vn2008.Recibos
|
|
INNER JOIN vn2008.Clientes ON Recibos.Id_Cliente = Clientes.Id_cliente
|
|
WHERE Clientes.`real`
|
|
AND empresa_id <> 1381
|
|
AND Fechacobro Between '2011-01-01' and datFEC) cob
|
|
JOIN
|
|
(
|
|
SELECT - Sum(cantidad) AS Recibidas
|
|
FROM vn2008.recibida
|
|
INNER JOIN vn2008.recibida_vencimiento ON recibida.id = recibida_vencimiento.recibida_id
|
|
WHERE empresa_id <> 1381
|
|
AND recibida.fecha Between '2015-01-01' and datFEC) rec
|
|
JOIN
|
|
(
|
|
SELECT Sum(importe) AS Pagos
|
|
FROM vn2008.pago
|
|
WHERE empresa_id <>1381 AND pago.fecha Between '2015-01-01' and datFEC) pag;
|
|
|
|
|
|
|
|
UPDATE bs.fondo_maniobra
|
|
JOIN
|
|
(SELECT avg(fondo) as media
|
|
FROM bs.fondo_maniobra
|
|
WHERE fecha <= datFEC) sub
|
|
SET fondo_medio = media
|
|
WHERE fecha = datFEC;
|
|
|
|
|
|
SET datFEC = TIMESTAMPADD(DAY,1,datFEC);
|
|
|
|
END WHILE;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `bs` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `manaCustomerFill_kk` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `manaCustomerFill_kk`()
|
|
BEGIN
|
|
|
|
|
|
/* Rellena la tabla caché bs.manaCustomer desde 0
|
|
*
|
|
* Utilizar para reconstruirla en caso de que se corrompa.
|
|
*
|
|
*/
|
|
|
|
DECLARE vFromDated DATE;
|
|
DECLARE vToDated DATETIME DEFAULT '2015-12-31 23:59:59';
|
|
DECLARE isDone BOOLEAN DEFAULT FALSE;
|
|
|
|
DELETE FROM bs.manaCustomer;
|
|
|
|
WHILE NOT isDone DO
|
|
|
|
SELECT TIMESTAMPADD(DAY,1,vToDated), TIMESTAMPADD(MONTH, 1, vToDated)
|
|
INTO vFromDated, vToDated;
|
|
|
|
IF vToDated >= CURDATE() THEN
|
|
|
|
SET vToDated = TIMESTAMPADD(SECOND,-1,CURDATE());
|
|
SET isDone = TRUE;
|
|
|
|
END IF;
|
|
|
|
INSERT INTO bs.manaCustomer(Id_Cliente, Mana)
|
|
SELECT Id_Cliente, newMana
|
|
FROM
|
|
(SELECT cs.Id_Cliente, - sum(Cantidad * Valor) as newMana
|
|
FROM vn2008.Tickets t
|
|
JOIN vn2008.Consignatarios cs using(Id_Consigna)
|
|
JOIN vn2008.Movimientos m using(Id_Ticket)
|
|
JOIN vn2008.Movimientos_componentes mc using(Id_Movimiento)
|
|
WHERE Id_Componente IN (39, 37) -- maná auto y maná
|
|
AND Fecha BETWEEN vFromDated AND vToDated
|
|
GROUP BY cs.Id_Cliente
|
|
) t1
|
|
ON DUPLICATE KEY UPDATE Mana = Mana + newMana;
|
|
|
|
SELECT vFromDated, vToDated;
|
|
|
|
END WHILE;
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `manaCustomerUpdate` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `manaCustomerUpdate`()
|
|
BEGIN
|
|
DECLARE vToDated DATE;
|
|
DECLARE vFromDated DATE;
|
|
DECLARE vForDeleteDated DATE;
|
|
DECLARE vManaId INT DEFAULT 37;
|
|
DECLARE vManaAutoId INT DEFAULT 39;
|
|
DECLARE vManaBankId INT DEFAULT 66;
|
|
DECLARE vManaGreugeTypeId INT DEFAULT 3;
|
|
|
|
SELECT IFNULL(max(dated), '2016-01-01')
|
|
INTO vFromDated
|
|
FROM bs.manaCustomer;
|
|
|
|
WHILE timestampadd(week,1,vFromDated) < CURDATE() DO
|
|
|
|
SELECT
|
|
timestampadd(week,1,vFromDated),
|
|
timestampadd(week,-4,vFromDated)
|
|
INTO
|
|
vToDated,
|
|
vForDeleteDated;
|
|
|
|
DELETE FROM bs.manaCustomer
|
|
WHERE dated <= vForDeleteDated;
|
|
|
|
|
|
INSERT INTO bs.manaCustomer(Id_Cliente, Mana, dated)
|
|
|
|
SELECT
|
|
Id_Cliente,
|
|
cast(sum(mana) as decimal(10,2)) as mana,
|
|
vToDated as dated
|
|
FROM
|
|
|
|
(
|
|
SELECT cs.Id_Cliente, Cantidad * Valor as mana
|
|
FROM vn2008.Tickets t
|
|
JOIN vn2008.Consignatarios cs using(Id_Consigna)
|
|
JOIN vn2008.Movimientos m on m.Id_Ticket = t.Id_Ticket
|
|
JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento
|
|
WHERE Id_Componente IN (vManaAutoId, vManaId)
|
|
AND Fecha > vFromDated
|
|
AND Fecha <= vToDated
|
|
|
|
|
|
UNION ALL
|
|
|
|
SELECT r.Id_Cliente, - Entregado
|
|
FROM vn2008.Recibos r
|
|
WHERE Id_Banco = vManaBankId
|
|
AND Fechacobro > vFromDated
|
|
AND Fechacobro <= vToDated
|
|
|
|
UNION ALL
|
|
|
|
SELECT g.Id_Cliente, g.Importe
|
|
FROM vn2008.Greuges g
|
|
WHERE Greuges_type_id = vManaGreugeTypeId
|
|
AND Fecha > vFromDated
|
|
AND Fecha <= vToDated
|
|
|
|
UNION ALL
|
|
|
|
SELECT Id_Cliente, mana
|
|
FROM bs.manaCustomer
|
|
WHERE dated = vFromDated
|
|
) sub
|
|
|
|
GROUP BY Id_Cliente
|
|
HAVING Id_Cliente;
|
|
|
|
SET vFromDated = vToDated;
|
|
|
|
END WHILE;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `mana_price_modifier_update` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `mana_price_modifier_update`()
|
|
BEGIN
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta)
|
|
VALUES ('bs.mana_price_modifier_update');
|
|
|
|
UPDATE mana_spellers
|
|
JOIN
|
|
(SELECT Id_Trabajador, floor(sum(importe)/12) as pesoCarteraMensual
|
|
FROM bs.vendedores v
|
|
WHERE año * 100 + mes >= (year(curdate()) -1) * 100 + month(curdate())
|
|
GROUP BY Id_Trabajador
|
|
) ultimo_año_de_ventas using(Id_Trabajador)
|
|
SET prices_modifier_rate = GREATEST(-0.05,LEAST(0.05,round(- used/pesoCarteraMensual,3))) ;
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `nightly_tasks` */;
|
|
ALTER DATABASE `bs` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `nightly_tasks`()
|
|
BEGIN
|
|
|
|
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN
|
|
INSERT INTO vn2008.mail SET `to` = 'informatica@verdnatura.es', subject = 'bs.nightly_tasks', `text` = CONCAT('ERROR ', @errno, ' (', @sqlstate, '): ', @text);
|
|
INSERT INTO vn2008.mail SET `to` = 'pako@verdnatura.es', subject = 'bs.nightly_tasks', `text` = CONCAT('ERROR ', @errno, ' (', @sqlstate, '): ', @text);
|
|
END;
|
|
|
|
insert into vn2008.daily_task_log(consulta) VALUES('arranca el event bs.nightly_tasks');
|
|
|
|
call bancos_evolution_add;
|
|
|
|
call fondo_evolution_add;
|
|
|
|
call ventas_add(timestampadd(month,-1,curdate()),curdate());
|
|
|
|
call ventas_contables_add(YEAR(TIMESTAMPADD(MONTH,-1,CURDATE())), MONTH(TIMESTAMPADD(MONTH,-1,CURDATE())));
|
|
|
|
call bs.vendedores_add(year(curdate()), month(curdate()));
|
|
|
|
call bs.vendedores_add(year(timestampadd(month,-1,curdate()))
|
|
, month(timestampadd(month,-1,curdate()))
|
|
);
|
|
|
|
call carteras_add;
|
|
|
|
call vn2008.mana_inventory_requery;
|
|
|
|
call bs.mana_price_modifier_update;
|
|
|
|
call bs.manaCustomerUpdate;
|
|
|
|
insert into vn2008.daily_task_log(consulta) VALUES('finalitza el event bs.nightly_tasks');
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `bs` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `nightTaskLauncher` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `nightTaskLauncher`()
|
|
BEGIN
|
|
|
|
DECLARE done BOOL DEFAULT FALSE;
|
|
DECLARE vSchema VARCHAR(255);
|
|
DECLARE vProcedure VARCHAR(255);
|
|
DECLARE vId INT;
|
|
|
|
DECLARE rs CURSOR FOR
|
|
SELECT id,`schema`, `procedure`
|
|
FROM bs.nightTask
|
|
WHERE IFNULL(finished,0) <= CURDATE()
|
|
ORDER BY `order`;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
|
|
|
OPEN rs;
|
|
|
|
FETCH rs INTO vId, vSchema, vProcedure;
|
|
|
|
WHILE NOT done DO
|
|
|
|
SELECT vId, vSchema, vProcedure;
|
|
|
|
UPDATE bs.nightTask
|
|
SET started = now()
|
|
WHERE id = vId;
|
|
|
|
CALL util.exec (sql_printf('CALL %s.%s',vSchema, vProcedure));
|
|
|
|
UPDATE bs.nightTask
|
|
SET finished = now()
|
|
WHERE id = vId;
|
|
|
|
FETCH rs INTO vId, vSchema, vProcedure;
|
|
|
|
END WHILE;
|
|
|
|
CLOSE rs;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `nocturnEvent_Tickets_Bionizar` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `nocturnEvent_Tickets_Bionizar`()
|
|
BEGIN
|
|
|
|
DECLARE MyDate DATE;
|
|
/*
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
|
|
GET DIAGNOSTICS CONDITION 2 @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT;
|
|
SELECT CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto'));
|
|
INSERT INTO vn2008.mail (`to`,`subject`,`text`) VALUES ('jgallego@verdnatura.es', 'nocturnEvent_Tickets_Bionizar' ,CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto')));
|
|
INSERT INTO vn2008.mail (`to`,`subject`,`text`) VALUES ('pako@verdnatura.es', 'nocturnEvent_Tickets_Bionizar' ,CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto')));
|
|
|
|
END;
|
|
*/
|
|
|
|
|
|
SET MyDate = timestampadd(week,-1,curdate());
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('Comença la rebionització de tickets ');
|
|
|
|
WHILE MyDate < CURDATE() DO
|
|
|
|
CALL `vn2008`.`bionic_tickets_range_bionizar`(MyDate, MyDate);
|
|
|
|
SET MyDate = timestampadd(DAY,1,MyDate);
|
|
|
|
SELECT MyDate;
|
|
|
|
END WHILE;
|
|
|
|
INSERT INTO vn2008.daily_task_log(consulta) VALUES('finalitza la rebionització de tickets ');
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `vendedores_add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `vendedores_add`(IN intYEAR INT, IN intMONTH INT)
|
|
BEGIN
|
|
|
|
REPLACE vendedores
|
|
|
|
SELECT c.Id_Trabajador
|
|
, intYEAR
|
|
, intMONTH
|
|
, sum(importe) as importe
|
|
, sum(importe) * 0.029 as comision
|
|
, 0 as comisionCedida
|
|
, 0 as comisionArrendada
|
|
|
|
FROM ventas v
|
|
JOIN vn2008.Clientes c on v.Id_Cliente = c.Id_Cliente
|
|
JOIN vn2008.time on time.date = v.fecha
|
|
WHERE time.year = intYEAR and time.month = intMONTH
|
|
AND c.Id_Trabajador is not null
|
|
GROUP BY c.Id_Trabajador;
|
|
|
|
-- Ventas cedidas
|
|
|
|
UPDATE vendedores
|
|
JOIN
|
|
(
|
|
SELECT cc.Id_Trabajador_old as Id_Trabajador
|
|
, sum(importe) * 0.029 * comision_old as cedido
|
|
|
|
FROM ventas v
|
|
JOIN vn2008.Clientes c on v.Id_Cliente = c.Id_Cliente
|
|
JOIN vn2008.Clientes_cedidos cc on cc.Id_Cliente = c.Id_Cliente
|
|
JOIN vn2008.time on time.date = v.fecha
|
|
WHERE time.year = intYEAR and time.month = intMONTH
|
|
AND c.Id_Trabajador is not null
|
|
GROUP BY cc.Id_Trabajador_old
|
|
) sub using(Id_Trabajador)
|
|
SET comisionCedida = cedido, comision = comision - cedido
|
|
WHERE año = intYEAR and mes = intMONTH;
|
|
|
|
-- Ventas arrendadas
|
|
|
|
UPDATE vendedores
|
|
JOIN
|
|
(
|
|
SELECT cc.Id_Trabajador_new as Id_Trabajador
|
|
, sum(importe) * 0.029 * comision_new as arrendada
|
|
|
|
FROM ventas v
|
|
JOIN vn2008.Clientes c on v.Id_Cliente = c.Id_Cliente
|
|
JOIN vn2008.Clientes_cedidos cc on cc.Id_Cliente = c.Id_Cliente AND v.fecha between datSTART and datEND
|
|
JOIN vn2008.time on time.date = v.fecha
|
|
WHERE time.year = intYEAR and time.month = intMONTH
|
|
AND c.Id_Trabajador is not null
|
|
GROUP BY cc.Id_Trabajador_new
|
|
) sub using(Id_Trabajador)
|
|
SET comisionArrendada = arrendada, comision = comision - arrendada
|
|
WHERE año = intYEAR and mes = intMONTH;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `vendedores_add_launcher` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `vendedores_add_launcher`()
|
|
BEGIN
|
|
|
|
call bs.vendedores_add(year(curdate()), month(curdate()));
|
|
call bs.vendedores_add(year(timestampadd(month,-1,curdate())), month(timestampadd(month,-1,curdate())));
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `vendedores_evolution_add` */;
|
|
ALTER DATABASE `bs` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `vendedores_evolution_add`()
|
|
BEGIN
|
|
/*
|
|
|
|
Inserta en la tabla compradores_evolution las ventas acumuladas en los ultimos 365 dias
|
|
|
|
*/
|
|
|
|
DECLARE datFEC DATE;
|
|
|
|
|
|
SELECT TIMESTAMPADD(DAY,1,MAX(fecha)) INTO datFEC FROM bs.vendedores_evolution;
|
|
|
|
WHILE datFEC < CURDATE() DO
|
|
|
|
SELECT datFEC;
|
|
|
|
REPLACE bs.vendedores_evolution( Id_Trabajador
|
|
, fecha
|
|
, importe)
|
|
|
|
SELECT Id_Trabajador
|
|
, datFEC as fecha
|
|
, sum(importe) as importe
|
|
|
|
FROM
|
|
(
|
|
|
|
SELECT Id_Trabajador
|
|
, importe
|
|
FROM bs.vendedores_evolution
|
|
WHERE fecha = TIMESTAMPADD(DAY,-1,datFEC) -- las ventas acumuladas del dia anterior
|
|
|
|
UNION ALL
|
|
|
|
SELECT c.Id_Trabajador
|
|
, importe * IF(v.fecha < datFEC,-1,1) -- se restan las ventas del año anterior y se suman las del actual
|
|
FROM bs.ventas v
|
|
JOIN vn2008.Movimientos m using(Id_Movimiento)
|
|
JOIN vn2008.Tickets t using(Id_Ticket)
|
|
JOIN vn2008.Consignatarios cs using(Id_Consigna)
|
|
JOIN vn2008.Clientes c on cs.Id_Cliente = c.Id_Cliente
|
|
JOIN vn2008.Tipos using(tipo_id)
|
|
WHERE v.fecha IN (datFEC, TIMESTAMPADD(DAY,-365,datFEC))
|
|
AND c.Id_Trabajador is not null
|
|
AND (Id_Article = 98 or Id_Article = 95 or reino_id != 6)
|
|
GROUP BY c.Id_Trabajador
|
|
|
|
|
|
)sub
|
|
GROUP BY Id_Trabajador;
|
|
|
|
|
|
|
|
|
|
SET datFEC = TIMESTAMPADD(DAY,1,datFEC);
|
|
|
|
END WHILE;
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `bs` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ventas_add` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ventas_add`(IN datSTART DATETIME, IN datEND DATETIME)
|
|
BEGIN
|
|
|
|
|
|
DECLARE vStartingPeriod INT;
|
|
DECLARE vStartingDate DATETIME;
|
|
DECLARE vEndingDate DATETIME;
|
|
DECLARE TIPO_PATRIMONIAL INT DEFAULT 188;
|
|
|
|
SET datEND = vn2008.dayend(datEND);
|
|
SET vStartingDate = GREATEST('2015-10-01',datSTART);
|
|
SET vEndingDate = vn2008.dayend(vStartingDate);
|
|
|
|
DELETE FROM ventas
|
|
WHERE fecha between vStartingDate and datEND;
|
|
|
|
WHILE vEndingDate <= datEND DO
|
|
|
|
|
|
-- Ventes bioniques
|
|
SELECT vStartingDate,vEndingDate, datEND;
|
|
|
|
REPLACE ventas(Id_Movimiento, importe, recargo, fecha, tipo_id, Id_Cliente, empresa_id)
|
|
SELECT Id_Movimiento
|
|
, sum( IF(base, Cantidad * Valor, 0) ) as importe
|
|
, sum( IF(base, 0, Cantidad * Valor) ) as recargo
|
|
, vStartingDate
|
|
, a.tipo_id
|
|
, cs.Id_Cliente
|
|
, t.empresa_id
|
|
FROM vn2008.Movimientos_componentes mc
|
|
JOIN bi.tarifa_componentes tc using(Id_Componente)
|
|
JOIN bi.tarifa_componentes_series tcs using(tarifa_componentes_series_id)
|
|
JOIN vn2008.Movimientos m using(Id_Movimiento)
|
|
JOIN vn2008.Articles a using(Id_Article)
|
|
JOIN vn2008.Tipos tp using(tipo_id)
|
|
JOIN vn2008.reinos r on r.id = tp.reino_id
|
|
JOIN vn2008.Tickets t using(Id_Ticket)
|
|
JOIN vn2008.Consignatarios cs using(Id_Consigna)
|
|
JOIN vn2008.Clientes c on c.Id_Cliente = cs.Id_Cliente
|
|
JOIN vn2008.empresa e on e.id = empresa_id
|
|
WHERE t.Fecha between vStartingDate and vEndingDate
|
|
AND datEND >= '2015-10-01'
|
|
AND (
|
|
c.`Real` != 0
|
|
OR c.Razonsocial = 'MIRIAM FERRER TORIBIO'
|
|
OR c.Razonsocial = 'VERDNATURA COMPLEMENTOS'
|
|
)
|
|
AND Cantidad <> 0
|
|
AND a.tipo_id != TIPO_PATRIMONIAL
|
|
AND c.Id_Trabajador IS NOT NULL
|
|
AND m.Descuento <> 100
|
|
AND (m.Id_Article = 98 or m.Id_Article = 95 or r.mercancia != 0)
|
|
GROUP BY mc.Id_Movimiento
|
|
HAVING IFNULL(importe,0) <> 0 OR IFNULL(recargo,0) <> 0;
|
|
|
|
/*
|
|
UPDATE vn2008.Movimientos m
|
|
JOIN bs.ventas v ON v.Id_Movimiento = m.Id_Movimiento
|
|
SET m.Costfixat = IFNULL(round(v.importe/m.Cantidad,2),0)
|
|
WHERE v.fecha between vStartingDate and vEndingDate;
|
|
*/
|
|
|
|
SET vStartingDate = TIMESTAMPADD(DAY,1, vStartingDate);
|
|
SET vEndingDate = vn2008.dayend(vStartingDate);
|
|
|
|
|
|
END WHILE;
|
|
|
|
|
|
|
|
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ventas_add_launcher` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ventas_add_launcher`()
|
|
BEGIN
|
|
|
|
call bs.ventas_add(timestampadd(week,-1,curdate()),curdate());
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ventas_contables_add` */;
|
|
ALTER DATABASE `bs` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ventas_contables_add`(IN vYear INT, IN vMonth INT)
|
|
BEGIN
|
|
/**
|
|
* Reemplaza las ventas contables. Es el origen de datos para el balance de Entradas
|
|
*
|
|
* @param vYear Año a reemplazar
|
|
* @param vMonth Mes a reemplazar
|
|
*
|
|
*
|
|
**/
|
|
DECLARE TIPO_PATRIMONIAL INT DEFAULT 188;
|
|
|
|
DELETE FROM bs.ventas_contables
|
|
WHERE year = vYear
|
|
AND month = vMonth;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
|
|
|
|
CREATE TEMPORARY TABLE tmp.ticket_list
|
|
(PRIMARY KEY (Id_Ticket))
|
|
SELECT Id_Ticket
|
|
FROM vn2008.Tickets t
|
|
JOIN vn2008.Facturas f ON f.Id_Factura = t.Factura
|
|
WHERE year(f.Fecha) = vYear
|
|
AND month(f.Fecha) = vMonth;
|
|
|
|
|
|
INSERT INTO bs.ventas_contables(year
|
|
, month
|
|
, venta
|
|
, grupo
|
|
, reino_id
|
|
, tipo_id
|
|
, empresa_id
|
|
, gasto)
|
|
|
|
SELECT vYear
|
|
, vMonth
|
|
, round(sum(Cantidad * Preu * (100 - m.Descuento)/100))
|
|
, if(
|
|
e.empresa_grupo = e2.empresa_grupo
|
|
,1
|
|
,if(e2.empresa_grupo,2,0)
|
|
) as grupo
|
|
, tp.reino_id
|
|
, a.tipo_id
|
|
, t.empresa_id
|
|
, 7000000000
|
|
+ if(e.empresa_grupo = e2.empresa_grupo
|
|
,1
|
|
,if(e2.empresa_grupo,2,0)
|
|
) * 1000000
|
|
+ IF(tp.Id_Trabajador = 24 , 7,tp.reino_id) * 10000 as Gasto
|
|
FROM vn2008.Movimientos m
|
|
JOIN vn2008.Tickets t on t.Id_Ticket = m.Id_Ticket
|
|
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna
|
|
JOIN vn2008.Clientes c on c.Id_Cliente = cs.Id_Cliente
|
|
JOIN tmp.ticket_list tt on tt.Id_Ticket = t.Id_Ticket
|
|
JOIN vn2008.Articles a on m.Id_Article = a.Id_Article
|
|
JOIN vn2008.empresa e on e.id = t.empresa_id
|
|
LEFT JOIN vn2008.empresa e2 on e2.Id_Cliente = c.Id_Cliente
|
|
JOIN vn2008.Tipos tp on tp.tipo_id = a.tipo_id
|
|
WHERE Cantidad <> 0
|
|
AND Preu <> 0
|
|
AND m.Descuento <> 100
|
|
AND a.tipo_id != TIPO_PATRIMONIAL
|
|
GROUP BY grupo, reino_id, tipo_id, empresa_id, Gasto;
|
|
|
|
|
|
DROP TEMPORARY TABLE tmp.ticket_list;
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
ALTER DATABASE `bs` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ventas_contables_add_launcher` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ventas_contables_add_launcher`()
|
|
BEGIN
|
|
|
|
call bs.ventas_contables_add(YEAR(TIMESTAMPADD(MONTH,-1,CURDATE())), MONTH(TIMESTAMPADD(MONTH,-1,CURDATE())));
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `ventas_contables_por_cliente` */;
|
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
/*!50003 SET character_set_client = utf8 */ ;
|
|
/*!50003 SET character_set_results = utf8 */ ;
|
|
/*!50003 SET collation_connection = utf8_general_ci */ ;
|
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
|
DELIMITER ;;
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `ventas_contables_por_cliente`(IN vYear INT, IN vMonth INT)
|
|
BEGIN
|
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
|
|
|
|
CREATE TEMPORARY TABLE tmp.ticket_list
|
|
(PRIMARY KEY (Id_Ticket))
|
|
SELECT Id_Ticket
|
|
FROM vn2008.Tickets t
|
|
JOIN vn2008.Facturas f ON f.Id_Factura = t.Factura
|
|
WHERE year(f.Fecha) = vYear
|
|
AND month(f.Fecha) = vMonth;
|
|
|
|
|
|
|
|
SELECT vYear Año
|
|
, vMonth Mes
|
|
, t.Id_Cliente
|
|
, round(sum(Cantidad * Preu * (100 - m.Descuento)/100)) Venta
|
|
, if(
|
|
e.empresa_grupo = e2.empresa_grupo
|
|
,1
|
|
,if(e2.empresa_grupo,2,0)
|
|
) as grupo
|
|
, t.empresa_id empresa
|
|
FROM vn2008.Movimientos m
|
|
JOIN vn2008.Tickets t on t.Id_Ticket = m.Id_Ticket
|
|
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna
|
|
JOIN vn2008.Clientes c on c.Id_Cliente = cs.Id_Cliente
|
|
JOIN tmp.ticket_list tt on tt.Id_Ticket = t.Id_Ticket
|
|
JOIN vn2008.Articles a on m.Id_Article = a.Id_Article
|
|
JOIN vn2008.empresa e on e.id = t.empresa_id
|
|
LEFT JOIN vn2008.empresa e2 on e2.Id_Cliente = c.Id_Cliente
|
|
JOIN vn2008.Tipos tp on tp.tipo_id = a.tipo_id
|
|
WHERE Cantidad <> 0
|
|
AND Preu <> 0
|
|
AND m.Descuento <> 100
|
|
AND a.tipo_id != 188
|
|
GROUP BY t.Id_Cliente, grupo,t.empresa_id;
|
|
|
|
END ;;
|
|
DELIMITER ;
|
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Dump completed on 2017-12-27 7:52:59
|